Baixe o app para aproveitar ainda mais
Prévia do material em texto
Microprocessadores O Computador Hipotético Ahmes Prof. Matheus Leitzke Pinto Curso Superior de Tecnologia em Eletrônica Industrial Departamento Acadêmico de Eletrônica - DAELN IFSC – Câmpus Florianópolis Slide 2 O Computador Hipotético Ahmes O Ahmes também é um computador virtual Criado para fins didáticos Estende as funcionalidades do Neander Slide 3 Sumário de aula Organização do Ahmes Representação em complemento de 2 Conjunto de instruções Códigos de condição Simulador Ahmes O Computador Hipotético Ahmes Organização do Ahmes Slide 5 Organização do Ahmes Organização do Neander Operações da ULA SelULA X + Y 000 X AND Y 001 X OR Y 010 NOT X 011 Y 100 Slide 6 Organização do Ahmes cargaRCC RCC Organização do Ahmes Operações da ULA SelULA X + Y 0000 X – Y 0001 X AND Y 0010 X OR Y 0011 NOT X 0100 X >> 1 0101 X << 1 0110 X >>> 1 0111 X <<< 1 1000 Y 1001 Slide 7 Organização do Ahmes cargaRCC RCC Operações da ULA SelULA X + Y 0000 X – Y 0001 X AND Y 0010 X OR Y 0011 NOT X 0100 X >> 1 0101 X << 1 0110 X >>> 1 0111 X <<< 1 1000 Y 1001 Diferença do Neander O Computador Hipotético Ahmes Representação em Complemento de 2 Slide 9 Representação em Complemento de 2 Antes de saber como é esse sistema, temos de determinar o complemento de um e de dois de um número. Forma de complemento de 1: Consiste em substituir cada 0 por 1 e cada 1 por 0, ou seja, seu complemento. Ex.: Slide 10 Representação em Complemento de 2 Antes de saber como é esse sistema, temos de determinar o complemento de um e de dois de um número. Forma de complemento de 2: Realiza-se o complemento de 1 e soma-se o valor 1. Ex.: Slide 11 Representação em Complemento de 2 O sistema de complemento de 2 para representação de números com sinal funciona da seguinte forma: Se o número for positivo será representado da mesma forma que em sinal-magnitude, ou seja, na forma binária direta com um bit de sinala 0 no MSB. Se o número for negativo, a magnitude é representada na forma de complemento de 2 com um bit de sinal 1 no MSB. Slide 12 Representação em Complemento de 2 O sistema de complemento de 2 para representação de números com sinal funciona da seguinte forma: Exemplo: Slide 13 Representação em Complemento de 2 Podemos realizar o procedimento de forma mais rápida. Para isso, basta efetuar o complemento de 2 do número positivo com sinal, o que irá gerar o número negativo correspondente. O bit de sinal é gerado no processo. Ex.: Slide 14 Representação em Complemento de 2 A palavra do processador tem tamanho fixo. Para armazenar um número positivo menor que o tamanho da palavra, acrescentamos 0s à frente. Se for negativo acrescentamos 1s. Ex.: Número positivo 010012. Com 8 bits, será armazenado desta forma: Slide 15 Representação em Complemento de 2 A palavra do processador tem tamanho fixo. Para armazenar um número positivo menor que o tamanho da palavra, acrescentamos 0s à frente. Se for negativo acrescentamos 1s. Ex.: Para o número negativo 101112, será: Slide 16 Representação em Complemento de 2 Faixa de contagem em complemento de 2 Exemplo para 4 bits: Valor decimal Binário (complemento de 2) +7 0111 +6 0110 +5 0101 +4 0100 +3 0011 +2 0010 +1 0001 0 0000 -1 1111 -2 1110 -3 1101 -4 1100 -5 1011 -6 1010 -7 1001 -8 1000 Slide 17 Representação em Complemento de 2 Soma e subtração: estudos de caso Caso 1: dois números positivos. Exemplo: Caso 2: um número positivo e outro negativo menor em magnitude. Exemplo: Slide 18 Representação em Complemento de 2 Soma e subtração: estudos de caso Caso 3: um número positivo e outro negativo maior em magnitude. Exemplo Caso 4: dois números negativos. Exemplo: Slide 19 Representação em Complemento de 2 Soma e subtração: estudos de caso Caso 5: números iguais e de sinais opostos. Exemplo: Slide 20 Representação em Complemento de 2 Nos casos 1 à 5 anteriores sobre adição, os números eram constituídos de 5 bits – 1 bit para o sinal e 4 bits para a magnitude. As respostas também. O carry da posição do sexto bit era desconsiderado (denominado carry de saída), isso porque os resultados das somas não excediam a faixa de representação. Porém, vamos analisar quando a faixa de representação excede. Slide 21 Representação em Complemento de 2 Exemplo: adição de +910 com +810. Slide 22 Representação em Complemento de 2 A resposta deveria ser +1710, mas a magnitude 17 requer mais que 4 bits, e, portanto, ocorreu um overflow aritmético. Em uma soma você pode verificar se houve overflow, quando os dois últimos bits de carry forem diferentes. O Computador Hipotético Ahmes Conjunto de Instruções Slide 24 Conjunto de Instruções O Ahmes possui 24 instruções: Slide 25 Conjunto de Instruções O Ahmes possui 24 instruções (nível RT): Slide 26 Conjunto de Instruções As instruções possuem um ou dois bytes (ou seja, ocupam uma ou duas posições de memória) 7 4 3 0 Opcode Don’t care 7 4 3 0 Opcode Don’t care Endereço direto Instruções de um byte: NOP, NOT, SHR, SHL, ROR, ROL, HLT Instruções de dois bytes: STA, LDA, ADD, SUB, OR, AND, JMP, JN, JP, JV, JNV, JZ, JNZ, JC, JNC, JB, JNB modo direto (absoluto) de endereçamento. Slide 27 Conjunto de Instruções Instrução 1 Memória Instrução 2 Instrução 2 ... 00H 01H 02H 03H ... Endereços Instrução de 1 byte Instrução de 2 bytes Byte de opcode Byte de endereço direto O Computador Hipotético Ahmes Códigos de condição Slide 29 Códigos de condição cargaRCC RCC Organização do Ahmes Operações da ULA SelULA X + Y 0000 X – Y 0001 X AND Y 0010 X OR Y 0011 NOT X 0100 X >> 1 0101 X << 1 0110 X >>> 1 0111 X <<< 1 1000 Y 1001 Slide 30 Códigos de condição O registrador de códigos de condição (RCC) N Z V C B Slide 31 Códigos de condição N (Negativo) – sinal do resultado, interpretado como complemento de 2: 1, resultado é negativo 0, resultado não é negativo Z (Zero) – sinal de resultado igual à zero: 1, resultado é zero 0, resultado não é zero Slide 32 Códigos de condição V (Overflow) – indica estouro de representação após uma instrução de soma ou subtração, interpretando como complemento de 2: 1, houve estouro de representação no resultado 0, não houve estouro (resultado está correto) C (Carry) – indica a presença de “vai-um” (ou bit de transporte) após uma operação de soma: 1, ocorreu “vai-um” 0, não ocorreu “vai-um” Slide 33 Códigos de condição B (Borrow) – indica a presença de “empresta-um” (ou bit de transporte) após uma operação de subtração: 1, ocorreu “empresta-um” 0, não ocorreu “empresta-um” Slide 34 Códigos de condição Note que se quisermos realizar operações com inteiros positivos, basta ignorar os códigos de condição N e V. Os códigos C e B mantém seu significado original, e passam adicionalmente a indicar também estouro de representação: C = 1 é estouro em ADD B = 1 é estouro em SUB Slide 35 Códigos de condição Operações que afetam códigos de condição: O Computador Hipotético Ahmes Simulador Ahmes Microprocessadores O Computador Hipotético Ahmes Prof. Matheus Leitzke Pinto Curso Superior de Tecnologia em Eletrônica Industrial Departamento Acadêmico de Eletrônica - DAELN IFSC – Câmpus Florianópolis
Compartilhar