Infra - Hardware

Abordagem Estrutural sobre Arquitetura e Organização de Computadores

Este artigo está voltado para aqueles que precisam de uma revisão para as aulas de Arquitetura e Organização Estrutural de Computadores nos cursos de Tecnologia, Engenharias e Computação.

por Nilton Sango Guimarães



1. RESUMO

Este artigo está voltado para aqueles que precisam de uma revisão para as aulas de Arquitetura e Organização Estrutural de Computadores nos cursos de Tecnologia, Engenharias e Computação; Também, seria interessante toda a comunidade estar verificando a arquitetura envolvida na construção de computadores (barramentos, interfaceamento, organização dos computadores, comparativos de performance entre processadores). Em anexo segue vários projetos de arquiteturas construídas em laboratórios (controladores, multiplexadores, registradores, memórias, ULA, etc). São 24 projetos desenvolvidos pela minha equipe. Estão no formato CKT (software Circuit Maker 2000 - Versão Student, disponível em (www.circuitmaker.com/).

2. REVISÃO DE ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES

2. 1 - BARRAMENTOS

- É a ligação entre a CPU e a memória principal através de fios de comunicação (trilhas). São conjuntos de fios por onde trafegam dados e informações. Os barramentos podem ser unidirecionais ou bidirecionais.

- Existem 3 tipos de barramentos:
  1. Bus Control (barramento de controle) - por onde a CPU envia os pulsos de controle para a memória principal;
  2. Bus Data (barramento de dados) - por onde envia os dados e informações;
  3. Bus Adress (barramento de endereço) - permite o acesso ao endereço da informação.
Dispositivos ligados a estes barramentos recebem o nome de ativos (mestre), passivos (escravos). Os barramentos mestres são bus drive (pastilhas acionadoras de barramentos).

Os barramentos escravos são bus receiver (pastilhas receptoras de barramentos). Existem ainda pastilhas acionadoras e repectoras de barramentos (bus tranceiver).

Os barramentos possuem as seguintes características:
  • Número de linhas;
  • Temporização do barramento;
  • Tratamento de erros;
  • Mecanismo de arbitragem;
  • Tratamento de interrupções;
Barramentos Síncronos - Suas etapas são moldadas no cristal (relógio) do sistema. Possuem taxa de transferência em blocos, podendo ocorrer atraso/desvio (bus skew). Utiliza pinos Mreq.

Barramentos Assíncronos - não utilizam relógios do sistema, trabalham com múltiplos inteiros. Neste tipo apresenta um esquema Msyn e Ssyn (barrados). Onde que cada um ativa/desativa o sistema.

Arbitragem - Indica ao dispositivo do barramento se ele pode ler e escrever dados na memória principal, ou seja, se ele pode ser mestre ou escravo simultaneamente. Existem 2 tipo de mecanismo de arbitragem:
  • Centralizada - Um arbitra para o tipo de barramento a ser utilizado;
  • Descentralizada - Nenhum arbitro usado no barramento, somente pastilhas acionadoras de prioridade que consumem maior numero de linhas de barramento (desvantagem). A vantagem é que o custo é menor.
Interrupções - É o ato que parar (interromper) um determinado fluxo de dados/informações entre CPU e memória principal. Toda a vez que ocorre uma interrupção, o sistema para momentaneamente a execução de um determinado problema e trata a interrupção gerada. Após o termino do tratamento da interrupção, o sistema volta a executar normalmente o fluxo de dados/informações.

2.2 - PASTILHAS MICROPROCESSADAS

80806 - 8088
  • NMOS;
  • 20 LINHAS DE ENDEREÇAMENTO;
  • 16 LINHAS EXTERNA E 16 LINHAS INTERNA (8086)
  • 8 LINHAS EXTERNA E 16 LINHAS INTERNA (8088)
  • TRABALHAM EM MN/MX - MODO MÍNIMO/MODO MÁXIMO.
INTEL 8088
  • Possuem 2 processadores em sua CPU ( EU - Unidade de Execução) e BIU (unidade de interface de barramento - executa a comunicação no meio externo através de 16 linhas externa e 20 linhas de endereçamento de memória).
  • Trabalham com barramentos assíncronos, ou seja, suas etapas não são moldadas no cristal do sistema. Trabalham em modo máximo e modo mínimo.
INTEL 286
  • Possuem 3 vantagens em relação ao 8088 - 1 - tanto o modo kernel quanto o modo usuário estão mais protegidos; 2 - está com uma banda externa duas vezes maior do que o 8088 trabalhando com 16 linhas de endereçamento. 3 - internamente ele é mais rápido do que o 8088.
  • Não funcionam em modo máximo e mínimo, porém, possuem um pino chamado BHE (barrado) - habilitação alta do barramento, por onde são transferidas até 16 bits de palavras de cada vez.
  • Possuem 16 linhas externas, sendo 7 usadas:
  • Look e Ready - troca de barramento e estado da CPU;
  • Hold - mecanismo de arbitragem do barramento;
  • IntR e NMI - permite a interrupção da CPU;
  • Reset - reinicia o estado atual do barramento;
  • BUSY e ERROR - verifica o estado do co-processador e espera a resposta até a Conclusão da sua operação.
  • Trabalham com etapas moldadas no cristal do sistema;
  • Trabalham 4 usos de unidades
    • Unidade de Barramento: Operam todas as atividades do processador.
    • Unidade de Execução - executam todas as instruções, exceto endereços, vindas da unidade de instrução.
    • Unidade de Instrução - codifica todas as instruções em 3 endereços para posterior execução.
    • Unidade de Endereçamento: executa cálculos de variáveis e endereçamentos.
INTEL 386
  • Possui nível de processamento similar a de um pequeno mainframe;
  • Emula o Intel 286 e 8086;
  • Trabalham com 8,16,32 de endereços de memória compatíveis;
  • É similar ao 8086;
  • Suas atividades são moldadas no cristal do sistema;
  • Possuem 8 usos, sendo o sinal BHE divido em BE0 - BE3 (habilitação do barramento).
  • Possuem mais 3 sinais novos: ADS (estado do endereço) - , BSD16 (compatibiliza pastilhas antigas) - , NA - next adress - indica aceleração do barramento; e os anteriores, tais como controlador de interrupções: INTr, NMI, Loock, Ready; Busy, Error, Hold e reset.
  • Podem transferir de uma só vez uma palavra de 32 bits.
  • Os sinais de controle W/R, D/C, M/IO representam respectivamente, escrita/leitura, dados/controle, memória/entra e saída.
ORGANIZAÇÃO DA MEMÓRIA
  • Trabalha com 2 bancos de 512 kbytes de memória, chamado banco par e banco impar. Endereços 0000H, 00002H residem no banco par e endereços como 00001H, FFFFF residem no banco impar.

    Implementação:



  • Sistema de Temporização - Utiliza-se o sinal CLK (Clock) para as pastilhas microprocessadas Intel 8086/8088.
OPERAÇÕES EM MODO MÁXIMO E MODO MÍNIMO

O 8086/8088 possuem 2 modos: máximo e mínimo. Eles apresentam em sua implementação um pino chamado MN/MX(barrado) - que determina quando o nível lógico estiver alto - trabalha em modo mínimo. Nível lógico baixo trabalha em modo máximo.

O sistema em modo mínimo é pequeno e trabalham com 1 CPU somente. Já o modo máximo trabalha com várias CPU(s).

Dependendo do modo em utilização as funções podem mudar de valor.

ARQUITETURA DO 8086/8088 NO MODO MÍNIMO

- Neste modo, faz-se a interface de comunicação entre memória e dispositivos E/S.

LINHAS DE ENDEREÇOS E DADOS

VIA ENDEREÇOS - Carregam informações de endereçamento para memórias ou para portas E/s. Essas linhas recebem a codificação A0-A19, formando 20 bits de endereçamento. Além parte delas são utilizadas para acessar o espaço.

VIA DE DADOS - Carregam dados de leitura e escrita da memória, da portas E/S e dos códigos de um controlador de interrupções. Essas linhas recebem codificação D0- D15 (8086) e D0-D7 (8088).

As linhas de endereço são multiplexadas com a linha de dados, significando que trabalha às vezes com linha de endereços e outras vezes com linha de dados.

SINAIS DE STATUS
  • Os 4 bits significativos das linhas de endereçamento A16-A19 são também multiplexados com os bits do sinal de status - S3-S6. Os bits do sinal de status são colocados no barramento no mesmo tempo que os dados são transferidos através de outras linhas.
  • Os bits S4 e S3, juntos, formam um código binário que identifica qual dos registradores foi usado para gerar o endereço físico.



  • S5 - identifica o estado da interrupção;
  • S6 - possui valor 0 - nível lógico baixo simbolizando que o 8087 está no barramento;
  • S7 - permanece no hold.
Os sinais são usados para interfaceamento com a memória e com E/S. Eles controlam a função do tipo: endereço válido, direção de dados, dados válidos para escrita e leitura.

SINAIS DE CONTROLE
  • W/R, D/C, M/IO, ALE, BHE, ADS (estado do endereço), BSD16 (compatibiliza pastilhas antigas), LOOK (troca de barramento), READY(estado da CPU), NA(acelera o barramento de endereços).
  • ALE - habilitação do Latch de endereços - identifica quando a palavra chave está presente no barramento.
  • BHE(barramento) - habilitação alta do endereçamento - seleciona o banco de memória.
  • M/IO(barrado), DT/R(barrado) - identifica o tipo de ciclo que está acontecendo.
  • RD(barrado), WR(barrado) - ciclo de leitura e escrita.
  • DEN(barrado) - habilitação de dados - identifica a ocorrência de dados no barramento.
SINAIS DE INTERRUPÇÃO
  • INT R - pedido de interrução - permite a interrupção;
  • INT A - aceita a interrupção;
  • TEST - faz o teste do pino verificando se suspende ou aciona interrupções. (ele sincroniza a CPU com evento externo de hardware).
  • NMI - interrupção não - mascarável - entrada de interrupção.
  • Reset - reseta uma interrupção.
SINAIS DE INTERFACE PARA DMA
  • A interface DMA (Direct Memory Acess), está presente no modo mínimo e é manipulada através dos sinais HOLD, HLDA.
ARQUITETURA DO 8086/8088 NO MODO MÁXIMO
  • Neste modo, o microprocessador produz sinais para implementar em sistema multiprocessador/ co-processador.
1 - MULTIPROCESSADOR - significa dizer que existe mais de 1 processador no mesmo sistema e cada um deles com seu próprio programas.
2 - Co-processador - significa dizer que existe um 2 processador no sistema, contudo, os 2 não acessam o mesmo barramento simultaneamente.

EXEMPLO DE USO DE BARRAMENTO

Os principais elementos usados nos barramentos são:
  • Arquitetura do PC;
  • Interface de dados;
  • Controle digital de processos;
  • Criação de placa de expressão;
INTERFACEAMENTO

É o ato de fazer a comunicação do PC com o mundo exterior. Para isto existem passos a serem cumpridos:
  1. É o endereçamento, pois a CPU envia dados para locais específicos.
  2. Desenvolver a comunicação entre os dispositivos periféricos e o sistema microprocessado.
3. BIBLIOGRAFIA

MURDOCCA, M. J., HEURING, V. P. Introdução à Arquitetura de Computadores, 1a Ed., Editora Campus. ISBN 85-352-0684-1.

STALLINGS, W. Arquitetura e Organização de Computadores, 5a Ed., Prentice Hall. ISBN 85-879-1853-2

TANENBAUM, A. Organização Estruturada de Computadores, 5a Ed., Prentice Hall. ISBN 85-7605-067-6

4. ANEXOS

Baixe aqui os arquivos anexos.

São estruturas prontas desenvolvidas no programa Circuit Maker. Neste arquivo contém: ULA, Multiplexador, Macro Mem, Somador, entre outros).
Nilton Sango Guimarães

Nilton Sango Guimarães - Analista de TI / Professor Universitário. Pós-Graduado em MBA em Tecnologias ERP, Graduado em Ciência da Computação. Atua no Levantamento das informações para Tomadas de Decisão e Administração de TI.