MICROPROCESSDORES E MICROCONTROLDORES PROV 1 - Solução da Versão 1 (o final são apresentadas as soluções da questão 4 das versões 2 e 3) 1. Na comparação entre as arquiteturas CISC e RISC, faça comentários sobre os seguintes aspectos: número de instruções, uso de registradores, uso de memória e uso de micro-códigos. Valor: 1,5 Característica Número de instruções Registradores Memória Micro-códigos CISC RISC CISC tem número muito maior de instruções, comparado com a RISC Número reduzido de Uso preferencial de registradores registradores Muitas instruções com acesso à Uso reduzido de memória memória Uso de micro-códigos gravados Não usa micro-códigoprocessador. s instruções são gravados no no processador. Necessidade de interpretação das instruções semelhantes aos micro-códigos e são executadas diretamente no hardware 2. Diferencie ciclo de busca, ciclo de máquina, ciclo de execução e ciclo de instrução no funcionamento do microprocessador 8085. Valor: 1,5 O ciclo de clock correspondee ao período do oscilador. Os 3 primeiros ciclos de clock, na execução de uma instrução, corresponde ao ciclo de busca, onde ocorre a busca da instrução na memória e a decodificação da mesma no registrador de instrução. pós a decodificação da instrução começa o ciclo denominado de ciclo de execução, que pode durar 1 ou mais ciclos de clock. Com exceção do primeiro ciclo, que dura 4 ciclos de clock, os demais ciclos de execução de uma instrução tem 3 ciclos de clock. Esses ciclos são denominados de ciclo de máquina. No início de cada ciclo de máquina é feita uma busca na memória para buscar um código de operação ou um operando. O ciclo completo de execução de uma instrução é denominado de ciclo de instrução. 3. Compare o formato das instruções do microprocessador 8085 e do microcontrolador 8051. Valor: 1,5 tabela a seguir sintetiza as semelhanças e diferenças entre os formatos das instruções do microprocessador 8085 e do microcontrolador 8051. mbos tem instruções de 1, 2 e 3 bytes.
8085 8051 Instruções de 1 byte Byte 1 (opcode) Byte 1 (opcode) Instruções de 2 bytes Byte 1 (opcode) + Byte 2 (operando) Instruções de 3 bytes Byte 1 (opcode) + Bytes 2 e 3 (endereço de 16 bits) Byte 1 (opcode) + Bytes 2 (operando) + Byte 3 (operando) 5 bits (opcode) + 3 bits(registrador) Byte 1 (opcode) + Byte 2 (operando) 5 bits (opcode) + 11 bits (end. de 11 bits) Byte 1 (opcode) + Bytes 2 e 3 (endereço de 16 bits) Byte 1 (opcode) + Bytes 2 (operando) + Byte 3 (operando) 4. instrução CMP B do microprocessador 8085 faz a comparação entre o conteúdo do acumulador e o 2 B = 93H 1. Quais os valores das flags de Zero e de Carry após a Z = 0 e CY = 1 2. Quais os valores das flags de Sinal e uxiliar de Carry, S = 0; C = 0 3. Qual o valor final e? = 08H Linha 3: CMP B --> - B ==> Como < B, então, Z = 0 e CY = 1 (O valor de não é alterado) Linha 4: Como Z = 0, então o processamento vai para a linha 5 (linha seguinte) Linha 5: Como CY = 1, então o processamento vai para a linha 6 Linha 6: = + B = 75H + 93H 1 1 1 1 1 1 1 93H 1 0 0 1 0 0 1 1 1 08H 1 0 0 0 0 1 0 0 0 5. flag de overflow indica se um número pode ou não ser representado como número sinalizado, onde os 7 primeiros bits são usados para representar o valor do número e o último bit é usado para representar o sinal do número (positivo ou negativo). Determine a flag de overflow do microcontrolador 8051, após as operações dadas a seguir. Justifique o resultado. Valor: 1,5 Operações: 5H + 73H e 7FH + 51H
dição: 5H + 73H : Procedimento 1: 5H = 1010 0101B: número negativo (quando usando número sinalizado) 73H = 0111 0011B: número positivo (quando usando número sinalizado) Como se trata de um número negativo e outro positivo, a flag de overflow é zero (OV = 0) Procedimento 2: CY dição Hexa bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 1 1 1 1 1 1 5 1 0 1 0 0 1 0 1 73 0 1 1 1 0 0 1 1 18 1 0 0 0 1 1 0 0 0 Houve carry do bit 6 para o bit 7 (CY_IN = 1) e do bit 7 para o bit 8 (CY_OUT=1). operação XOR entre CY_IN e CY_OUT é zero. ssim, a flag de overflow OV = 0. dição: 7FH + 51H : Procedimento 1: 7FH = 0111 1111B: número positivo (quando usando número sinalizado) 51H = 0101 0001B: número positivo (quando usando número sinalizado) Os dois números são positivos, mas o resultado está na faixa de 80H a FFH (número negativo). ssim, a flag de overflow é um (OV = 1), para indicar que o resultado deve ser tratado como número positivo. Procedimento 2: CY dição Hexa bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 1 1 1 1 1 1 1 7F 0 1 1 1 1 1 1 1 51 0 1 0 1 0 0 0 1 D0 1 1 0 1 0 0 0 0 Houve carry do bit 6 para o bit 7 (CY_IN = 1), mas não houve do bit 7 para o bit 8 (CY_OUT=0). operação XOR entre CY_IN e CY_OUT é 1. ssim, a flag de overflow OV = 1. 6. Explique, com exemplo, o funcionamento da pilha no microprocessador 8085. Comente sobre as diferenças entre o uso da pilha no microprocessador 8085 e no microcontrolador 8051. Valor: 1,5 Pilha é uma região da memória reservada para guardar temporariamente o conteúdo de registradores e endereços de retorno de subrotinas comuns e de subrotinas de interrupções. Supondo que os valores iniciais de alguns registradores sejam: = 34H; B = 72H; C = 15H; Flags = 17H; SP = 2040H tabela a seguir mostra uma sequência de operações que usam a pilha e o conteúdo resultante da pilha após a execução da última instrução.
Endereço Instruções Endereço Conteúdo da Pilha 2000H PUSH PSW 2009H 2001H PUSH B 203H 05H 2002H CLL TRSO 203BH 20H 2005H 203CH 15H 203DH 72H 203EH 17H 203FH 34H 2040H XX No microcontrolador 8051 o apontador de pilha (SP) é incrementado quando a pilha está sendo preenchida, ao contrário do microprocessador 8085, onde SP é decrementado. No microprocessador 8085 as operações com a pilha sempre movimento 16 bits (dois registradores ou endereço); no microcontrolador 8051 movimenta-se 16 bits nas operações de chamada de subrotina e interrupções e 8 bits nas operações nas operações PUSH e POP. ======================================================================= Solução da Questão 4 da Versão 2 instrução CMP B do microprocessador 8085 faz a comparação entre o conteúdo do acumulador e o 4. Quais os valores das flags de Zero e de Carry após a 2 B = 39H Z = 0; CY = 0 5. Quais os valores das flags de Sinal e uxiliar de Carry, S = 0; C = 1 6. Qual o valor final e? = 00H Linha 3: CMP B --> - B ==> Como > B, então, Z = 0 e CY = 0 (o conteúdo de não é alterado) Linha 4: Como Z = 0, então o processamento vai para a linha 5 (linha seguinte) Linha 5: Como CY = 0, então o processamento vai para a linha 8 (V1) Linha 8: = + B = 75H + 8BH 1 1 1 1 1 1 1 1 8BH 1 0 0 0 1 0 1 1 1 00H 1 0 0 0 0 0 0 0 0
Solução da Questão 4 da Versão 3 instrução CMP B do microprocessador 8085 faz a comparação entre o conteúdo do acumulador e o 2 B = 75H 7. Quais os valores das flags de Zero e de Carry após a Z = 1; CY = 0 8. Quais os valores das flags de Sinal e uxiliar de Carry, S = 0; C = 1 9. Qual o valor final e? = 00H Linha 3: CMP B --> - B ==> Como = B, então, Z = 1 e CY = 0 (o conteúdo de não é alterado) Linha 4: Como Z = 1, então o processamento vai para a linha 8 (V1) Linha 8: = + B = 75H + 8BH 1 1 1 1 1 1 1 1 8BH 1 0 0 0 1 0 1 1 1 00H 1 0 0 0 0 0 0 0 0