Apostila de Arquitetura de Computadores
Apostila de Arquitetura de Computadores
Apostila de Arquitetura de Computadores
Organização de
Computadores
UCSAL 2020-02
p
Valor de Posição = Va x Base
Va = Valor do algarismo
p = Posição
5 Sistemas de Numeração
Desde crianças, aprendemos a representar as quantidades através do sistema indo-
arábico com 10 símbolos. Por isso associamos rapidamente as combinações dos
algarismos dentro dos números às respectivas quantidades representadas. Ao ver o
preço de um produto em uma loja, por exemplo, basta ver o número para concluir
se está caro, barato, se a compra é viável etc.
No entanto, o uso de outros sistemas de numeração, também baseados na notação
posicional, pode ser particularmente interessante, especialmente quando falamos de
computadores. Nestes sistemas, o que muda é a base do sistema, ou seja, a
quantidade de símbolos utilizados. Assim como no caso da adoção de informações
digitais ao invés de analógicas, novamente o argumento é a simplicidade.
O sistema decimal exige a identificação de 10 diferentes símbolos, que precisam ser
representados, dentro de um computador, de formas diferentes. Quanto maior a
quantidade de símbolos diferentes a serem identificados, obviamente maior é
possibilidade de falhas, já que símbolos diferentes podem ser confundidos. Além
disto, se você tiver oportunidade de se aprofundar nos métodos utilizados pelos
computadores para realizar contagens, operações matemáticas e comparações,
perceberá que uma quantidade menor de símbolos fatalmente aumenta a
simplicidade operacional.
Cada dígito binário é conhecido como bit (Binary digIT, uma sigla estranha,
o que é comum na cultura americana). Conjuntos de bits ou múltiplos, têm
nomes específicos. Como se trata de uma base binária, os múltiplos são
sempre potências de 2:
4 bits (22) = 1 nibble 8 bits (23) = 1 Byte.
O Byte (utiliza-se inicial maiúscula, inclusive nas siglas, para diferenciar de
bit), por sua vez, também tem seus múltiplos com base em potências de 2:
1024 Bytes (210 Bytes) = 1 KiloByte 1024 GB (240 Bytes) = 1 TeraByte
1024 KB (220 Bytes) = 1 MegaByte 1024 TB (250 Bytes) = 1 PetaByte
1024 MB (230 Bytes) = 1 GigaByte 1024 PB (260 Bytes) = 1 ExaByte
Apenas a título de curiosidade, um tabuleiro de xadrez, com suas 64 casas
preenchidas ou não com um grão de feijão, permitiria endereçar 2 PetaBytes.
7 Circuitos elétricos
Antes de vermos a implementação dos blocos básicos de um dispositivo
computacional, precisamos entender o princípio de operação de qualquer circuito
elétrico.
Em um circuito elétrico, uma fonte de tensão provoca a circulação física de elétrons
(ou lacunas no sentido matemático) através de condutores. No caminho entre os dois
polos desta fonte, os elétrons podem passar por componentes que transformarão a
energia da diferença de potencial da fonte em outro tipo de energia (térmica,
luminosa, eletromagnética etc).
A aplicação de uma diferença de potencial de tensão (V) pela fonte provoca a
circulação de uma corrente elétrica (i) que depende da resistência elétrica (R) que
os condutores e componentes oferecerão, ao longo do circuito, à passagem da
corrente (i = V / R).
A depender da tensão da fonte, e da sua potência, podem ser fornecidas diferentes
intensidades de energia térmica (pelo aquecimento de um condutor específico), de
luz (pela excitação de materiais luminescentes, por exemplo), de campos
magnéticos (em um eletroímã, ou relé, por exemplo), de trabalhos mecânicos (pelo
acionamento de motores), entre outros. Nos exemplos que estudaremos e veremos
em laboratório, utilizaremos uma fonte de alimentação externa que alimentará
A lógica NÃO estabelece uma saída com valor oposto à entrada, ou seja, se a
entrada for verdadeira, a saída será falsa, e vice-versa. A lógica NÃO só
admite uma única entrada para uma saída.
Uma vez conhecidos estes três blocos básicos, a pergunta típica é: seria possível
construir um computador utilizando apenas estes exemplos de circuitos?
Em termos funcionais, com apenas estes 3 blocos, teoricamente é possível construir
um computador. O problema é que um computador exige a interligação entre
milhares destes blocos. Sendo assim, a saída de um bloco deve poder funcionar
como entrada do próximo bloco, e assim sucessivamente. Como um LED aceso
normalmente não é suficiente para acionar um interruptor, precisamos melhorar os
circuitos apresentados (na verdade até existe como fazer isto, mas não seria prático,
e exigiria outros componentes que ainda não estudamos).
Na época do desenvolvimento dos primeiros dispositivos computacionais, os
interruptores de entrada foram substituídos por relês eletromecânicos, o que resolvia
o problema da interconexão. No entanto, relés eletromecânicos ocupam muito
espaço, consomem muita energia, são lentos e apresentam falhas depois de algum
tempo de uso.
A primeira evolução, que gerou a chamada 1ª Geração dos Computadores, foi a
substituição dos relés mecânicos por válvulas a vácuo. A válvula é um componente
eletrônico muito utilizado no passado (ainda existe uma dentro do seu micro-ondas,
chamada de “Magnetron”). Entre as principais aplicações da válvula está a de “relé
eletrônico”, porém mais confiável e rápida. No entanto, a válvula ainda ocupava um
espaço significativo, e consumia muita energia. Mesmo assim, os primeiros
computadores conhecidos eram baseados em válvulas a vácuo.
Na 2ª Geração, as válvulas foram substituídas com vantagens pelos transistores, o
que reduziu o seu tamanho e consumo de energia. Na 3ª geração, vieram os
chamados “circuitos integrados”, avós dos chips atuais. Nos experimentos no
laboratório, utilizaremos as versões modernas destes primeiros chips.
Implementa a função lógica E. A porta AND pode ter duas ou mais entradas.
A B S
0 0 0
0 1 0
1 0 0
1 1 1
9.2 Porta OR
Implementa a função NÃO. A porta NOT tem apenas uma entrada. Pode vir
acoplada à saída das portas lógicas anteriores, que passam a se chamar de
NAND e NOR.
A S
0 1
1 0
Tem apenas uma saída. Apresenta uma saída verdadeira toda vez que o
número de entradas verdadeiras for par (0 ou 2). Existem, no entanto, duas
outras formas de avaliar a saída:
- Será verdadeira quando as entradas forem diferentes;
- A saída é o dígito menos significativo da soma das entradas.
A porta XOR possui sempre duas entradas. Quanto à saída da mesma é
conectada uma porta NOT, ela se transforma em uma porta XNOR.
A B S
0 0 0
0 1 1
1 0 1
1 1 0
15 Estrutura de um Computador
15.1 ENIAC: o primeiro computador de uso geral
Com 1.000 posições de memória com palavras de 40 bits, o IAS, até hoje
conhecido como “a máquina de Von Neumann” armazenava, em cada palavra
de memória, um número ou carácter codificado, ou então duas instruções de
20 bits, sendo que os primeiro 8 bits contiam o “OpCode”, e os 12 bits finais
os operadores daquele instrução específica.
A CPU, por sua vez, pode também ser dividida em 3 blocos principais: a
Unidade Lógica e Aritmética, a Unidade de Controle e os Registradores. Desta
vez, os blocos são interligados pelos barramentos internos da CPU.
16 Operando o IAS
Como a esmagadora maioria dos computadores atuais utiliza uma estrutura similar
à Máquina de Von Neumann, cabe utilizá-la como exemplo para entender a
operação básica de um computador de uso geral.