Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Introdução à Arquitetura de Computadores: Barramentos e Portas Lógicas, Trabalhos de Cultura

Conceitos básicos sobre a arquitetura de computadores, especificamente sobre barramentos e portas lógicas. O texto aborda a interação do processador com barramentos externos, unidades de memória, dispositivos de i/o e outros componentes. Além disso, é discutida a utilização de portas lógicas nor e a importância de barramentos de dados, endereços e controle. O documento também inclui informações sobre a comunicação entre dispositivos e a ucp, e os tipos de barramentos isa, pci express e outros.

Tipologia: Trabalhos

2010

Compartilhado em 14/05/2010

kadu-velasco-5
kadu-velasco-5 🇧🇷

9 documentos

1 / 26

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
CES
Centro de
Ensino Superior de Juiz de Fora
Bacharelado em Sistemas de Informação
1
Arquitetura e Organização de computadores
Máquinas Multiníveis
Carlos Eduardo O. Velasco
1º Semestre / 2009
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a

Pré-visualização parcial do texto

Baixe Introdução à Arquitetura de Computadores: Barramentos e Portas Lógicas e outras Trabalhos em PDF para Cultura, somente na Docsity!

Bacharelado em Sistemas de Informação

Arquitetura e Organização de computadores

Máquinas Multiníveis

Carlos Eduardo O. Velasco 1º Semestre / 2009

Bacharelado em Sistemas de Informação

Máquinas Multiníveis

Tanenbaum classifica as máquinas contemporâneas como sendo máquinas multinível. Na sua

descrição seis níveis são apresentados:

  • Nível de lógica digital (nível 0): Neste nível encontra-se a descrição da máquina como uma malha de portas lógicas interconectadas. Subconjuntos destas portas lógicas definem dispositivos lógicos combinacionais e seqüenciais, que podem ser formalmente descritos através da álgebra booleana. Neste nível não existe o conceito de programa como uma seqüência de instruções.
  • Nível de Microprogramação (nível 1): Neste nível encontram-se dispositivos e recursos, tais como, ULAs, registradores, decodificadores, multiplexadores, vias de dados, etc. Cada um destes dispositivos e recursos é capaz de executar um número limitado de operações, definidas por sinais de controle. O nível de microprogramação já suporta o conceito de programa (microprograma) como uma seqüência instruções a serem executadas. Pode-se dizer também que o nível de microprogramação oferece uma visão detalhada do processador/microprocessador (microarquitetura ou caminho de dados).
  • Nível de máquina convencional (nível 2): Neste nível existe o que normalmente conhecemos como linguagem de máquina. Ou seja, para cada microprocessador, este nível define uma ou mais máquinas virtuais, cuja linguagem é interpretada por um ou mais microprogramas. Para se ter uma idéia mais clara, quando um fabricante define a instrução de nível 2 ADD R, que adiciona o conteúdo do registrador R ao conteúdo de um acumulador (default), nada é especificado sobre a estrutura de hardware, ou a seqüência de microoperações capaz de executa-la. O microprograma, por sua vez, é inteira mente baseado nestas informação. O nível de máquina convencional oferece uma visão da macroarquitetura da máquina (interação do processador/microprocessador com barramentos externos, unidades de memória, dispositivos de I/O, etc).
  • Nível de sistema operacional (nível 3): Este nível é a fronteira entre o hardware e o software. O sistema operacional, normalmente, assume as funções de gerenciar os recursos de hardware e oferecer uma interface simplificada. Os usuários deste nível podem ser programas do nível 4 ou usuários humanos.
  • Nível de linguagem de montagem (nível 4): Este é o primeiro nível desenvolvido para usuários (programadores) comuns (aqueles que simplesmente traduzem a solução de problema em programas). O nível 4, ao contrário dos níveis 1, 2 e 3, oferecem linguagens orientadas a utilização humana, constituídas de palavras e mnemônicos, que permitem uma compreensão mais simbólica dos problemas tratados. Outra diferença básica entre os níveis 1, 2 e 3, de um lado, e os níveis 4 e 5, de outro, é que, estes últimos, são normalmente suportados por tradução, enquanto que os demais são normalmente suportados por interpretação.
  • Nível de linguagem de programação (nível 5): Não há um nome de aceitação gera para este nível, pode ser chamado, come o faz Tanenbaum, de "nível de linguagem orientada para problemas", ou qualquer outro nome que indique que este é um nível de linguagem voltada para o usuário final. Neste nível a máquina virtual oferecida é

Bacharelado em Sistemas de Informação

1- Nível da lógica Digital

1.1 - Introdução

Um computador digital é uma máquina projetada para armazenar e manipular informações

representadas por algarismos ou dígitos que podem assumir dois valores distintos 0 ou 1, por

isso são chamados de computadores digitais binários, ou simplesmente, computadores

digitais.

Fisicamente, os valores 0 ou 1 são representados no computador pelas tensões 0,5 V ou 3,0 V,

respectivamente. Estes valores são entendidos pelo computador respeitando uma faixa de

tolerância, uma vez que é impossível construir equipamentos ou chips que mantenham

exatamente aquelas tensões.

O computador é fabricado com circuitos eletrônicos que precisam armazenar os sinais

binários e realizar certos tipos de operações com eles. Estes circuitos são chamados de

“circuitos digitais” e são formados por pequenos elementos capazes de manipular as

grandezas binárias. Estes pequenos elementos são conhecidos como portas (“gates”) por

permitirem (ou não) a passagem destes sinais, e os circuitos que contém portas lógicas são

conhecidos como circuitos lógicos.

Uma porta é um elemento do hardware, que recebe um ou mais sinais de entrada e produz

um sinal de saída, cujo valor depende da lógica estabelecida para sua construção.

1.2 – Portas e operações lógicas

Uma vez que as variáveis de entrada em uma porta lógica só podem ser 0 ou 1, é possível

tabular as saídas correspondentes em uma “Tabela Verdade”, em função da lógica da porta.

Também é possível tabular uma “Tabela Verdade” para um circuito lógico.

OBS: Existem chips com mais de duas entradas por porta, porém não é o mais comum

Bacharelado em Sistemas de Informação

1.2.1 – Portas AND (E)

A porta AND é definida como sendo o elemento que produz um resultado verdade (1) se e

somente se todas as entradas forem verdade. O seu símbolo e a sua “Tabela Verdade’, então

são os seguintes:

Uma das mais importantes utilidades desta porta é a ativação de uma linha de dados para

controlar o fluxo de bits em um computador.

  • O terminal Vcc refere-se à ligação da alimentação em tensão contínua ( + ).
  • GND é o terminal onde é conectada a referência de terra ( – ).
  • Cada uma das quatro portas lógicas possui duas entradas (A e B), correspondentes aos terminais 1, 2, 4, 5, 9, 10, 12 e 13.
  • Cada uma das quatro portas lógicas possui uma saída (X), correspondentes aos terminais 3, 6, 8 e 11. A operação lógica AND também pode ser efetuada entre dois números. O resultado será dado

a partir da operação AND aplicada nos respectivos dígitos de cada um dos dois números:

Bacharelado em Sistemas de Informação

É interessante observar que a conexão de dois circuitos inversores em série produz na saída,

um resultado de valor igual ao da entrada.

  • O terminal Vcc refere-se à ligação da alimentação em tensão contínua ( + ).
  • GND é o terminal onde é conectada a referência de terra ( – ).
  • Cada uma das seis portas lógicas possui uma entrada (A), correspondentes aos terminais 1, 3, 5, 9, 11, 13.
  • Cada uma das seis portas lógicas possui uma saída (X), correspondentes aos terminais 2, 4, 6, 8, 10 e 12.

A operação lógica NOT também pode ser efetuada em um número. O resultado será dado a

partir da operação NOT aplicada nos dígitos do número:

1.2.4 – Porta NAND (NOT AND)

A porta NAND é definida como o complemento da porta AND, isto é, a saída de um circuito

NAND equivale à saída de um circuito AND passando por uma porta NOT. O seu símbolo e a

sua “Tabela Verdade’, então são os seguintes:

Bacharelado em Sistemas de Informação

  • O terminal Vcc refere-se à ligação da alimentação em tensão contínua ( + ).
  • GND é o terminal onde é conectada a referência de terra ( – ).
  • Cada uma das quatro portas lógicas possui duas entradas (A e B), correspondentes aos terminais 1, 2, 4, 5, 9, 10, 12 e 13.
  • Cada uma das quatro portas lógicas possui uma saída (X), correspondentes aos terminais 3, 6, 8 e 11. A operação lógica NAND também pode ser efetuada entre dois números. O resultado será

dado a partir da operação NAND aplicada nos respectivos dígitos de cada um dos dois

números:

Portas obtidas através de combinações de portas NAND

Bacharelado em Sistemas de Informação

1.2.6 – Porta XOR (EXCLUSIVE OR) A operação XOR, abreviação de EXCLUSIVE OR, pode ser considerada um caso particular da

função OR, ou seja, sua definição: “a saída será verdade se exclusivamente uma ou outra

entrada for verdade”. Não podem ambas entradas ser verdade e é esta a diferença para os

resultados da porta OR.

  • O terminal Vcc refere-se à ligação da alimentação em tensão contínua ( + ).
  • GND é o terminal onde é conectada a referência de terra ( – ).
  • Cada uma das quatro portas lógicas possui duas entradas (A e B), correspondentes aos terminais 1, 2, 4, 5, 9, 10, 12 e 13.
  • Cada uma das quatro portas lógicas possui uma saída (X), correspondentes aos terminais 3, 6, 8 e 11.

A operação lógica XOR também pode ser efetuada entre dois números. O resultado será dado

a partir da operação XOR aplicada nos respectivos dígitos de cada um dos dois números:

Bacharelado em Sistemas de Informação

1.2.7 – Porta XNOR (EXCLUSIVE NOR)

A operação XNOR, abreviação de EXCLUSIVE NOR, equivale a uma porta XOR com saída

invertida.

  • O terminal Vcc refere-se à ligação da alimentação em tensão contínua ( + ).
  • GND é o terminal onde é conectada a referência de terra ( – ).
  • Cada uma das quatro portas lógicas possui duas entradas (A e B), correspondentes aos terminais 1, 2, 5, 6, 8, 9, 12 e 13.
  • Cada uma das quatro portas lógicas possui uma saída (X), correspondentes aos terminais 3, 4, 10 e 11.

A operação lógica XNOR também pode ser efetuada entre dois números. O resultado será

dado a partir da operação XNOR aplicada nos respectivos dígitos de cada um dos dois

números:

1.3 – Portas lógicas ou Circuitos lógicos

Portas lógicas são dispositivos, ou circuitos lógicos, que operam um ou mais sinais lógicos de

entrada para produzir uma e somente uma saída, dependente da função implementada no

circuito. São geralmente usadas em circuitos eletrônicos, por causa das situações que os sinais

deste tipo de circuito podem apresentar: presença de sinal, ou "1"; e ausência de sinal, ou "0".

Bacharelado em Sistemas de Informação

1.4 – Barramentos

O modelo de barramentos é basicamente o modelo de von Neumann com o acréscimo de maior flexibidade de comunicação. Os barramentos interconectam os elementos básicos – UCP, memória e dispositivos E/S entre si. Fisicamente, barramento é um conjunto de linhas de comunicação que permite a interligação entre dispositivos, como o UCP, a memória e outros periféricos (E/S).

Neste modelo é possível transferência direta de dados entre os dispositivos de E/S e a memória. Este tipo de transferência é feito por dispositivos especiais (controlador de DMA – direct memory access - ou processador E/S) que assumem momentaneamente o controle do barramento e “isolam” a comunicação UCP com a memória e dispositivos E/S. Estas técnicas tendem a acelerar a transferência dos dados entre os dispositivos E/S e a memória.

Os barramentos podem ser unidirecionais (conduzir os sinais em uma única direção), bidirecionais (conduzir ora em uma direção e ora em outra de acordo com comandos eletrônicos), serem de três estados (bidirecionais acrescidos da possibilidade de se desconectarem eletricamente) ou unidirecional com a possibilitadade de desconexão elétrica.

A possibilidade de desconexão elétrica é controlada eletrônicamente e torna viável a comunicação seletiva entre os dispositivos. Por exemplo, a UCP se comunica com a memória e se desconecta dos dispositivos E/S ou a um dispositivo de entrada transfere dados para memória desconectando a UCP e os dispositivos de saída do barramento.

A Figura abaixo mostra um detalhamento da arquitetura de barramentos. Há logicamente três tipos de barramentos:

  • barramento de dados
  • barramento de endereços
  • barramento de controle

Bacharelado em Sistemas de Informação

O barramento de dados é responsável pela transferência de dados entre os dispositivos e instruções entre a UCP e memória. É de três estados (tri-state) e liga a memória, a UCP e os dispositivos E/S. Frequentemente o número de linhas do barramento de dados é um valor que corresponde a uma potência de 2 (8, 16, 32, 64 etc.). O barramento de endereços é aquele que conduz o endereço a ser selecionado na memória ou dispositivos E/S. É geralmente unidirecional entre a UCP (que define o endereço) e a memória e os dispositivos E/S. Da mesma forma que o barramento de dados, o número de linhas do barramento de endereços é um valor que corresponde a uma potência de 2. O barramento de controle transfere os sinais de controle que ativam ou desativam os dispositivos, que selecionam determinado modo de operação ou sincronizam os circuitos. Cada linha ou conjunto de linhas tem uma característica de operação própria de acordo com a sua função.

Algumas vezes os barramentos podem estar multiplexados. A multiplexação é uma técnica que permite a utilização das mesmas linhas físicas por mais de um conjunto de sinais. Em alguns modelos de computadores os barramentos de dados e de endereços correspondem às mesmas linhas físicas. Em um determinado instante os dados estão presentes no barramento e em outro os endereços. Neste caso os sinais de controle coordenam a operação. A multiplexação torna o sistema mais econômico em termos de hardware, porém diminui a velocidade de operação.

Na imagem abaixo é mostrado um exemplo de um computador muito simples com um barramento de dados de 8 bits, de endereços de 16 bits e de controle de três bits. Neste exemplo o barramento de dados é de 8 bits (D 7 ....D 0  28 = 256 valores diferentes), o barramento de endereços de 16 bits (A 15 ...A 0  216 = 65.536 endereços diferentes – 64K) e o barramento de controle de 3 bits. Neste exemplo os sinais de controle ready, R/W e IO/M controlam o fluxo das informações nos demais barramentos.

O sinal ready (um bit) é usado para indicar a UCP que um dispositivo de entrada está pronto para enviar um dado para a própria UCP, ou para memória, ou ainda que um dispositivo de saída está pronto para receber um dado da UCP ou da memória. A linha ready serve para sincronizar a UCP com a disponibilidade de dados nos dispositivos E/S. Este sinal serve principalmente para compatibilizar as velocidades, pois a UCP opera em velocidades bem mais altas que os dispositivos E/S.

Bacharelado em Sistemas de Informação

1.4.1 – Exemplo de Barramento - ISA

ISA (acrónimo para Industry Standard Architecture), é um barramento para computadores, padronizado em 1981, inicialmente utilizando 8 bits para a comunicação, e posteriormente adaptado para 16 bits. A primeira tecnologia de barramentos de expansão a implementar o PnP, foi a MCA, que era proprietária da IBM. Percebeu-se logo que o PnP era uma excelente novidade, pois o usuário não tem que configurar jumpers correndo o risco de queimar a placa. Tal facilidade foi implantada para o barramento ISA. Os slots ISA não PnP (Plug and Play)são conhecidos como Legacy ISA.

IBM nunca definiu seguramente as especificações do barramento do PC em relação a detalhes técnicos, como carga e sincronização. Isso impedia que um projetista de adaptadores pudesse garantir que sua placa fosse funcionar em todos os sistemas baseados no PC. Para remediar essa situação, a Intel começou a definir as informações de sincronização e carga, para forçar a utilização de um padrão definitivo. A Intel obteve o suporte para a criação desse padrão de alguns fabricantes de clones de PC. A especificação resultou no barramento que foi utilizado no PC-AT, criado segundo o que os consórcios de fabricantes de clones achavam ser a intenção da IBM para o PC. Essa especificação ficou conhecida como barramento ISA (Industry Standard Architecture). A partir daí, a IBM não detinha mais a arquitetura do PC sob seu exclusivo controle: ele havia começado a adquirir vida própria. O barramento ISA foi a primeira alteração no barramento original do PC. O primeiro PC e o PC-XT possuíam barramentos que podiam transportar 8 bits de dados por vez. Quando a IBM introduziu o PC AT em 1984, o novo sistema incluía slots de expansão estendida, para poder enviar 16 bits de dados por vez – o dobro da informação que o barramento original podia tratar – usando um clock de 8 MHz, o que resulta numa velocidade de comunicação teórica de 16 MB/s. Na prática, a velocidade no barramento ISA fica em torno de 2,5 MB/s.

Os slots de expansão ISA têm ainda a vantagem de aceitar a conexão de adaptadoras antigas de 8 bits. As placas mais antigas simplesmente utilizam a subdivisão do slot ISA. A partir do PC-AT, começou a ficar definido quem iria segurar as rédeas do jogo da tecnologia do PC daí em diante. O barramento ISA foi criado atrelado às características do microprocessador usado no PC-AT, o Intel 80286.

Originalmente, o barramento estava sincronizado com a CPU, pois ambos operavam na mesma velocidade de clock, 8 MHz, em 16 bits. Quando a velocidade da CPU excedeu a 10 MHz, os periféricos que operavam em até 8 MHz, não poderiam acompanhar a CPU. Logo o barramento ISA fixou a transferência de dados de 8 e 16 bits, com clock de 8 MHz para todos os dispositivos ligados ao barramento.

Como o ISA não poderia operar na velocidade dos processadores modernos que fossem surgindo, o processador e a memória passaram a se comunicar por um barramento exclusivo, denominado de barramento local. Dessa forma, a memória é acessada com a velocidade de clock do processador.O barramento ISA continua sendo usado mesmo nas placas mãe mais avançadas, mas em conjunto com outros barramentos mais poderosos. A maioria das placas periféricas não sofre queda de desempenho, mesmo utilizando o barramento ISA. Por exemplo, as placas fax-modem podem operar normalmente no barramento ISA, pois a transmissão de dados através de uma linha telefônica é muito mais lenta que o clock do ISA. Apesar do ISA haver se mantido durante muitos anos e só recentemente começar a ser destituído das placas mãe, dois dispositivos principais começaram a ser muito prejudicados pelo baixo desempenho do ISA:

Bacharelado em Sistemas de Informação

As placas de vídeo de alta resolução possuem uma grande quantidade de memória de vídeo; Para que um programa possa desenhar uma figura com alta resolução e, também, uma grande quantidade de cores é preciso manipular uma grande quantidade de memória de vídeo. É também necessário manter uma taxa de atualização de vídeo constante, para se conseguir fidelidade no vídeo. O lento barramento ISA degradava o desempenho em todas as operações de formação de telas.

Depois da placa de vídeo, o disco rígido foi o segundo dispositivo a sofrer com a lentidão do barramento ISA. Discos cada vez mais velozes esbarravam na lenta taxa de transferência do barramento. Foram criados novos discos capazes de transferir dados em 32 bits, à velocidades altíssimas; mas toda essa velocidade não adiantava muito, pois os dados precisariam percorrer através do vagaroso barramento ISA.

2 - Nível da Microarquitetura

O projeto do nível de microarquitetura depende:

  • da arquitetura do conjunto das instruções a serem implementadas
  • dos objetivos de custo e performance do computador que estiver sendo projetado

A maioria das ISAs modernas, em particular os projetos RISC, tem instruções simples que

podem ser executadas em um único ciclo de clock

As ISAs mais complexas, como a do Pentium, precisam de mais ciclos para executar uma única

instrução. Neste caso faz-se necessário metodologias de sequenciamento de instruções mais

otimizados para melhorar a performance da máquina em termos de tempo.

Bacharelado em Sistemas de Informação

  • Uma UAL, cujas entradas estão ligadas aos barramentos A e B
  • Um Deslocador alimentado pela saída da UAL e que alimenta o barramento C

A função a ser executada pela UAL é determinada pelas 6 linhas de controle

  • F0 e F1 para determinação da operação
  • ENA e ENB para habilitar individualmente suas entradas A e B
  • INVA para inverter a entrada de A
  • INC que força um vem-um para o bit menos significativo (incremento de 1)
  • A figura 4.2 apresenta algumas combinações úteis desses sinais de contrôle

Fo F1 ENA ENB INVA INC Função

O 1 1 O O O A
O 1 O 1 O O B

O 1 1 O 1 O A' (A negado)

1 O 1 1 O O B' (B negado)

1 1 1 1 O O A+B
1 1 1 1 O 1 A+B+
1 1 1 O O 1 A+
1 1 O 1 O 1 B+
1 1 1 1 1 1 B-A
1 1 O 1 1 O B- 1
1 1 1 O 1 1 - A
O O 1 1 O O A AND B
O 1 1 1 O O A OR B
O 1 O O O O O
O 1 O O O 1 1
O 1 O O 1 0 - 1

Bacharelado em Sistemas de Informação

Fig. 4.2 Combinações úteis dos sinais de controle da UAL com as funções executadas por cada

uma delas.

Observações:

  • O registrador H pode ser carregado com o valor presente no barramento B, realizando- se uma soma com o sinal ENA desabilitado (ENA=0).
  • Deslocamentos a direita e à esquerda podem ser comandados pelos sinais de controle do deslocador. Exemplos: o SLL8 - desloca a saída da UAL 1 byte a esquerda, deixando 0s no byte da direita o SRR1 - deslocamento a saída da UAL 1 bit para a direita, sem modificar o bit + significativo (bit de sinal)

2.1.1 - Temporização do caminho de dados

Questão:

Um registrador pode ser lido e escrito no mesmo ciclo de clock sem produzir lixo?

Resposta:

A temporização exata do caminho de dados torna possível a leitura e a escrita de um

registrador no mesmo período de clock. Como isto é feito está mostrado na Figura

Diagrama de tempo de um dos ciclos do caminho de dados.