Buscar

Organização de computadores - Aula 01

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 149 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 149 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 149 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Organização e Arquitetura 
de Computadores
Histórico da Arquitetura de 
Computadores
Prof. Wanderson Senra Michel
wanderson.senra@udf.edu.br
Como Surgiu o Computador?
História e Evolução dos Computadores
• Geração Zero (? - 1945) – Mecânicos
• Primeira Geração (1945 - 1955) – Válvulas
• Segunda Geração (1955 - 1965) – Transistor
• Terceira Geração (1964 - 1980) – Circuito Integrada
• Quarta Geração (1980 – 2000) – CI VLSI
• Quinta Geração (Atualmente) – Uso de Inteligência
Artificial. Atribuir ao computador características humanas.
História e Evolução dos Computadores
Geração Zero (? - 1945) – Mecânicos
• Necessidade de contar (?)
Dizem que os pastores contavam nos dedos as suas ovelhas...
Daí os termos dígito, digital, decimal, ...
Mas, com o número de ovelhas crescendo...
usar somente os dedos passa a ficar complicado. 
Começaram, então, a usar pedrinhas, que foram ficando 
difíceis de carregar... Transformaram-nas em contas...
Daí os termos cálculo, calcular, contar, ...
Calculus (latim) = Pedrinha Digitus (latim) = Dedo
• Ábaco (2000AC)
Inventado pelos Chineses, sendo utilizado ainda hoje.
Uma pessoa treinada pode efetuar operações de soma, 
subtração, multiplicação, divisão e radiciação com 
velocidade comparável a de uma maquina de calcular.
Geração Zero (? - 1945) – Mecânicos
• Bastões de Napier (1614)
John Napier, matemático
escocês, inventor dos
logaritmos naturais ou 
neperianos, criou os
Bastões de Napier, que
consistiam num conjunto
de 9 bastões, um para cada 
dígito, que transformavam a 
multiplicação de dois número 
numa soma das tabuadas de 
cada dígito.
Geração Zero (? - 1945) – Mecânicos
• Bastões de Napier (1614)
Geração Zero (? - 1945) – Mecânicos
Operação: 6 x 739
• Bastões de Napier (1614)
Geração Zero (? - 1945) – Mecânicos
Operação: 6 x 739
• Bastões de Napier (1614)
Geração Zero (? - 1945) – Mecânicos
Operação: 6 x 739
• Régua de Cálculos (1633)
• 1633 ⇒⇒⇒⇒ ano em que o cientista Galileu Galilei era julgado
pela Santa Inquisição, William Oughtred representou os
logaritmos de Napier em escalas, que recebeu o nome de
Círculos de Proporção. Este dispositivo de Oughtred
originou a Régua de Cálculos, que conhecemos até hoje.
Esta Régua é considerada como o primeiro computador
analógico da História.
Régua de Cálculos
Geração Zero (? - 1945) – Mecânicos
Círculo de 
Proporção
Em 1889, Herman Hollerith, inventor
americano, e fundador da empresa que
deu origem a IBM estava às voltas com
um problema norte-americano: estava
sendo realizado um censo demográfico
no país, mas se temia pela quantidade
de tempo necessário para apurar todos
os resultados desejados.
Para piorar o caso, no censo realizado
10 anos antes, foram necessários sete
anos para se chegar aos resultados
buscados. Por conta disso, acreditava-se
que, para este novo censo, seriam
necessários 10 anos de análise.
Geração Zero (? - 1945) – Mecânicos
No entanto, com a máquina
inventada por Hollerith, o resultado
do censo foi apurado em apenas
seis semanas.
Além da agilidade que conferiu ao
processo, a máquina desse
americano trazia consigo a idéia de 
cartões perfurados para armazenar
dados.
Ou seja, os cartões perfurados
tinham na época uma função
parecida com a dos nossos
disquetes, que é armazenar
informações (guardadas as
devidas proporções).
Geração Zero (? - 1945) – Mecânicos
Mas foi a partir da II Guerra Mundial 
que o desenvolvimento dos 
computadores eletrônicos ganhou
mais força, quando os governos
perceberam o potencial estratégico
que estas máquinas ofereciam.
O primeiro computador eletromecânico, o chamado
Versuchmodell 1 ou Z-1, usava relés e foi construído pelo
alemão Konrad Zuse (1910-1995) em 1936.
Zuse tentou vende-lo ao governo para uso militar, mas a 
princípio, foi subestimado pelos nazistas, que não se 
interessaram pela máquina.
Geração Zero (? - 1945) – Mecânicos
O computador nasceu então com a 
II Guerra Mundial, nos EUA, entre 
1943 e 1944.
A Marinha em conjunto com a 
Universidade de Harvard e a IBM 
desenvolveram o ASCC –
Americam Automatic Sequence 
Controlled Calculator (Chamado de Mark I).
Howard Aiken, um professor da Universidade de Haward, 
elabora o primeiro computador eletrônico, através do apoio do 
então presidente da IBM Thomas Watson.
Mark I era um gigante eletromagnético que ocupava 120 m2, 
com milhares de relés e conseguia multiplicar números de 10 
dígitos em 3 segundos.
Geração Zero (? - 1945) – Mecânicos
• Pouca confiabilidade;
• Possuíam dispositivos de entrada/saída primitivos 
(cartões perfurados);
• Baixa velocidade;
• Custo elevado;
• Grande quantidade de energia consumida;
• Necessitavam de grandes instalações de ar 
condicionado para dissipar o calor;
1ª Geração (1945 - 1955) – Válvulas
Construído com o objetivo de auxiliar o exército americano 
no processo de mira de sua artilharia pesada.
• ENIAC (1946)
Características: 
18.000 válvulas, 
1.500 relés, 
Pesava 30.000 Kg, 
Consumia 140.000W,
Para programar o ENIAC era necessário ajustar 6.000 
chaves e conectar um número imenso de cabos.
1ª Geração (1945 - 1955) – Válvulas
Começo da história de zeros e uns (0 e 1), 
mais conhecida como código binário!
O Eniac foi criado para ajudar a decifrar 
códigos secretos usados na Segunda 
Guerra e ele só fazia isso graças às suas 18 
mil válvulas.
Cada válvula funcionava como um 
interruptor de luz, que ligava e desligava, 
soltando pequenas cargas elétricas.
Se a válvula ligasse o computador entendia 
um 1 (um), se desligasse era um 0 (zero).
O computador lia esses zeros e uns e ia 
formando combinações de números 
binários. Ex: (00111010111001)
• ENIAC (1946)
1ª Geração (1945 - 1955) – Válvulas
Inventada pelo gênio John Von Neumann. Ele imaginou que os 
programas poderiam ser representados em forma digital na memória do 
computador juntos com os dados. 
Poderia utilizar a aritmética binária em detrimento a ultrapassada 
aritmética decimal. Esse projeto foi a base do EDSAC, considerado o 
primeiro computador com programa armazenado e ainda é a base de 
praticamente todas as máquinas atuais.
• Máquina de Von Neumann (1946)
Memória
Entrada
SaídaUnidade
de
Controle
Unidade
aritimética
lógica
acumulador
1ª Geração (1945 - 1955) – Válvulas
Eletronic Discrete Variable
Computer ou "Computador
Eletrônico de Variáveis 
Discretas”
• EDVAC (1948-1949) Planejado para acelerar o trabalho 
armazenando tanto programas quanto 
dados em sua expansão de memória 
interna.
Os dados eram armazenados 
eletronicamente num meio material 
composto de um tubo cheio de mercúrio, 
conhecido como “linha de retardo” , 
onde os cristais dentro do tubo geravam 
pulsos eletrônicos que se refletiam para 
frente e para trás, tão lentamente quanto 
podiam, de fato a reter a informação.
Outra grande característica do EDVAC 
era poder codificar as informações em 
forma binária em vez da forma decimal, 
reduzindo bastante o número de válvulas.
1ª Geração (1945 - 1955) – Válvulas
Foi inventada em 1948 no Bell Labs
por John Bardeen, Walter Brattain
e William Shockle os quais 
receberam o prêmio Nobel de física 
em 1956.
Com o uso dos transistores os 
computadores ficaram menores, 
reduzindo drasticamente o 
número de falhas e a dissipação 
de calor.
2ª Geração (1955 - 1965) – Transistor
Dimensões do Transistor
Fio de
cabelo
100µµµµ
Transistor
Um fio de cabelo é 500 vezes mais largo que um transistor
0,2µµµµ
2ª Geração (1955 - 1965) – Transistor
Em 1951 surge o Univac I, o primeiro computador
produzido em escala comercial.
As máquinas ainda eram muito grandes e 
pareciam os tradicionais eletrodomésticos.
• UNIVAC 1 (1951)
2ª Geração (1955- 1965) – Transistor
O primeiro computador transistorizado de propósito geral e 
programável era uma máquina de 16 bits, construída no MIT, 
chamava-se TX-0 (Transistorized eXperimental computer 0).
• TX-0 (1955)
IBM lança em 1955 o primeiro
disco magnético o 
IBM 305 RAMAC com
capacidade de 5MB. 
2ª Geração (1955 - 1965) – Transistor
Nas décadas de 60 e 
70 os computadores 
ainda apresentavam 
aparência bastante 
grande.
Elementos 
semelhantes a 
armários 
caracterizavam os 
computadores.
• TÍPICA CENTRAL DE COMPUTADORES
2ª Geração (1955 - 1965) – Transistor
Os engenheiros da Texas Instruments
desenvolveram o CI (Circuito Integrado), 
também conhecido como pastilhas ou
chips. Esses chips incorporavam, numa
única peça de dimensões reduzidas, 
várias dezenas de transistores já 
interligados, formando circuitos 
eletrônicos complexos.
3ª Geração (1965 - 1980) – Circuito Integrado
Primeiro CI desenvolvido por Jack Kilby no Laboratório da Texas Instruments, Inc
Construído com CIs, projetado para computação 
científica e para rodar aplicações comerciais. 
Não era um único computador, mas sim uma 
família com custos e performance diferentes. Com 
clock que variava de 
1 a 4 Mhz e a 
possibilidade de 
multiprogramação.
• IBM System/360 (1964)
3ª Geração (1965 - 1980) – Circuito Integrado
O mouse é inventado por Douglas Engelbart (EUA), se 
tornando um dos dispositivos mais importantes para 
interface homem-máquina.
• Mouse (1964)
3ª Geração (1965 - 1980) – Circuito Integrado
O primeiro microprocessador fabricado no mundo foi
o Intel 4004. Desenvolvido para Busicom, um 
fabricante de calculadora japonês, os 4004 
possuíam 2.250 transistores e podiam executar até 
90.000 operações por segundo (4 bits)
• Intel 4004 (1971)
 
A revista Popular Electronics anuncia o Altair 
8800, baseado no Intel 8080. Sendo um 
sucesso de vendas. 
A linguagem do Altair é o BASIC (criada por Bill 
Gates e Paul Allen). Sendo utilizado pela 1°vez 
o termo “computador pessoal”.
• Altair 8800 (1975)
3ª Geração (1965 - 1980) – Circuito Integrado
1975 ⇒⇒⇒⇒ Em fevereiro, Bill Gates e Paul Allen
desenvolvem a primeira linguagem para
microcomputadores, o Basic. As linguagens
anteriores eram adequadas aos grandes e
médios computadores. Em abril, a dupla
funda a Microsoft, que se torna a maior e
mais importante companhia de software do
mundo.
3ª Geração (1965 - 1980) – Circuito Integrado
Steve Wozniac projetou o Apple I e utilizou o 
processador 6800 da Motorola ao invés do popular 
8080 da Intel (devido ao custo). 
• Apple I (1976)
3ª Geração (1965 - 1980) – Circuito Integrado
O microprocessador 
Motorola 68000 
apresentou uma 
velocidade de 
processamento muito 
superior a seus 
concorrentes.
• Motorola 68000 (1976)
3ª Geração (1965 - 1980) – Circuito Integrado
A IBM introduziu seu PC (Personal Computer), seguindo a tendência 
do crescente mercado de computador pessoal. O primeiro PC tinha 
clock de 4.77 MHz, microprocessador Intel 8088 e usava o sistema 
operacional MS-DOS da Microsoft. Tornando-se o computador mais 
vendido de toda história.
• IBM PC (1980)
Very Large Scale of Integration
4ª Geração (1980 - 2000) – CI VLSI
Ampliação de CI 
contendo 
aproximadamente 
2400 CI da 
geração anterior.
4ª Geração (1980 - 2000) – CI VLSI
Adam Osborne completou o primeiro computador portátil, 
o Osborne I que pesava 11 Kg e custava $1.795,00. Com 
display de 5 polegadas, 64 KB de memória, um modem, e 
dois drives de disquete de 5 1/4''.
• Osborne I ou PC-5150 (1981)
4ª Geração (1980 - 2000) – CI VLSI
•Propaganda do Osborne
4ª Geração (1980 - 2000) – CI VLSI
A Compaq Computer Corp. introduziu o 1°clone de PC 
que usava os mesmos softwares do IBM PC. 
Com o sucesso do clone, Compaq registrou vendas da 
ordem de 111 milhões de dólares no primeiro ano de 
vendas.
• Compac Clone PC (1981)
4ª Geração (1980 - 2000) – CI VLSI
A Apple Computer lançou o Macintosh, o primeiro 
computador com drive de mouse e interface gráfica. 
Baseado no microprocessador Motorola 68000 o Macintosh 
incluiu muitas das características do Lisa a um preço muito 
mais acessível U$2.500,00.
• Macintosh (1984)
4ª Geração (1980 - 2000) – CI VLSI
A IBM e MIPS lançam as primeiras estações de trabalho baseadas em 
processadores RISC, o PC/RT e sistemas R2000.
• RISC (1986)
A IBM lançou o PS/2, com drive de 
3 1/2'', utilizando o processador 
Intel 80386, com o novo sistema 
operacional, o OS/2 e pela primeira 
vez um computador da IBM vinha 
com mouse.
• IBM PS/2 (1987)
4ª Geração (1980 - 2000) – CI VLSI
Executa 12.3 teraflops. Isto significa que ele é capaz de 
calcular 12.3 trilhões de operações por segundo. Os 
processadores usados são o IBM RS6000 com clock
de 375 MHz. O total de memória RAM é de 6Tb. É composto 
por duzentos gabinetes e ocupa uma área de 2 quadras de 
basquete. 
• IBM ASCI White (2000)
4ª Geração (1980 - 2000) – CI VLSI
Nos países de língua inglesa usa-se a palavra 
computação (do latim computare) e nos 
demais países, normalmente, usa-se a palavra 
informática, de origem francesa (informatique).
Atualmente, tem-se usado também a 
expressão Tecnologia da Informação.
Desde então, o computador sempre foi um 
aperfeiçoamento constante de ideias 
anteriores.
Computação ou Informática?
5ª Geração (Atualmente)
Organização e Arquitetura 
de Computadores
Estrutura Básica de Computadores
Prof. Wanderson Senra Michel
wanderson.senra@udf.edu.br
Unidade Central de Processamento
Unidade
de Controle ULA
Unidade Primária
de Armazenamento
Dispositivos
de Entrada
Dispositivos
de Entrada
Dispositivos
de Saída
Dispositivos
de Saída
Dispositivos de 
Armazenamento
Secundário
Dispositivos de 
Armazenamento
Secundário
Conceito de Sistema Computacional
�Dados
� Memória do computador e mídia de
armazenamento
�Códigos convencionados e expressos em um
sistema de numeração adequado.
� Exemplos:
� Códigos: ASCII, EBCDIC, Unicode
� Sistemas de Numeração: Decimal, Binário,
Octal, Hexadecimal.
�Dados
� Memória do computador e mídia de
armazenamento
�Códigos convencionados e expressos em um
sistema de numeração adequado.
� Exemplos:
� Códigos: ASCII, EBCDIC, Unicode
� Sistemas de Numeração: Decimal, Binário,
Octal, Hexadecimal.
Representação dos Dados no Computador
�Decimal (base 10)
� Algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9
� Sistema usual no cotidiano humano (fora do
computador).
� Binário (base 2)
� Algarismos: 0 e 1
� Sistema de numeração empregado em
sistemas computacionais.
�Hexadecimal (base 16)
� Algarismos: números 0, 1, 2, 3, 4, 5, 6, 7, 8 e
9, letras A, B, C, D, E e F.
� Empregado na representação de números
grandes, Ex.: Endereços de memória.
�Decimal (base 10)
� Algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9
� Sistema usual no cotidiano humano (fora do
computador).
� Binário (base 2)
� Algarismos: 0 e 1
� Sistema de numeração empregado em
sistemas computacionais.
�Hexadecimal (base 16)
� Algarismos: números 0, 1, 2, 3, 4, 5, 6, 7, 8 e
9, letras A, B, C, D, E e F.
� Empregado na representação de números
grandes, Ex.: Endereços de memória.
Sistemas de Numeração
� Exemplo de conversão: Base 2 para base 10
1011011102 = ( ? )10
1011011102 = (1.28 + 0.27 + 1.26 + 1.25 + 0.24 +
1.23 + 1.22 + 1.21 + 0.20 )10 = (1.256 + 0.128 +
1.64 + 1.32 + 0.16 + 1.8 + 1.4 + 1.2 + 0.1)10 =
(256 + 0 + 64 + 32 + 0 + 8 + 4 + 2)10 = 36610
1011011102 = 36610
� Exemplo de conversão: Base 2 para base 10
1011011102 = ( ? )10
1011011102 = (1.28 + 0.27 + 1.26 + 1.25 + 0.24 +
1.23 + 1.22 + 1.21 + 0.20 )10 = (1.256 + 0.128 +
1.64 + 1.32 + 0.16 + 1.8 + 1.4 + 1.2 + 0.1)10=
(256 + 0 + 64 + 32 + 0 + 8 + 4 + 2)10 = 36610
1011011102 = 36610
Conversão Sistemas de Numeração
� Exemplo de conversão: Base 10 para base 2
36610 = ( ? )2
� Exemplo de conversão: Base 10 para base 2
36610 = ( ? )2
366 2
2
2
2
2
2
2
2
183
91
45
22
11
5
2
10 2
01
1
1
0
1
1
1
0
Conversão Sistemas de Numeração
� Exemplo de conversão:
Base 2 para base 16
1011011102 = ( ? )16
101101110 2 = 16E16
� Exemplo de conversão:
Base 2 para base 16
1011011102 = ( ? )16
101101110 2 = 16E16
Decimal Hexadecimal Binário
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 F 1111
Conversão Sistemas de Numeração
� Exercícios:
Converta da base 10 para base 2:
429 – 276 – 385
Converta da base 2 para base 10:
11100101 – 11011000 – 10111110
Converta da base 2 para base 16:
11100101 – 11011000 – 10111110
Converta da base 16 para base 2:
FA1 – 2BA – 168 – DEA
� Exercícios:
Converta da base 10 para base 2:
429 – 276 – 385
Converta da base 2 para base 10:
11100101 – 11011000 – 10111110
Converta da base 2 para base 16:
11100101 – 11011000 – 10111110
Converta da base 16 para base 2:
FA1 – 2BA – 168 – DEA
Conversão Sistemas de Numeração
n16
1
16
256
4.096
65.536
1.048.576
16.777.216
268.435.456
4.294.967.296
68.719.476.736
1.099.511.627.776
17.592.186.044.416
281.474.976.710.656
4.503.599.627.370.496
72.057.594.037.927.936
1.152.921.504.606.846.976
n2
1
2
4
8
16
32
64
128
256
512
1.024
2.048
4.096
8.192
16.384
32.768
n
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sistemas de Numeração – Potência de 2 e 16
� 1 byte = 8 bits
� 1 KB (quilobyte) = 210 bytes = 1024 bytes
� 1 MB (megabyte) = 210KB = 1024 quilobytes
� 1 GB (gigabyte) = 210MB = 1024 megabytes
� 1 TB (terabyte) = 210 GB = 1024 gigabytes =
1024 * 1024 * 1024 * 1024 bytes = 240 ≈
1.099.510.000.000 bytes
� 1 byte = 8 bits
� 1 KB (quilobyte) = 210 bytes = 1024 bytes
� 1 MB (megabyte) = 210KB = 1024 quilobytes
� 1 GB (gigabyte) = 210MB = 1024 megabytes
� 1 TB (terabyte) = 210 GB = 1024 gigabytes =
1024 * 1024 * 1024 * 1024 bytes = 240 ≈
1.099.510.000.000 bytes
Bits e Bytes
Armazenamento
� ASCII (American Standard Code for 
Interchange Information – 8 bits)
� Mais usado em microcomputadores
� Representação de 256 caracteres diferentes (Ex.: 
em um teclado alfanumérico) ���� codificação em 8
bits 
� 128 símbolos universais
� 128 símbolos adicionais, passíveis de variações de 
país para país
� Exemplo: Letra A
� Representação: 4116 = 0100 00012
Códigos de representação de Dados
� Tabela ASCII
0 1 2 3 4 5 6 7
0 NUL DLE SPACE 0 @ P ` p
1 SOH DC1 ! 1 Q a q
2 STX DC2 " 2 B R b r
3 ETX DC3 # 3 C S c s
4 EOT DC4 $ 4 D T d t
5 ENQ NAK % 5 E U e u
6 ACK SYN & 6 F V f v
7 BEL ETB ' 7 G W g w
8 BS CAN ( 8 H X h x
9 HT EM ) 9 I Y i y
A LF SUB * : J Z j z
B VT ESC + ; K [ k {
C FF FS , < L \ l |
D CR GS - = M ] m }
E SO RS . > N ^ n ~
F SI US / ? O _ o DEL
O caractere ‘A' 
corresponde ao
código 41 (coluna
4 linha 1)
O caractere ‘A' 
corresponde ao
código 41 (coluna
4 linha 1)
A
Códigos de representação de Dados
� Exercício: utilizando a tabela ASCII escreva o código 
binário, o código hexadecimal, e o valor decimal 
correspondente dos seguintes símbolos:
� &
� ?
� M
� a
� @
� ~
� 6
Códigos de representação de Dados
� EBCDIC (Extended Binary Code Decimal 
Interchange Code – 8 bits)
� Mais usado em mainframes
� Exemplo: Algarismo 1
� Representação: F116 = 1111 00012
Códigos de representação de Dados
� Unicode
� Representação de 65536 caracteres diferentes �
codificação em 16 bits
� Modelado sobre o conjunto de caracteres ASCII
� Possibilita a codificação da maioria dos caracteres
correntemente em uso
� Usa scripts para a definição de caracteres em um 
idioma específico
DingbatsTibetano KatakanaGrego
Códigos de representação de Dados
Organização da Memória
Arquitetura Placa Mãe
Componentes Instalados na Placa Mãe
www.rtell.com.br
roger4info.blogspot.com
Componentes Instalados na Placa Mãe
• Memória de um computador⇒ subsistema -
construída de vários componentes (vários tipos 
diferentes de memória) interligados e integrados, com 
o objetivo de armazenar e recuperar informações.
• Conceitos Importantes
– Tempo de acesso
– Capacidade
– Volatilidade
– Tecnologia de fabricação
– Temporariedade
– Custo
Organização Básica de Computadores
Tempo de acesso
• Indica quanto tempo a memória gasta para colocar uma 
informação no barramento de dados após uma determinada 
posição ter sido endereçada. 
• É um dos parâmetros que pode medir o desempenho da 
memória. 
• Denominação: tempo de acesso para leitura (ou tempo de 
leitura).
• Dependente do modo como o sistema de memória é construído 
e da velocidade dos seus circuitos. 
• Memórias eletrônicas - igual, independentemente da distância 
física entre o local de um acesso e o local do próximo acesso -
acesso aleatório (direto).
• Dispositivos eletromecânicos (discos, fitas, ..) - tempo de acesso 
varia conforme a distância física entre dois acessos consecutivos 
- acesso sequencial. 
Organização Básica de Computadores
Segundo o Terry’s Computer Tips, para efeito de comparação, 
acessar um dado a partir do disco rígido leva cerca de 0,013 
segundos, enquanto o mesmo dado a partir da RAM chega em 
0,000.000.01 segundos.
Organização Básica de Computadores
Qual a comparação do Tempo de Acesso entre memória RAM e 
disco rígido (HD)?
Capacidade
• Quantidade de informação que pode ser armazenada 
em uma memória; 
• Unidade de medida mais comum - byte, podem ser 
usadas outras unidades como células (no caso de 
memória principal ou cache), setores (no caso de 
discos) e bits (no caso de registradores).
• Dependendo do tamanho da memória, isto é, de sua 
capacidade, indica-se o valor numérico total de 
elementos de forma simplificada, através da inclusão 
de K (kilo), M (mega), G (giga) ou T (tera). 
Organização Básica de Computadores
Volatilidade
• Memórias podem ser do tipo volátil ou não volátil.
• Memória não volátil - retém a informação armazenada 
quando a energia elétrica é desligada. Ex.: Discos, 
Fitas.
• Memória volátil - perde a informação armazenada na 
ausência de energia elétrica. Ex.: Registradores, 
Memória Principal.
• É possível manter a energia em uma memória 
originalmente volátil - uso de baterias. 
Organização Básica de Computadores
Tecnologias de fabricação:
♦ Memórias de semicondutores
♦ Memórias de meio magnético
♦ Memórias de meio óptico
Organização Básica de Computadores
Memórias de semicondutores
♦Dispositivos fabricados com circuitos 
eletrônicos e baseados em 
semicondutores. 
♦Rápidas e relativamente caras, se 
comparadas com outros tipos. 
♦Há várias tecnologias específicas, cada 
uma com suas vantagens, desvantagens, 
velocidade, custo, etc.. 
Organização Básica de Computadores
Classificação de Memórias Semicondutoras
Organização Básica de Computadores
Memória R/W - Read and Write
• Memória de leitura e escrita, de acesso aleatório e volátil.
• Pode ser estática (SRAM) ou dinâmica (DRAM).
– SRAM - uso de circuitos transistorizados (flip-flops) mantém a 
informação enquanto estiver energizada, muito rápida (~ns), 
usada tipicamente como memória cache.
– DRAM - uso de capacitores (1 transistor e 1 capacitor por bit, 
não usa flip-flops), necessita de refresh, alta capacidade de 
armazenamento (> densidade), mais lentas, usadastipicamente como memória principal. Evolução: FPM DRAM 
(Fast Page Mode) assíncrona e mais antiga, EDO DRAM 
(Extended Data Output), também assíncrona, SDRAM 
(memórias Síncronas), etc.
Organização Básica de Computadores
Organização Básica de Computadores
Memória SRAM - exemplos
Organização Básica de Computadores
Módulo de memória EDO.
Módulo de memória SDR 
SDRAM.
Observe que neste tipo há 
duas divisões entre os 
terminais de contato.
Memória DDR2 acima e 
DDR abaixo .
Note que a posição da 
divisão entre os 
terminais de contato é 
diferente.
Fonte: www.infowester.com
Memória R/W - Read and Write
DDR ou SDRAM-II (Double Data Rate SDRAM)
• É uma memória SDRAM muito mais avançada e que consegue 
trabalhar com o dobro do desempenho. Pode-se encontrá-la, por 
exemplo, em placas-mãe equipadas com o processador AMD K7.
RDRAM (Rambus DRAM)
• Baseada em protocolo, isto é, usa padrão de barramento 
proprietário. A arquitetura interna dos circuitos, é muito diferente 
das demais, pois permite a leitura e escrita de até 16 dados 
simultaneamente por circuito. Utilizadas principalmente em 
algumas máquinas de jogos e em aplicações gráficas muito 
intensivas.
Organização Básica de Computadores
ROM - Read Only Memory
• Memória apenas de leitura. Uma vez gravada não pode 
mais ser alterada. De acesso aleatório, não é volátil. 
• Mais lenta que a R/W e mais barata.
• Pode ser programada por máscara ("mask
programmed“- MROM) em fábrica. Devido ao alto custo 
da máscara somente se torna econômica em grandes 
quantidades. 
MROM- O firmware era gravado durante a fabricação do circuito, com 
o auxílio de um filme fotográfico - máscara. As máscaras apresentam 
o inconveniente de serem caras e não permitem regravação.
Organização Básica de Computadores
ROM - Read Only Memory
• Utilizada geralmente para gravar programas que não se deseja 
permitir que o usuário possa alterar ou apagar (Ex.: o BIOS -
Basic Input Output System e Microprogramas de Memórias de 
Controle). 
• Outros tipos: PROM, EPROM, EEPROM e Flash.
Organização Básica de Computadores
PROM - Programmable Read Only Memory
• Memória apenas de leitura, programável. 
• ROM programável com máquinas adequadas 
(chamadas queimadores de PROM).
• Geralmente é comprada "virgem" (sem nada 
gravado), sendo muito utilizada no processo de testar 
programas no lugar da ROM, ou sempre que se queira 
produzir ROM em quantidades pequenas.
• Uma vez programada (em fábrica ou não), não pode 
mais ser alterada.
Organização Básica de Computadores
Memória PROM
Organização Básica de Computadores
EPROM - Erasable Programmable Read Only Memory
• Memória apenas de leitura, programável (com 
queimadores de PROM) e apagável (com máquinas 
adequadas, à base de raios ultra-violeta).
• Tem utilização semelhante à da PROM, para testar 
programas no lugar da ROM, ou sempre que se queira 
produzir ROM em quantidades pequenas, com a 
vantagem de poder ser apagada e reutilizada. 
Organização Básica de Computadores
EEPROM (ou E2PROM) - Electrically Erasable Programmable Read
Only Memory
• Memória apenas de leitura, programável e eletronicamente 
alterável. Também chamada EAROM (Electrically Alterable
ROM). 
• EPROM apagável - processo eletrônico, sob controle da UCP 
(equipamento e programas adequados), menor e mais rápida 
que a EPROM. 
• Mais cara, geralmente utilizada em dispositivos aos quais se 
deseja permitir a alteração, via modem (carga de novas versões 
de programas à distância ou possibilitar a reprogramação 
dinâmica de funções específicas de um programa, geralmente 
relativas ao hardware, p.ex., reconfiguração de teclado, 
programação de terminal, etc).
Organização Básica de Computadores
ROM Flash
• Funcionamento similar ao da EEPROM – conteúdo total ou 
parcial da memória pode ser apagado normalmente por um 
processo de escrita.
• Apagadas e regravadas por blocos (o apagamento não pode ser 
efetuado ao nível de byte como na EEPROM), alta capacidade de 
armazenamento.
• O termo flash foi imaginado devido à elevada velocidade de 
apagamento dessas memórias em comparação com as antigas 
EPROM e EEPROM.
• Ideal para várias aplicações portáteis (câmeras digitais, palmtop, 
assistentes digitais portáteis, aparelhos de música digital ou 
telefones celulares). 
Organização Básica de Computadores
Memória CMOS - (Complementary Metal Oxide 
Semiconductor)
• Tipo especial de memória para armazenamento das 
opções essenciais de configuração de inicialização�
quantidade de memória instalada, data, hora.
• Alimentação via bateria.
• Máquinas Macintosh � RAM de parâmetros.
Organização Básica de Computadores
Memórias de meio magnético
♦Fabricadas de modo a armazenar informações sob a 
forma de campos magnéticos.
♦Devido à natureza eletromecânica de seus 
componentes e à tecnologia de construção em 
comparação com memórias de semicondutores, esse 
tipo é mais barato, permitindo armazenamento de 
grande quantidade de informação. 
♦Método de acesso às informações - sequencial.
♦Exemplos: disquetes, discos rígidos e fitas magnéticas 
(de carretel ou de cartucho). 
Organização Básica de Computadores
Memórias de meio óptico
♦Dispositivos que utilizam um feixe de luz para 
“marcar” o valor (0 ou 1) de cada dado em sua 
superfície.
♦Exemplos: 
♦CD-ROM (leitura)
♦CD-RW (leitura e escrita)
Organização Básica de Computadores
Temporariedade
♦ Indica o conceito de tempo de permanência da 
informação em um dado tipo de memória.
♦Classificação: 
− Armazenamento “permanente”. Ex.: Discos, 
disquetes.
− Armazenamento transitório (temporário). Ex.: 
registradores, memória cache, memória 
principal.
Organização Básica de Computadores
Custo
♦Bastante variado em função de diversos fatores:
− Tecnologia de fabricação
− Ciclo de memória
− Quantidade de bits em um certo espaço físico, 
etc.
♦Uma boa unidade de medida de custo é o preço 
por byte armazenado, em vez do custo total da 
memória em si.
Organização Básica de Computadores
Dispositivo de Memória Sólida
♦SSD é a sigla para Solid-State Drive, algo como 
"Unidade de Estado Sólido", em português. Trata-se de 
um tipo de dispositivo para armazenamento de dados 
que, de certa forma, concorre com os discos rígidos. 
Aceita-se a ideia de que seu nome faz alusão à 
inexistência de peças móveis na constituição do 
dispositivo, o que já não acontece nos HDs, que precisam 
de motores, discos e cabeçotes de leitura e gravação para 
funcionar.
Organização Básica de Computadores
Dispositivo SSD
Métodos de acesso
♦Seqüencial
♦Direto
♦Aleatório
♦Associativo
Organização Básica de Computadores
Método de Acesso Seqüencial
Método de Acesso Direto
Método de Acesso Aleatório
Método de Acesso Associativo
Organização e Arquitetura 
de Computadores
Níveis e Máquinas Multiníveis
Contemporâneas
Prof. Wanderson Senra Michel
wanderson.senra@udf.edu.br
•Conhecer computadores e máquinas 
multiníveis.
•Nível lógico digital: UAL, Organização da 
memória, Clock e registradores.
•Nível de microarquitetura: Fluxos de 
dados, Temporização do fluxo de dados, 
operação de memória, microinstruções.
•Exemplo de macro arquitetura e projeto do 
nível de macroarquitetura (forma 
introdutória).
Objetivo
Computador Digital: “É uma máquina capaz de 
solucionar problemas através da execução de 
instruções que lhe são fornecidas”.
Programa: “É uma sequência de instruções que 
descrevem como executar uma determinada tarefa”.
Instruções de Máquina: “Instruções que o 
computador é capaz de reconhecer e executar, para 
o qual todos os programas devem ser convertidos 
antes que eles possam ser executados”.
ConceitosLinguagem de Máquina: “Linguagem que 
torna possível as pessoas se comunicarem 
com o computador, composta pelas instruções 
primitivas de máquina”.
• Quanto mais complexa a linguagem, e 
portanto as instruções, mais complicados são 
os circuitos eletrônicos para implementá-las.
• Quanto mais simples a linguagem, mais 
difícil é a sua utilização.
Conceitos
Máquina Virtual: “É um computador hipotético 
de linguagem de máquina de um nível mais 
elevado do que a linguagem inerente do 
computador”.
• Pode-se ter também máquinas virtuais 
baseadas em outras máquinas virtuais.
Máquina Multinível: “É um computador que 
possui máquinas virtuais dispostas em 
camadas ou níveis, umas sobre as outras. 
Cada linguagem utiliza a sua predecessora 
como base”.
Conceitos
Máquinas multiníveis contemporâneas?
Organização estruturada de computador
� Máquinas multiníveis contemporâneas
� Nível de lógica digital;
� Nível de microarquitetura;
� Nível de arquitetura de conjunto de instruções;
� Nível de máquina de sistema operacional;
� Nível de linguagem assembly; e
� Nível de linguagem orientada ao problema.
� Reconhecem e executam um conjunto 
limitado e simples de instruções (Linguagem 
de máquina – Binária);
� Exemplo: soma, subtração, transferência de 
dados de uma parte da memória para outra 
parte.
Os circuitos de um computador
� Instruções da linguagem de máquina 
(decidida pelos projetistas de computadores) 
devem:
� Ser simples;
� Ser compatível com o uso da máquina;
� Ser compatível com a performance requerida;
� Ter custo e complexidade da eletrônica 
reduzidos (aplicação).
Organização estruturada de computador
� A linguagem de máquina (binária – baixo 
nível) está muito distante de uma linguagem 
natural (humana – alto nível)
� O que as pessoas precisam fazer é complexo 
e o conjunto de instruções do computador é 
simples.
Organização estruturada de computador
Exemplos de linguagens
� EXEMPLO:
− O usuário quer calcular a correção da trajetória 
de um foguete até a lua.
� Como ele pode fazer isso em linguagem de 
máquina? Trabalho difícil e tedioso para seres 
humanos.
� SOLUÇÃO:
� Criar uma hierarquia de abstrações de níveis mais 
alto baseados nos níveis mais baixos.
� Criar uma organização estruturada de 
computadores para facilitar a comunicação homem-
máquina.
Organização estruturada de computador
Linguagens, níveis e máquinas virtuais
� Supondo a existência das Linguagens:
� L1: Linguagem natural, do usuário (Alto nível e 
complexa).
� L0: Linguagem de máquina (Baixo Nível e 
simples).
� COMO COMPATIBILIZAR L1 com L0? 
� USAR UM TRADUTOR;
� USAR UM INTERPRETADOR.
Linguagens, níveis e máquinas virtuais
� TRADUTOR:
− Cada instrução de L1 é substituída por um conjunto 
de instruções equivalentes de L0;
− Processador executa o programa em L0;
− Todo o programa em L0 é carregado em memória e 
executado;
− O programa pode ser traduzido uma única vez e 
executado várias vezes.
Linguagens, níveis e máquinas virtuais
� INTERPRETADOR:
− Cada instrução de L1 é substituída por um conjunto de 
instruções equivalentes de L0;
− Processador executa instrução de L1 (transformada para L0) 
antes de executar a próxima instrução;
− Cada instrução de L1, transformada em L0, é carregada na 
memória e executada; 
− Não é criado um programa em L0;
− O programa deve ser novamente interpretado para ser 
executado.
Linguagens, níveis e máquinas virtuais
� Ao invés de pensar em tradução ou 
interpretação, pode-se imaginar a 
existência de um computador 
hipotético, ou de uma máquina virtual 
M1, cuja linguagem de máquina seja L1
(e uma máquina real M0 com 
linguagem L0).
Linguagens, níveis e máquinas virtuais
� Os programas poderiam ser escritos em L1, para 
a máquina M1 e:
− (1) Serem executados diretamente em M1 se esta 
máquina fosse de custo de construção baixo, ou
− (2) Serem traduzidos ou interpretados para L0 e 
executados em M0.
� Na prática, implementa-se a solução 2 acima. As 
pessoas escrevem programas para máquinas virtuais 
como se elas realmente existissem. 
Linguagens, níveis e máquinas virtuais
� Muitos níveis de máquinas virtuais podem ser 
implementados;
� Cada linguagem usa a sua linguagem 
antecessora como base;
� Um computador que use essa técnica pode ser 
visto como um conjunto de camadas ou níveis
um em cima do outro como mostra a figura do 
próximo slide.
Linguagens, níveis e máquinas virtuais
Linguagens, níveis e máquinas virtuais
Máquinas multiníveis contemporâneas
Em geral os 
computadores 
modernos são 
máquinas de 6 
níveis
Ilustração comparativa entre as linguagens de programação
� Nível 0: Nível da lógica digital.
� Nível mais baixo da estrutura.
� Objetos de interesse são conhecidos como portas 
lógicas.
� Cada porta lógica tem uma ou mais entradas digitais 
(aceitam 0 ou 1 e calculam funções lógicas simples 
sobre essas entradas. Exemplo: AND, OR e XOR).
� Portas lógicas são combinadas para formar o 
processador – principal dispositivo do computador.
Máquinas multiníveis contemporâneas
� Nível 1: Nível da microarquitetura.
� Enxergamos uma memória local (8 a 32 registradores) 
e a UAL (Unidade Aritmética e Lógica) que realiza 
operações aritméticas muito simples.
� Os registradores são conectados a UAL formando o 
caminho dos dados.
� Operações são controladas por um microprograma ou 
diretamente por hardware.
� Microprograma é um interpretador para as instruções 
do nível 2.
Máquinas multiníveis contemporâneas
� Nível 2: Nível da arquitetura do conjunto de instruções (nível ISA 
- Instruction Set Architecture).
� Definida pelo fabricante e dependente da arquitetura da 
máquina.
� Fabricantes disponibilizam “Manual de Referência da Linguagem 
de Máquina“ ou “Princípios de Operação do Computador 
Modelo XPTO“, ou algo similar.
� Os manuais descrevem como as instruções são executadas 
interpretativamente pelo microprograma ou como elas são 
executadas diretamente pelo hardware.
� Essas informações são necessárias para os desenvolvedores de 
sistemas operacionais.
Máquinas multiníveis contemporâneas
� Nível 3: Nível do Sistema Operacional.
� Instruções da linguagem deste nível também podem conter 
instruções do nível ISA.
� Suporta uma organização diferente da memória.
� Suporta a capacidade de rodar 2 ou mais programas 
simultaneamente.
� Suporta sistemas de comandos ou de janelas (Windows).
� Programadores deste nível e também dos níveis mais baixos, 
são conhecidos como programadores de sistema. Os 
programadores dos níveis mais altos são chamados 
programadores de aplicação.
Máquinas multiníveis contemporâneas
� Nível 4: Nível da linguagem do montador ou 
montagem (Assembly language).
� Linguagem de montagem: Forma simbólica de 
representação das linguagens de nível mais baixo.
� Programas nessa linguagem são primeiro traduzidos 
para as linguagens dos níveis 1, 2, 3 e depois são 
interpretados pela máquina virtual apropriada ou pela 
própria máquina real.
� O programa que realiza essa tradução é chamado de 
montador.
Máquinas multiníveis contemporâneas
� Nível 5: Nível das linguagens orientadas para a 
solução de problemas.
� Conhecidas como linguagens de alto nível. Ex: C, 
Pascal, Java, etc.
� Programas são geralmente traduzidos para os níveis 3 
e 4 por compiladores.
� Alguns são interpretados. Exemplo: Java, Shell Script, 
etc.
Máquinas multiníveis contemporâneas
� Nível 6: ?
� Depende da aplicação
� Pode ser criado para atender necessidades específicas
Máquinas multiníveis contemporâneas
Programas e linguagem de máquina
� OBSERVAÇÕES IMPORTANTES� Computadores são projetados com uma série de níveis, cada 
um deles construído em cima de seus precursores.
� Cada nível representa uma abstração distinta, com diferentes 
objetos e operações.
� A abstração permiter ignorar, “abstrair“ temporariamente, 
detalhes irrelevantes de níveis mais baixos, reduzindo uma 
questão complexa para algo muito mais fácil de ser 
compreendido.
� O conjunto de tipos de dados, operações e características de 
cada um dos níveis é chamado de arquitetura do nível.
� São partes da arquitetura, as características que um 
programador do nível deve enxergar, por exemplo, a 
disponibilidade de memória. 
Máquinas multiníveis contemporâneas
Evolução das máquinas multiníveis contemporâneas
� A invenção da microprogramação;
� A invenção do Sistema Operacional;
� Migração das funcionalidades para o 
Microcódigo;
� A eliminação da Microprogramação;
Evolução das máquinas de vários níveis
•Evolução das máquinas de vários níveis
� Hardware (Nível 0): Composto de circuitos integrados, 
placas de circuitos impressos, cabos, fontes de 
alimentação, memórias, impressoras, etc;
� Softwares: Algoritmos e programas;
•Atualmente é difícil separar o hardware do 
software
� Hardware e Software são equivalentes logicamente;
� Qualquer operação realizada por software pode ser 
diretamente realizada por hardware;
� Qualquer instrução executada por hardware pode ser 
simulada em software;
Evolução das máquinas de vários níveis
•A decisão de se colocar funções em hardware ou 
software depende:
� Custo;
� Velocidade;
� Confiabilidade;
� Frequência esperada de mudanças.
Evolução das máquinas de vários níveis
� Primeiros computadores – década de 1940 –
tinham 2 níveis (Nível ISA + Nível da lógica 
digital);
� Em 1951, Maurice Wilkes sugere a idéia de 
acoplar um interpretador (microprograma) para 
executar os programas do nível ISA (por 
interpretação). Como consequencia:
� Diminui o número de circuitos (hardware + 
simples)
� Aumenta a confiabilidade da máquina 
(circuitos à válvula).
A invenção da microprogramação
� Década de 1950, surgimento montadores e compiladores; 
� Década de 1960 surgimento do nível de sistema 
operacional; Sistemas Batch (lotes); Sistemas Time 
Sharing (tempo compartilhado);
� Em 1970, o uso do nível de ISA interpretado por 
microprograma, ao invés de executado diretamente por 
circuitos eletrônicos, tornou-se uma prática comum.
A invenção da microprogramação
•No início, os computadores:
• Eram operados e gerenciados pelo próprio 
programador; 
• Executavam apenas um programa por vez 
(disponível apenas para um único usuário).
A invenção do Sistema Operacional
Exemplo de execução de um programa FORTRAN:
1.Colocar cartões do compilador FORTRAN na leitora + mandar 
executar (enter)
2. Colocar cartões do programa na leitora (1ª vez) + executar
3. Colocar cartões do programa na leitora (2ª vez) + executar 
(compilador de 2 passos)
4. Se programa não tem erro, o compilador perfurava cartões com 
código de máquina. Senão, corrige programa e volta ao passo 1
5. Colocar programa em linguagem de máquina + cartões da 
biblioteca Fortran e executar
6. Programa é executado. Se há erro de lógica, corrige e volta ao 
passo 1.
A invenção do Sistema Operacional
Por volta de 1960, foi criado o Sistema Operacional:
• Objetivo: Facilitar a operação do computador.
• O S.O..era mantido o tempo todo no computador.
• Cartões de controle comandavam instruções do 
sistema operacional.
• Exemplo:
A invenção do Sistema Operacional
Cartões de Controle: * JOB identifica o usuário, * FORTRAN 
carrega o compilador e *DATA executa o programa com os 
dados que seguem. Programa é executado em sistema 
BATCH.
A invenção do Sistema Operacional
• Com o tempo o S.O. evoluiu incorporando, além de 
algumas instruções do ISA, tratamento de Entrada/Saída. 
As instruções do S.O. eram conhecidas por macros do 
S.O. ou chamadas ao supervisor. 
• Em 1960, no MIT, criou-se o S.O. com compartilhamento 
de vários usuários (por terminais ligados ao computador 
por linhas telefônicas) conhecidos como Sistemas de 
Tempo Compartilhado. 
A invenção do Sistema Operacional
Em 1970 houve uma explosão nos conjuntos de instruções 
das máquinas, expandindo-se o microprograma. 
Exemplos de novas funcionalidades, instruções para: 
- Multiplicação e divisão de inteiros.
- Aritmética em ponto flutuante.
- Chamada e retorno de procedimentos.
- Acelerar a execução de loops.
- Manipulação de cadeias de caracteres.
Migração das funcionalidades para o microcódigo
Devido a facilidade da microprogramação, foram, ainda, 
incorporadas novas funcionalidades do tipo: 
– Acelerar o processamento de programas envolvendo 
cálculo matricial (indexação e endereçamento indireto).
– Permitir que os programas pudessem ser deslocados de 
posição de memória, após o início da execução 
(realocação).
– Tratar interrupções que enviam um sinal para o 
processador logo que uma operação de E/S termine.
– Suspender a execução de um programa e iniciar a 
execução de outro (troca de contexto entre processos).
Migração das funcionalidades para o microcódigo
A eliminação da Microprogramação
• Assim os microprogramas cresceram muito e em 
conseqüência, tornaram-se lentos. Voltou a idéia 
de ter instruções e funcionalidades executadas por 
hardware. 
Migração das funcionalidades para o microcódigo
• Fronteira entre hardware e software pode ser 
arbitrária.
• O software de hoje pode ser o hardware de 
amanha, e vice-versa.
• Fronteiras entre demais níveis não estão bem 
definidas e podem também serem mudadas.
• Programador de um nível, em geral, não deve se 
preocupar com implementações de níveis 
inferiores para suspender a execução de um 
programa e iniciar a execução de outro (troca de 
contexto entre processos).
Conclusões sobre máquinas multiníveis
Microprocessadores
da família INTEL
• 1971 - 4004
Primeiro microprocessador (CPU em uma única 
pastilha).
O objetivo era servir de base para a construção de 
calculadores.
4 bits, 45 instruções, 4Kbytes de endereçamento.
• 1972 - 8008
Processador de 8 bits construído para controlar 
terminais.
8 bits, 48 instruções, 16Kbytes de endereçamento.
A Família INTEL
• 1973 - 8080
Características: 64Kbytes de endereçamento, clock 
10 vezes mais rápido que o do 8008, compatível 
com a família TTL.
• 1976 - 8085
Nova versão do 8080, mais rápido.
Incorpora gerador de clock e sinais de controle de 
sistema internamente a pastilha.
A Família INTEL
• 1978 - 8086
Características: 16 bits, 1Mbyte de endereçamento.
Utilizado para a construção de microcomputadores.
Deu origem a família 80x86.
• 1979 - 8088
Versão simplificada do 8086, com via de dados de 8 bits.
Permitiu a construção de microcomputadores mais 
baratos
Escolhido pela IBM como o microprocessador do IBM PC 
original.
A Família INTEL
• 1982 - 80186
Versão do 8086 que incorpora o gerador de clock, controlador 
de interrupção, temporizador e unidade de acesso direto a 
memória. Foi pouco usado.
• 1982 - 80188
Versão simplificada do 80186, com via de dados de 8 bits.
• 1983 - 80286
Versão do 8086 com 16Mbytes de endereçamento.
1Gbyte de espaço de endereçamento de memória virtual.
Unidade de gerenciamento de memória.
CPU do microcomputador PC-AT e de algumas versões do PS/2.
A Família INTEL
• 1985 - 80386
Versão do 8086 de 32 bits.
Suporte a multi-tarefa.
4Gbytes de endereçamento.
64Tbytes de espaço de endereçamento de memória virtual.
80386DX: via de dados externa de 32 bits.
80386SX: via de dados externa de 16 bits. Permitiu a migração do 
hardware do 80286 deforma mais direta.
• 1989 - 80486
Versão melhorada do 80386.
8Kbytes de memória cache interna.
Características de máquinas RISC.
80486DX: versão com o co-processador numérico 80387.
80486SX: versão sem o co-processador numérico.
A Família INTEL
• 1992 - Pentium
Versão melhorada do 80486, com via de dados externa de 
64 bits, trabalhando internamente com 2 processadores.
Cache interno de 16Kbytes (8 para dados e 8 para 
instruções).
• 1995 - Pentium Pro
Versão do Pentium com cache de nível 2 embutido na 
pastilha do microprocessador.
A Família INTEL
A Evolução dos Processadores INTEL
Microprocessadores
da família MOTOROLA
• 1974 - 6800
Primeiro microprocessador da Motorola de 8 bits.
• 1978 - 6809
Evolução do 6800 com registradores adicionais, novas 
instruções de manipulação de dados de 16 bits e mais 
modos de endereçamento.
• 1975 - 6502
Microprocessador popular da Motorola, utilizado nas 
máquinas Apple, compatível com o 6800.
A Família MOTOROLA
• 1979 - 68000
Microprocessador de 16/32 bits possuindo vias de dados 
internas de 32 bits e externas de 16 bits, registradores de 
32 bits. Nem todas as instruções trabalham com 32 bits.
Não é compatível com os anteriores (projeto novo).
Utilizado nos microcomputadores Macintosh.
Deu origem a família 680x0.
• 1980 - 68008
Versão do 68000 com via de dados externa de 8 bits e vias 
de endereços de 20 bits (1Mbyte de endereçamento), que 
não foi muito utilizado.
A Família MOTOROLA
• 1983 - 60010
Evolução do 68000 com controle de memória virtual.
16Mbytes de endereçamento.
• 1983 - 60012
Versão do 60010 com 2 Gbytes de endereçamento.
• 1984 - 68020
Microprocessador de 32 bits, com memória cache interna 
de 256 bytes. Todas as instruções trabalham com 32 bits.
Utilizado pelas estações de trabalho Sun, Apollo e HP.
A Família MOTOROLA
• 1987 - 68030
Versão melhorada do 68020 e com uma unidade de gerenciamento 
de memória dentro da pastilha.
Equivalente ao 80386.
• 1990 - 68040
Versão com co-processador numérico 68881.
Memória cache interna de 4Kbytes para dados e instruções 
independentes.
Equivalente ao 80486.
• 1994 - 68060
Apresenta um projeto super-escalar, com múltiplas unidades de 
execução.
A Família MOTOROLA
Microprocessadores
da família ZILOG
• A Zilog foi fundada em 1974, como uma dissidência da 
Intel, e projetou o famoso microprocessador Z80.
• 1974 - Z80
Processador de 40 pinos, sendo uma versão melhorada do 
8080, de 8 bits.
• 1979 - Z8000
Microprocessador de 16 bits capaz de endereçar até 
8Mbytes de memória.
Possui memória cache para dados e instruções de 256 
bytes e unidade de gerenciamento de memória.
A Família ZILOG

Continue navegando