Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Microarquitetura SAP-1 (Parte 1) Professor: Alexandre Scaico alexandre.scaico@gmail.com Faculdade de Ciências Sociais Aplicadas Curso de Sistemas de Informações Organização e Arquitetura de Computadores 2 SAP-1 SAP = Simple as Possible (Simples quanto possível) Arquitetura simples que contempla as idéias principais sobre o funcionamento de um sistema digital (microarquitetura) O SAP é uma simplificação do 8080/8085 O SAP é apresentado incrementalmente em três etapas → SAP-1, SAP-2 e SAP-3 Vamos estudar o SAP-1 3Arquitetura do SAP-1 4 Arquitetura do SAP-1 Contador de Programa (PC – Program Counter) Faz parte da unidade de controle Armazena o endereço da próxima instrução a ser buscada na memória Seu valor é incrementado após indicar a posição da memória onde a instrução está armazeanada No caso do SAP-1: PC inicia apontando para o endereço 0000 O incremento do PC é de uma unidade 5 Arquitetura do SAP-1 Entrada e REM (Registrador de Endereçamento da Memória) A entrada não está mostrada na figura da arquitetura, mas sua função é de programar a RAM O REM pode ser visto como parte da memória O REM recebe o endereço contido no PC e endereça a memória (o endereçamento é de 4 bits) 6 Arquitetura do SAP-1 RAM É uma RAM 16x8 Sua programação é feita através de chaves de entrada presentes no módulo de Entrada O endereçamento é de 4 bits Em uma palavra da memória (8 bits): Os 4 bits superiores contém o código da instrução a ser executada Os 4 bits inferiores contém o endereço do dado necessário a execução da instrução (se houver) 2 7 Arquitetura do SAP-1 Barramento W Barramento único do sistema É de 8 bits Utilizado tanto para endereçamento quanto para dados Para endereço usa apenas as 4 linhas mais significativas Para dados utiliza todas as linhas 8 Arquitetura do SAP-1 Registrador de Instruções (RI) Faz parte da unidade de controle Armazena a palavra lida da memória a partir do endereço apontado pelo PC Os bits que indicam o código da operação são enviados ao bloco controlador-sequencializador para interpretação Os bits que indicam endereço de dados (se houver) são enviados de volta ao barramento no momento certo para endereçar a memória 9 Arquitetura do SAP-1 Controlador-Sequencializador Gera o sinal CLK (relógio), o sinal CLR (clear) no início da execução de um programa, e gera as palavras de controle (CON) que determinam o que acontece em cada transição positiva do relógio A palavra de controle de 12 bits é gerada pelo controlador-sequencializador a partir do código da operação __ __ _ _ _ __ __ CON = Cp Ep Lm CE Li Ei La Ea Su Eu Lb Lo 10 Arquitetura do SAP-1 Acumulador (Acc) Registrador de memória intermediária Armazena o resultado das operações efetuadas pelo somador-subtrator Possui duas saídas Uma ligada direto ao somador-controlador Uma controlada por um sinal de controle, ligada ao barramento 11 Arquitetura do SAP-1 Somador-Subtrator É a ULA desse sistema Realiza apenas duas operações com os valores dos registradores A e B Soma (A + B) Subtração em complemento de dois (A –B ) É um circuito assíncrono Sua saída muda no instante em que as entradas mudam, mas a sua saída pro barramento depende de um sinal de controle 12 Arquitetura do SAP-1 Registrador B Registrador de memória intermediária, assim como o registrador A Registrador de saída É a porta de saída do sistema É um registrador igual ao registrador B, apenas com sua função definida como saída do sistema Indicador visual em binário Conjunto de 8 leds que mostram o conteúdo do registrador de saída 3 13 Arquitetura do SAP-1 Resumindo Unidade de controle → contador de programa (PC), registrador de instruções (RI) e controlador- sequencializador Produzem a palavra de controle, o clock e o clear ULA → somador-subtrator, registrado A e registrador B Memória→ Registrador de endereçamento da memória (REM) e a memória RAM 16x8 E/S → chaves de programação de entrada, registrador de saída e indicador visual em binário 14Arquitetura do SAP-1 15 Sinais de Controle CP→ incremento do PC EP→ habilita a saída do PC ao barramento LM → sinal nível baixo ativo que habilita a entrada de dados no REM CE→ habilita a saída da RAM ao barramento LI→ habilita a entrada do RI EI→ habilita a saída do RI LA→ Habilita a entrada do registrador A 16 Sinais de Controle EA → Habilita a saída do registrador A ao barramento SU → Define o tipo de operação. SU=0 indica soma, e SU=1 indica subtração EU→ Habilita a saída do somador ao barramento LB→ Habilita a entrada do registrador B LO→Habilita a entrada do registrador de saída 17 Conjunto de Instruções LDA Instrução que carrega uma palavra de dados da RAM no acumulador A instrução é composta pelo código da instrução seguido pelo endereço da palavra a ser lida LDA 8H A programação utilizando mnemônicos utiliza endereçamento hexadecimal Na verdade o que temos são dois conjuntos de 4 bits binários indicando a operação e a localização da palavra de dados na memória 18 Conjunto de Instruções ADD Instrução que soma um valor da memória ao valor do acumulador, armazenando o resultado no acumulador O valor lido da memória é colocado no registrador B, o somador efetua a operação e o resultado é armazenado no acumulador Exemplo: ADD 9H, (A=00000010 e R9 = 00000011) B = 00000011 SUM = 00000101 A = 00000101 4 19 Conjunto de Instruções SUB Instrução que subtrai um valor da memória do valor do acumulador, armazenando o resultado no acumulador Sua execução é similar ao ADD OUT Instrução que transfere o conteúdo do Acumulador para o registrador de saída Nessa instrução os 4 bits menos significativos da palavra armazenada na memória não possuem significado, dado que não há acesso à memória 20 Conjunto de Instruções HLT Instrução que finaliza a excução do processamento Resumo da instruções do SAP-1 21 Conjunto de Instruções Instruções que não referenciam a memória Não envolvem dados armazenados na memória. Ex. OUT, HLT. Instruções que referenciam a memória Utilizam dados armazenados na memória. Ex. LDA, ADD e SUB Instrução = I7I6I5 I4 I3I2I1I0 Código da operação Código do endereço do operando na memória 22 Exemplo de Programa O que faz cada instrução e quais os dados nos registradores ao fim da execução do programa? 23 Exemplo de Programa Execução do programa Carrega 9H (valor 01H) no Acc → 01H Soma Acc com o valor em AH (valor 02H) → 03H Soma Acc com o valor em BH (valor 03H) → 06H Subtrai o valor em CH (04H) do Acc → 02H Envia valor do Acc para o registrador de saída Valores do registradores ao fim do programa Acc = 0000 00010 (02H) PC = 06H B = 0000 0110 (04H) RI = Cod HLT Out = 0000 00010 (02H) REM = 5H 24 Programação do SAP-1 Cada mnemônico possui um código binário correspondente, conforme a tabela abaixo 5 25 Programação do SAP-1 - Exemplos 26 Programação do SAP-1 - Exemplos 27 Programação do SAP-1 - Exemplos Fazer um programa que resolva o seguinte problema: 16 + 20 +24 - 32 28 Programação do SAP-1 - Exemplos Fazer um programa que resolva o seguinte problema: 16 + 20 +24 - 32 29 Programação do SAP-1 - Exemplos Fazer um programa que resolva o seguinte problema: 16 + 20 +24 - 32 30 Programação do SAP-1 As instruções devem estar armazenadas na memória antes dos dados Essa restrição é devido a formacomo o PC aponta a próxima instrução Se tivessemos um dado entre as instruções o sistema entenderia que é uma instução e a execução ocorreria de forma incorreta
Compartilhar