Você está na página 1de 14

Unidade II SAP 1 ARQUITETURA

Contador de programa; Entrada; RAM; Registrador de instruo; Controlador sequencializador; Acumulador; Somador-Subfrator; Registrador B; Registrador de sada; Indicador visual.

Para entender o funcionamento dos computadores que utilizamos hoje em dia, necessrio estudar o funcionamento de computadores mais simples, e a partir da entender a sua evoluo at chegar aos modernos computadores. Os poderosos e complexos computadores modernos, no foram construdos a partir de um nico projeto; na verdade, o que temos hoje, o resultado da evoluo dos primeiros projetos de computadores. Vamos nesta unidade, iniciar o estudo de um computador simples e muito didtico chamado SAP (Simple-As-Possible); como o prprio nome j diz, ele extremamente simples. Existem trs verses do SAP: SAP1, SAP2 e SAP3; estas verses evoluem partindo de uma arquitetura extremamente simples no sentido dos computadores existentes nos dias de hoje. Mesmo abstraindo uma srie de recursos de um computador moderno, o SAP-1 possui uma estrutura capaz de introduzir conceitos importantes utilizados nos computadores modernos. Muitas caractersticas, funes e termos relacionados Arquitetura de Comutadores sero apresentadas juntamente com esta arquitetura, fazendo com que o nvel de abstrao desses conceitos e estruturas sejam minimizados pelos exemplos prticos. A figura abaixo representa a arquitetura do SAP1; observe os blocos, os seus nomes e a forma como eles so ligados uns aos outros para que as prximas explicaes fiquem mais claras.

Cp CLK CLR Ep

Contador de Programa 8

W
8 8

Acumulador A 8

La CLK Ea

CLK Lm

Entrada e REM 4 4 RAM 16 X 8 8

Somador
4

Su Eu

Subtrator 8 Registrador

CE

Lb CLK

Li CLR CLK Ei

Registrador de Instrues 4 Controlador / Sequencializador 12

8
4

Registrador de 8 Sada 8

Lo CLK

CLK CLK CLR CLR

Indicador Visual Binrio

Barramento de Controle 12 Bits que compem a Palavra de Controle. Figura Arquitetura do SAP1

Fonte: Microcomputadores e Microprocessadores - A. Malvino

Registradores Um registrador uma memria interna a CPU, tem a caracterstica de ser muito rpida e podem ou no ser acessadas pelo usurio; os registradores que no podem ser acessados pelo usurio so utilizados normalmente pela prpria unidade de controle.do processador; eles podem armazenar um ou mais bits, dependendo da sua funo.

Muitos mdulos registradores. Barramento

do

SAP1

so

constitudos

de

um

ou

mais

Um barramento pode ser definido como sendo um conjunto de linhas de comunicao que so compartilhados entre diversos dispositivos. Os dados e instrues do SAP1, trafegam entre os mdulos por meio de um barramento (w) de 8 bits. Alm do barramento de dados, o SAP1 possui um barramento de controle de 12 bits conforme veremos mais adiante.

1 Contador de Programa: Lembre-se de que uma das caractersticas de um computador o armazenamento de todo o programa e dos dados na sua memria. Este armazenamento ocorre nas posies de memria, de forma seqencial, iniciando-se na posio (0000)2 e seguindo para os prximos endereos: (0001)2 , (0010)2, (0011)2 e assim sucessivamente. Essas posies so compostas por quatro bits porque uma caracterstica da memria do SAP1, que possui 16 posies de memria. A funo do Contador de Programa (CP) a de apontar para o computador a prxima instruo a ser executada. Toda vez que o computador inicializado, o Contador de Programa aponta para o endereo (0000); antes do computador executar a primeira instruo, o CP passa para a memria a posio da instruo que ser executada (no caso (0000)2 ) e incrementa o seu valor, j se preparando para apontar para a instruo que vir aps a busca e execuo dessa primeira instruo (ou seja a segunda instruo). O contador de programa ir repetir esse procedimento at o final do programa. Como o CP funciona como um dedo apontando para a prxima instruo a ser executada, ele muitas vezes chamado de apontador. A tarefa desempenhada pelo CP parte integrante da Unidade de Controle.

2 - Entrada e REM: neste mdulo que ocorre a entrada de dados e instrues para que o SAP1 possa ser programado (ENTRADA), e tambm o local onde fica armazenado o valor passado pelo CP, que o endereo que ser acessado na memria RAM (Registrador de Endereo de Memria REM)

3 RAM A RAM uma memria esttica que possui 16 linhas e 8 bits por linha, ou seja 16 X 8 e tem a finalidade de armazenar instrues e dados a serem utilizados pelo computador. Durante o processamento, a RAM recebe endereos de 4 bits do REM e logo aps executado uma operao de leitura neste endereo e o seu contedo disponibilizado no barramento w para a devida utilizao.

4 Registrador e Instrues Quando uma instruo lida da memria RAM, o byte referente instruo enviado ao Registrador de Instruo (RI), onde ele separado em dois nibbles (meio byte); o nibble superior referente instruo propriamente dita e passado imediatamente ao Controlador Sequencializador e o nibble inferior referente ao campo operando que, quando for o caso, ser disponibilizado no barramento w. A tarefa desempenhada pelo RI parte integrante da Unidade de Controle. 5 Controlador-Sequencializador O Controlador-Sequencializador constitui parte da unidade controle e o mdulo responsvel pelo controle do computador. de

Ele recebe o Nibble referente a instruo que ser executada naquele momento por intermdio do Registrador de Instruo, decodifica e envia uma palavra de controle de 12 bits para todo computador. A palavra de controle responsvel por habilitar ou desabilitar cada funcionalidade de cada mdulo presente no computador afim de que ele execute uma determinada tarefa.

Podemos fazer uma analogia entre o Controlador-Sequencializador e um maestro de uma orquestra, que determina quem, o que fazer e em que hora fazer uma determinada ao. O maestro est para os componentes de uma orquestra assim como o ControladorSequencializador est para os mdulos que compes o computador. 6 Acumulador O acumulador um registrador de memria temporria que armazena operandos e tambm resultados de processamentos. Ele recebe um dado do barramento e pode disponibiliz-lo tanto para o Somador-Subtrator quanto para o barramento novamente. Este mdulo faz parte da Unidade Lgica e Aritmtica do SAP1

7 Somador-Subtrator O Somador-Subtrator o mdulo responsvel por efetuar uma operao de soma ou subtrao entre o valor presente no acumulador com um outro valor presente na memria RAM. A subtrao feita pelo mtodo do complemento de 2, ou seja para subtrair ele efetua uma soma do acumulador com o complemento do segundo operando. Este mdulo faz parte da Unidade Lgica e Aritmtica do SAP1

8 Registrador B O Registrador B um registrador de memria temporria, utilizado numa operao aritmtica para pegar um determinado valor presente no barramento e entreg-lo ao Somador-Subtrator. Ele necessrio, pois o nico caminho para se chegar ao SomadorSubtrator por meio do Acumulador ou do Registrador B; como o Acumulador j contm um operando, a nica forma de carregar o outro operando no Somador-Subtrator passando por um caminho alternativo, no caso o Registrador B. Este mdulo faz parte da Unidade Lgica e Aritmtica do SAP1

9 Registrador de Sada Depois que o computador executou um determinado processamento, o resultado fica armazenado no Acumulador.

Para que o usurio do computador possa visualizar o resultado do processamento, necessrio transferir o contedo do Acumulador para um registrador que permita o envio do resultado para o usurio. O registrador responsvel por pegar o resultado presente no Acumulador e disponibilizar o seu contedo para um dispositivo visual, chamado de Registrador de Sada ou Porta de Sada.

10 Indicador Visual em Binrio Para visualizar o contedo do Registrador de Sada, utilizado um conjunto de oito LEDS (diodos emissores de luz) que ficam dispostos de forma alinhada e representam os oito bits presentes no RI.

Como funciona o SAP1 Existe um conjunto oito de chaves (interruptores) que podem ser configurados como ligado ou desligado; se a chave estiver ligada, ele estar configurando o bit 1 para aquela posio do byte e se estiver desligada, estar configurando o bit 0. Como as chaves esto alinhadas, o conjunto de chaves (ligadas ou desligadas) ir compor um byte (0(s) e 1(s)) que, no prximo passo, ser gravado na memria do SAP1. Aps configurar o byte, uma tecla, vamos chamar de <enter>, dever ser pressionada e o contedo daquele byte ir ocupar a primeira posio de memria. Logo aps esta posio ser incrementada e passar a aguardar pela prxima combinao de chaves. Dessa forma os programas e os dados so inseridos na memria do computador para que depois ele possa iniciar a execuo do mesmo. Depois que todo o programa e os dados j estiverem armazenados na memria, o SAP1 poder iniciar a sua tarefa, obedecendo aos sinais enviados pelo Controlador-Sequencializador. O Contador de Programa (CP) ser zerado (reset) e em seguinda apontar (para o REM) o endereo de memria da prxima instruo a ser executada. O REM busca a informao armazenada na posio informada pelo REM e entrega o byte ao Registrador de Instruo. O Registrador de Instruo ir separar o byte recebido em dois nibbles (meio byte) e disponibilizar para o Controlador-

Sequencializador o nibble correspondente instruo, e se necessrio, disponibilizar o outro nibble (que normalmente contm um operando) no barramento w. Agora que o Controlador-Sequencializador j sabe o que deve ser feito (o nibble que contm o cdigo da instruo que ele deve executar j est armazenado nele), ele envia um sinal para toda a arquitetura por meio do barramento de controle que composto por 12 bits, ativando e desativando funcionalidades do computador afim de que ele execute uma determinada tarefa. CLOCK Um computador uma ferramenta capaz de resolver problemas atravs da execuo de tarefas que so um conjunto de instrues, executadas pelo hardware do computador por meio de uma subdiviso denominada microinstrues. As microinstrues so responsveis, por exemplo, por colocar um byte da memria RAM no barramento w, fazer com que o acumulador leia o contedo do barramento w, fazer com que o somador subtrator efetue uma soma ou subtrao etc. Para que tudo isso ocorra de forma logicamente ordenada, existe a necessidade de se ter um dispositivo capaz de sincronizar a execuo dessas microinstrues; e o dispositivo responsvel pelo sincronismo do computador o gerador de CLOCK. Definimos CLOCK como sendo um trem de pulsos alternado entre um nvel lgico alto (bit 1) e um nvel lgico baixo (bit 0); fisicamente, num circuito TTL, o nvel lgico baixo quando um meio tem o seu potencial prximo a 0 volts e o nvel lgico alto prximo de 5 volts.

Veja no grfico abaixo, a representao de um sinal de clock; observe que o perodo e a freqncia do sinal so constantes. A freqncia medida em Hz. Grfico do clock: Nvel lgico alto Transio positiva ou borda de subida

5V 0V

Nvel lgico baixo

t Transio negativa ou borda de descida

Quanto maior a freqncia do CLOCK, mais microinstrues so executadas num mesmo intervalo de tempo, aumentando assim o desempenho do computador. A freqncia de clock do SAP1 de 1 khz ou seja os sinais alto e baixo ficam alternando numa freqncia de 1000 vezes por segundo. Como voc pode perceber, um sinal de clock pode estar num nvel lgico alto (ponto 1), num nvel lgico baixo (ponto 2), num ponto chamado de transio positiva ou borda de subida (ponto 3) ou ainda num ponto denominado transio negativa (ou borda de descida). Num sistema assncronos. digital, podemos ter dispositivos sncronos ou

Um dispositivo assncrono tem a caracterstica de alternar o seu contedo ou responder a algum sinal, independentemente dos pulsos de clock; exemplo: assim que um determinado valor chega a um registrador assncrono, o registrador assume o seu novo contedo imediatamente. J um dispositivo sncrono, depende dos pulsos de clock para que o seu estado seja alterado; exemplo: quando um determinado valor chega a um registrador sncrono ele ir aguardar pelo instante correto para ser efetivamente armazenado neste registrador; este instante exato determinado pelos pulsos de clock e podem ser da seguinte forma:

Transio positiva (ou sensvel borda de subida): O valor ser armazenado na prxima transio positiva ou na prxima borda de subida. Smbolo:

Transio negativa (ou sensvel borda de descida): O valor ser armazenado na prxima transio negativa ou na prxima borda de descida. Smbolo:

Cada bit que sai do Controlador-Sequencializador est ligado a um mdulo do SAP1, e recebe um nome. O conjunto dos nomes dos bits que saem do Controlador-Sequencializador forma o que chamamos de PALAVRA DE CONTROLE. Exemplo: Palavra de Controle
Cp Bit 12 Ep Bit 11 Lm Bit 10 CE Bit 9 Li Bit 8 Ei Bit 7 La Bit 6 Ea Bit 5 Su Bit 4 Eu Bit 3 Lb Bit 2 Lo Bit 1

COM = Cp Ep Lm CE Li Ei La Ea Su Eu Lb Lo Observe que para representar complemento, eu posso utilizar a barra sobre o nome do bit ou o apstrofe aps o nome. Isso significa que o bit estar ativo caso o seu valor seja igual a zero (nvel lgico baixo). Vamos ver como que a Palavra de Controle controla a arquitetura; para isso, fique atento aos sinais que cada mdulo recebe e a sua funo. Caso a entrada esteja apontada em forma de complemento, exemplo: X ou X, significa que o sinal ficar ativo caso receba o bit 0, caso contrrio o sinal ficar ativo quando receber o bit 1. Nos mdulos sncronos existe, alm dos sinais de controle, uma entrada denominada CLK ou CLK. Estes sinais so referentes entrada dos pulsos de clock e servem, conforme j citado anteriormente, para sinalizar ao mdulo o instante certo para receber ou enviar um dado por meio do barramento. Contador de Programa:
Cp

Contador de Programa 8

Ep

Fonte: Microcomputadores e Microprocessadores - A. Malvino

Figura contador de programa

Cp Ep CLR -

Quando ativo (receber o bit 1), Incrementa o contador de programa. Quando ativo (receber o bit 1), disponibiliza o seu contedo no barramento w. Quando ativo (receber o bit 0), restabelece o contador (reset) para o valor 000001; na prxima unidade voc entender o porqu deste valor.

Entrada e REM:
Entrada e REM 4 4

CLK Lm

Figura Entrada e REM

Fonte: Microcomputadores e Microprocessadores - A. Malvino

Lm RAM 16X8:
CE

Quando ativo (receber o bit 0), habilita a leitura do barramento w.

RAM 16 X 8 8

Fonte: Microcomputadores e Microprocessadores - A. Malvino

Figura Memria RAM

CE

Quando ativo (receber o bit 0), disponibiliza o contedo apontado pelo registrador de endereo (REM) no barramento w.

Registrador de Instrues:
Li

Registrador de Instrues 4

8 4

Ei

Figura Registrador de Instruo

Fonte: Microcomputadores e Microprocessadores - A. Malvino

Li Ei CLR

Quando ativo (receber o bit 0), habilita a leitura do barramento w. Quando ativo (receber o bit 0), disponibiliza o nibble inferior (normalmente um operando) no barramento w. Quando ativo (receber o bit 1), limpa o contedo do seu registrador.

Controlador-Sequencializador:

Controlador / Sequencializador 12

CLK CLK CLR CLR

Figura Controlador-Sequencializador

Fonte: Microcomputadores e Microprocessadores A. Malvino

O controlador sequencializador tem como sada, alm da palavra de controle, os sinais de CLEAR e os pulsos de CLOCK. Acumulador A:
La

8 8

Acumulador A 8

Ea

Figura Acumulador

Fonte: Microcomputadores e Microprocessadores - A. Malvino

La

Quando ativo (receber o bit 0), habilita a leitura do barramento w, carregando no acumulador o contedo do barramento. Quando ativo (receber o bit 1), disponibiliza o seu contedo no barramento w.

Ea

Somador/Subtrator:

Somador 8 Subtrator

Su Eu

Fonte: Microcomputadores e Microprocessadores - A. Malvino

Figura Somador/Subtrator

Su

Quando ativo (receber o bit 1), o Somador/Subtrator estar configurado para efetuar uma subtrao e quando inativo (receber o bit 0) ele estar configurado para efetuar uma soma.

Eu

Quando ativo (receber o bit 1), disponibiliza o seu contedo no barramento w.

Registrador B:

8 Registrador 8 B
Lb CLK

Fonte: Microcomputadores e Microprocessadores - A. Malvino

Figura Registrador B

Lb

Quando ativo (receber o bit 0), habilita a leitura do barramento w, carregando no acumulador o contedo do barramento.

Registrador de Sada:
Registrador de 8 Sada 8
Lo CLK

Fonte: Microcomputadores e Microprocessadores - A. Malvino

Figura Registrador de Sada

Lo

Quando ativo (receber o bit 0), habilita a leitura do barramento w, carregando no acumulador o contedo do barramento.

Atividades: 1) Defina e explique a sua importncia no SAP1 dos seguintes termos: a. Barramento b. Clock c. Registradores d. Palavra de Controle e. Instruo 2) Qual a diferena entre barramento de controle e palavra de controle? 3) Um registrador sncrono sensvel transio positiva. Aps a alterao de um dado na sua porta de entrada, em que momento ocorrer a atualizao efetiva do seu valor?

4) Explique de forma sucinta a funo dos seguintes mdulos do SAP1: a. Contador de Programa b. REM c. Registrador de instrues d. Controlador/Sequencializador e. Acumulador f. Somador/Subtrator g. Registrador B h. Registrador de sada 5) De que forma podemos transferir um determinado dado que j est sendo apontado na memria RAM do SAP1 pelo REM para o Acumulador? Explique quais sinais devem ser ativados para que isso ocorra.

Para Interagir: Pesquise e apresente as suas concluses na LISTA sobre como feito uma subtrao pelo mtodo do complemento da base. Exemplifique o que voc aprendeu demonstrando como o mtodo funciona para nmeros binrios (no caso, subtrao por complemento de 2). Explique qual a vantagem do SAP1 utilizar este mtodo para efetuar subtraes.