Buscar

3_MCP_Ahmes

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

Continue navegando