O documento resume a história dos computadores desde os primeiros dispositivos mecânicos até os microprocessadores modernos. Ele descreve os principais marcos no desenvolvimento dos computadores mecânicos, elétricos e eletrônicos e fornece detalhes sobre a evolução dos microprocessadores desde os anos 1970.
2. Conteúdo programático
Histórico de microprocessadores
Conceitos básicos
Caracterização
Arquitetura
Prof. Mauro
Microprocessadores II
Arquitetura 2
Arquitetura
Pinagem e soquetes
4. Início: “computadores” mecânicos
Século 13 AC: invenção do Ábaco pelos
babilônios
•Primeiro instrumento a permitir executar
todas as operações aritméticas
•Foi muito usado para cálculos no
Prof. Mauro
Microprocessadores II
Arquitetura 4
•Foi muito usado para cálculos no
séculoXVII e ainda é usado até hoje.
•SOROBAN:
•O Soroban é uma versão do ábacus
Chinês, com uma quantidade menor de
contas.
5. Início: “computadores” mecânicos
Octograma Chinês Yin Yang:
Criado pelo imperador chinês Fou-Hi, é a
primeira representação conhecida de
números binários de 0 a 7.
1642: Máquina de calcular de Blaise
Prof. Mauro
Microprocessadores II
Arquitetura 5
1642: Máquina de calcular de Blaise
Pascal (cientista francês)
Rodas e engrenagens
Operações: adição e subtração
Algarismos de 0 a 9 – cada roda
representava uma coluna decimal
Primeira máquina de calcular a ser
comercializada
6. Início: “computadores” mecânicos
1801: Máquina de tear / Cartão
perfurado
Joseph Marie Jacquard (tecelão francês)
Memorizava desenhos em cartões
perfurados e os reproduzia
Operações: adição e subtração
Primeiro registro de programação
Prof. Mauro
Microprocessadores II
Arquitetura 6
Primeiro registro de programação
semelhante à do computador moderno
1833: Máquina analítica
Charles Babbage (inglês) – pai do
computador moderno
Primeiro projeto de um computador de
propósito geral (não construído)
Adição, mutiplicação, instruções
condicionais e de desvio
7. Computadores eletromecânicos
1936: Z1 – baseado em relé (Konrad Zuse -
alemão)
Z3: 1º computador de propósito geral controlado por
programa
Z4: usado em projeto de mísseis
1943: Colosso (Alan Turing). 2000 válvulas e
Prof. Mauro
Microprocessadores II
Arquitetura 7
1943: Colosso (Alan Turing). 2000 válvulas e
máquina de leitura de fita perfurada.
Decodificação de mensagens dos Alemãos
1944: Mark I – (Howard Aiken) (EUA)
Válvulas, fios e interruptores
Usado pela marinha americana em cálculo de balística
8. Curiosidades
Primeira programadora da história: Augusta Ada
Byron (condessa de Lovelace), filha do poeta
Lorde Byron
Formada em matemática, trabalhou com Charles
Babbage
Prof. Mauro
Microprocessadores II
Arquitetura 8
Babbage
1979: Linguagem ADA criada em sua homenagem
Bug (besouro): sinônimo de tudo que prejudique
o bom funcionamento de um programa
Em 1945 um besouro ficou preso nas engrenagens do
Mark I, fazendo a máquina parar
9. Computadores a válvula
1946: Eniac
18.000 válvulas, 30 tonelada
Projeto da bomba “H”
1950: UNIVAC (Universal Automatic Computer)
1º computador de aplicações científicas e comerciais
Prof. Mauro
Microprocessadores II
Arquitetura 9
1º computador de aplicações científicas e comerciais
UNIVAC II e UNIVAC 1100 series
1953: IBM 701
Aplicações científicas
10. Depois da válvula
1960: computadores transistorizados (apesar do
transistor ter sido inventado desde 1947)
IBM 7090, 7094. Linguagens Fortran, Cobol, Basic
1958: circuito integrado (Jack Kilby, Texas
Instruments)
Prof. Mauro
Microprocessadores II
Arquitetura 10
Instruments)
Resistores e capacitores num mesmo pedaço de
material semicondutor
1964: IBM 360 – 1ª família de computadores
planejada
DEC PDP 8: minicomputador, estrutura de barramento
12. Microprocessadores
1975-1977
Z80 (Zilog)
6502 (MOS Technology)
Computador Apple 1 (Steve Wozniac e Steve Jobs)
Prof. Mauro
Microprocessadores II
Arquitetura 12
Criação da Microsoft
Micro CP300 (Z80) Micro Apple II (6502)
(1977) US$ 1.195
Micro Apple I (6502)
13. Microprocessadores
1976: 8085 (Intel)
8 bits; propósito geral
74 instruções; 5MHz; 6.500 transistores
1978: 8086 (Intel)
16 bits (interno e externo); 5, 8 e 10MHz; 29.000 transistores
1979: 8088 (Intel)
16 bits (interno; 8 bits externo); usado no 1º PC (PC/XT)
Prof. Mauro
Microprocessadores II
Arquitetura 13
16 bits (interno; 8 bits externo); usado no 1º PC (PC/XT)
133 instr.; 29.000 transistores
1980: co-processador matemático 8087
Microcontrolador 8051 (Intel)
1982: 80186/188; 80286; PC/AT
1985: 80386. 32 bits; 16,20,25 e 33MHz; 275.000
transistores
14. Tabela resumo da evolução
Prof. Mauro
Microprocessadores II
Arquitetura 14
15. Tabela resumo da evolução
Prof. Mauro
Microprocessadores II
Arquitetura 15
17. Memória
Local de armazenamento de informações
binárias
Podem ser circuitos semicondutores,
mídias magnéticas, óticas, etc.
Cada posição de memória é identificada
Prof. Mauro
Microprocessadores II
Arquitetura 17
Cada posição de memória é identificada
por um ENDEREÇO
Endereçamento é o ato de acessar um
dado em uma posição de memória (para
isso precisamos especificar o endereço)
18. Memória
Endereço Conteúdo
0000h 00
0001h EB
Exemplo de bloco de memória com 64K posições (64KB)
Prof. Mauro
Microprocessadores II
Arquitetura 18
0001h EB
0002h 29
...
FFFFh 00
O conteúdo de cada
posição de memória
pode ser um dado
(numérico ou
caractere) ou uma
instrução
19. Palavra (word)
Unidade de informação natural usada por um
computador particular
Grupo de N bits de tamanho fixo que é
processado em conjunto pela CPU
A quantidade de bits da palavra depende da
arquitetura do computador
Prof. Mauro
Microprocessadores II
Arquitetura 19
arquitetura do computador
O barramentos de dados normalmente é do tamanho
de uma palavra ou meia palavra
Um endereço de memória normalmente referencia
uma palavra
Exemplos: palavra de 8 bits, 16 bits, 64 bits, 128
bits
20. Registradores
Memórias internas do microprocessador
que registram apenas uma informação
binária por vez
Podem ser de 8 bits (1 byte), 16 bits (2 bytes),
Prof. Mauro
Microprocessadores II
Arquitetura 20
Podem ser de 8 bits (1 byte), 16 bits (2 bytes),
32 bits (4 bytes), 64 bits (8 bytes) ou 128 bits
(16 bytes)
São memórias voláteis (perdem o conteúdo
quando desenergizadas)
Exemplos: acumulador, registrador X, Y, etc.
21. Barramentos
São linhas ou canais de comunicação de dados
entre os dispositivos (microprocessador, chipsets,
memória e outros periféricos)
Também chamados de “bus”
Em comparação com o transporte terrestre
seriam as ruas, estradas e rodovias que
Prof. Mauro
Microprocessadores II
Arquitetura 21
seriam as ruas, estradas e rodovias que
interligam as localidades
Os barramentos têm algumas características
importantes para sabermos sua performance e
compatibilidade com dispositivos:
Tamanho ou largura (medida em bits)
Velocidade (medida em Hz - MHz)
22. Barramentos
Barramentos do sistema
Barramentos do processador (de dados, endereços e
controle)
Barramento de memória
Barramento de cache
Barramento frontal (FSB) – liga CPU à ponte norte
Prof. Mauro
Microprocessadores II
Arquitetura 22
Barramento frontal (FSB) – liga CPU à ponte norte
Barramentos de E/S (entrada / saída)
Estão associados a alguma INTERFACE ou PORTA
(interna ou externa) que permite ligar uma unidade de
entrada e/ou saída
Cada porta está vinculada a um endereço ou faixa
única de endereços
23. Pilha
É uma área de memória usada para guardar
dados temporariamente, normalmente oriundos
de registradores, sem nos preocuparmos com
endereços de memória
De forma similar a uma pilha de livros, o último
Prof. Mauro
Microprocessadores II
Arquitetura 23
De forma similar a uma pilha de livros, o último
dado a ser colocado na pilha será o primeiro a
sair
103 Dado 4
102 Dado 3
101 Dado 2
100 Dado 1
Endereços da
pilha
24. Interrupções
São eventos que fazem o processador
parar a execução do programa corrente e
desviar a execução para um bloco de
código chamado rotina de interrupção
Prof. Mauro
Microprocessadores II
Arquitetura 24
Podem ser ocasionadas por:
Pedido interno (interrupções de software)
Pedido externo (interrupções de hardware)
25. Instruções
Instrução é um comando a ser executado
pelo microprocessador
Cada microprocessador tem um conjunto
de instruções (comandos da linguagem de
máquina) particular
Prof. Mauro
Microprocessadores II
Arquitetura 25
máquina) particular
As instruções normalmente são
Mnemônicos (siglas que lembram uma
ação, em inglês)
Ex: LDA (LoaD Acumulator), MOV (MOVe),
ADC (Add with Carry), etc.
27. Microprocessador x Microcontrolador
Microprocessador
É a CPU de um computador ou dispositivo microprocessado,
construída num único circuito integrado
Contém Unidade de Controle, Unidade Lógica e Aritmética e
registradores
Precisa de periféricos externos tais como memória e unidades de
Prof. Mauro
Microprocessadores II
Arquitetura 27
Precisa de periféricos externos tais como memória e unidades de
entrada e saída para compor um sistema funcional mínimo
28. Microprocessador x Microcontrolador
Microcontrolador
Computador completo construído num único Circuito Integrado.
Custo mais baixo; menor desempenho; voltado para aplicações
específicas (dimensões reduzidas, baixo custo e consumo)
Contém portas seriais, portas de entrada e saída, paralelas,
timers, controles de interrupção, memória RAM e ROM
Prof. Mauro
Microprocessadores II
Arquitetura 28
timers, controles de interrupção, memória RAM e ROM
29. Funções do microprocessador
Busca e execução de instruções existentes
na memória
Leitura (de instruções e dados) da
memória
Prof. Mauro
Microprocessadores II
Arquitetura 29
memória
Gravação de dados na memória
Comunicação com o mundo exterior
(entrada e saída – E/S)
30. Número de bits
Número de bits internos:
É definido pela quantidade máxima de bits dos
registradores internos do microprocessador
Daí vem a terminologia microprocessador de 8,
16, 32, 64 bits
Prof. Mauro
Microprocessadores II
Arquitetura 30
16, 32, 64 bits
Número de bits externos:
É definido pela largura do barramento de
dados
Geralmente é igual ao número de bits internos,
mas nem sempre isso ocorre
31. Capacidade de endereçamento
É tamanho máximo tamanho que pode ter
a memória, ou, seja, o número máximo de
células de memória que um
microprocessador consegue acessar
Prof. Mauro
Microprocessadores II
Arquitetura 31
Depende do tamanho do barramento de
endereços
Capacidade = 2N
(N: número de bits no barramento de
endereços)
32. Clock
Define a frequência de operação do
microprocessador
Medida em Hz (Hertz)
Está relacionado com o número de
Prof. Mauro
Microprocessadores II
Arquitetura 32
Está relacionado com o número de
instruções que podem ser executadas a
cada segundo
Cada instrução é executada em N ciclos do
clock
33. Memória cache
Pequena quantidade de memória usada
para acelerar a leitura de dados da
memória RAM
Memória de alta velocidade e alto custo
Prof. Mauro
Microprocessadores II
Arquitetura 33
Memória de alta velocidade e alto custo
Tipos:
Cache interno ou L1 (nível 1) ou primário
Cache externo ou L2 (nível 2) ou secundário
34. Memória cache
Um circuito especial (controlador de cache)
efetua a leitura da memória RAM e coloca-
os na memória cache
O microprocessador obtém os dados
Prof. Mauro
Microprocessadores II
Arquitetura 34
O microprocessador obtém os dados
diretamente do cache e, enquanto isso, o
controlador de cache já está lendo outros
dados da RAM
35. Índice de desempenho
O desempenho (velocidade de processamento) de um
microprocessador depende de:
Velocidade do clock
Número interno de bits
Número externo de bits
Número de ciclos necessários para executar cada instrução
Prof. Mauro
Microprocessadores II
Arquitetura 35
Número de ciclos necessários para executar cada instrução
Capacidade e velocidade da memória cache
Execução de instruções em paralelo
Unidades de medida:
MIPS: Milhões de instruções por segundo
FLOPS: Instruções em ponto flutuante por segundo
36. Conjunto de instruções de máquina
É o conjunto de valores binários que foram
codificados para representar todas as operações
que a CPU executa
Cada instrução ocupa um ou mais bytes e tem
duas partes principais:
Código da operação: identifica a operação a ser
Prof. Mauro
Microprocessadores II
Arquitetura 36
Código da operação: identifica a operação a ser
realizada
Operandos ou endereços: contém valores ou
endereços dos dados que serão usados nas operações
São comandos simples como operações lógicas e
aritméticas, de leitura, gravação comparação e
movimentação de dados
37. Exemplos de aplicações
Os microprocessadores e microcontroladores
podem ser aplicados em:
Microcomputadores
Calculadoras
Relógios digitais
Controle de fornos microondas
Prof. Mauro
Microprocessadores II
Arquitetura 37
Controle de fornos microondas
Lavadora de roupas
Vídeo game e outros brinquedos
Controle de motores
Controle de tráfego
Alarmes e sistemas de segurança
Telefone celular
41. Arquitetura interna - elementos
Unidade Aritmético-Lógica (ULA)
Contador de Instruções (CI) ou Program Counter
(PC)
Registradores de uso geral
De dados: Acumulador (AC) e outros registradores de
Prof. Mauro
Microprocessadores II
Arquitetura 41
De dados: Acumulador (AC) e outros registradores de
dados (A,B,etc)
De índices (X,Y,etc.)
Ponteiro de Pilha ou Stack Pointer (SP)
Registrador de status (Status Flags), ou
sinalizadores
Decodificador de instruções
42. Elementos internos
Unidade Lógica e Aritmética (ULA): executa
as operações aritméticas e lógicas, em conjunto
com o AC e outros registros
A multiplicação ou divisão geralmente é efetuada por
circuitos (hardware) ou rotinas (software) adicionais
Contador de instrução (CI) ou Program
Prof. Mauro
Microprocessadores II
Arquitetura 42
Contador de instrução (CI) ou Program
Counter (PC): registrador que contém o
endereço de memória da próxima instrução de
máquina que será executada
Não deve ser alterado pelo usuário; a própria CPU
muda o endereço automaticamente após executar
cada instrução
43. Elementos internos
Acumulador (AC): principal registrador de
dados; é muito usado para receber dados da
memória que serão tratados por instruções de
adição, subtração, deslocamento, movimentação
Registradores de dados: Registradores que
Prof. Mauro
Microprocessadores II
Arquitetura 43
Registradores de dados: Registradores que
servem para auxiliar a manipulação de dados
pelo acumulador ou como contadores. Em geral
não são usados em operações lógicas ou
aritméticas
Exemplos: X, Y, A, B
44. Elementos internos
Registradores de índices: são usados
na formação do endereço de memória final
(endereçamento indexado), contendo parte
do endereço (índice). Também são usados
em operações de movimentação ou
Prof. Mauro
Microprocessadores II
Arquitetura 44
em operações de movimentação ou
contagem
45. Elementos internos
Ponteiro de pilha ou Stack Pointer
(SP): registrador que aponta para o dado
atual na pilha
Decodificador: parte do
Prof. Mauro
Microprocessadores II
Arquitetura 45
Decodificador: parte do
microprocessador que recebe os bits de
código de operação da instrução, identifica
a instrução a ser executada e aciona a
execução dessa instrução
46. Elementos internos
Registrador de status (Status flags): registrador
onde cada um dos seus bits (chamados de FLAGS) indica
o estado ou condição de um fenômeno ocorrido na última
instrução executada. Os mais comuns são:
Carry (C): indica se ocorreu ou não um “vai um”
Overflow (O): indica se ocorreu ou não o transbordo na última
operação
Prof. Mauro
Microprocessadores II
Arquitetura 46
operação
Zero (Z): indica se o valor obtido é zero
Parity (P) ou Paridade: indica se o valor obtido é par (Even)
ou ímpar (Odd)
Decimal (D): indica se o modo decimal (em que as operações
são executadas em BCD) está ativo
Signal (S) ou Negative (N): indica se o resultado obtido é
negativo (bit 7 = 1) ou positivo (bit 7 = 0)
47. Arquitetura interna (visão prática)
Registradores
De dados AC/A,B,C,etc
De índice X,Y,etc
Registro de Status
SP 0100
Memória RAM
Endereço Conteúdo
0000h 00
0001h EB
0002h 29
...
0100h 00
Microprocessador
Prof. Mauro
Microprocessadores II
Arquitetura 47
PC 0300
Registro de Status
C O Z P S . . .
0100h 00
0101h 00
...
0300h
0301h
...
Área da pilha
Área do
programa
49. Memória
A memória é usada para armazenar DADOS e
PROGRAMAS
Alguns endereços de memória podem dar acesso
a dispositivos de E/S (ex: vídeo, impressora, etc)
A memória pode ser dividida em páginas ou
Prof. Mauro
Microprocessadores II
Arquitetura 49
A memória pode ser dividida em páginas ou
segmentos
Pilha ou stack: porção variável da memória
cujo endereço está acessível através do registro
Ponteiro de pilha ou Stack Pointer (SP). Usada
para guardar valores temporariamente
51. Barramentos
Barramento de dados: barramento através do
qual trafegam os dados que são enviados ou
recebidos pelo microprocessador
É bidirecional
Cada bit equivale a um pino do microprocessador
Prof. Mauro
Microprocessadores II
Arquitetura 51
Cada bit equivale a um pino do microprocessador
A quantidade de pinos define a quantidade de bits
externa do microprocessador (8, 16, 32, 64,...) ou
quantos bits podem ser transferidos de uma só vez
52. Barramentos
Barramento de endereços: serve para o
microprocessador especificar qual a posição de
memória a ser acessada ou qual dispositivo de
E/S a ser ativado
O tamanho do barramento define a quantidade
Prof. Mauro
Microprocessadores II
Arquitetura 52
O tamanho do barramento define a quantidade
máxima de memória endereçável diretamente:
Qtd.bits no
Barram.endereços
Capacidade de
endereçamento
8 256 bytes
16 64 KB
24 16 MB
32 4 GB
53. Barramentos
Barramento de controle: usado para controlar o
acesso e a utilização das linhas de dados e de endereços,
visto que elas são compartilhadas por todos os
componentes.
Exemplos de sinais de controle:
Escrita/leitura na memória (RW): habilita a leitura ou escrita na
memória
Prof. Mauro
Microprocessadores II
Arquitetura 53
memória
Requisição de porta E/S (IO)
Confirmação de transferência (ACK)
Requisição / concessão de barramento
Requisição de interrupção (INT)
Confirmação de interrupção (INT ACK)
Relógio (CLOCK): utilizado p/ temporização de operações
Inicialização (RESET): inicializa todos os módulos do sistema
54. Clock
Gerador de pulsos que sincroniza a
execução de operações do
microprocessador
Unidade: Hz (MHz, GHz)
Prof. Mauro
Microprocessadores II
Arquitetura 54
Unidade: Hz (MHz, GHz)
Ex.: Os microprocessadores 8086/8088
operavam com clock de 5 a 10 MHz
5 MHz = 5 milhões de pulsos por segundo e
não 5 milhões de instruções por segundo
58. Considerações iniciais
Na maioria dos microprocessadores, os pinos de
dados são multiplexados com os de endereços
Eles nunca são necessários simultaneamente
Quantidade de pinos afeta o grau de dificuldade de
encapsulamento (e o custo)
Prof. Mauro
Microprocessadores II
Arquitetura 58
encapsulamento (e o custo)
Apesar de existir pinos com mais de uma função,
a quantidade de pinos ainda é grande
Com o passar do tempo foram criados vários tipos de
encapsulamento
A maior parte dos pinos são pinos de endereço
59. Fabricação e mercado
O encapsulamento é encontrado em dois
materiais:
Plástico
Cerâmica
Prof. Mauro
Microprocessadores II
Arquitetura 59
Cerâmica
A pinagem é de metal. Em alguns modelos
os pinos eram banhados a outro
No mercado, a pinagem é relacionada ao
socket (soquete)
A placa mãe e CPU devem ter mesmo socket
60. Encapsulamento DIP
DIP: Dual In-line Package (Duas linhas de
pinos laterais)
Ex.: Intel 8088
Prof. Mauro
Microprocessadores II
Arquitetura 60
61. Encapsulamento PLCC
PLCC: Plastic Leaded Chip Carrier
Encapsulamento plástico com terminais dos
quatro lados do chip, normalmente dobrados p/
baixo, para uso em soquete
Mais comum em ROM BIOS e microcontroladores
Prof. Mauro
Microprocessadores II
Arquitetura 61
Mais comum em ROM BIOS e microcontroladores
62. Encapsulamento QFP ou SMD
QFD: Quad Flat Package (encapsulamento
quadrado)
Similar ao PLCC, só que para soldagem
SMD (Surface Mountage Devices)
Prof. Mauro
Microprocessadores II
Arquitetura 62
SMD (Surface Mountage Devices)
63. Encapsulamentos PGA e BGA
PGA: Pin Grid Array (matriz de pinos)
BGA: Ball Grid Array (matriz de bolas)
Pinos (ou bolas) saem por baixo do chip
Numeração de pinos por linhas e colunas
Prof. Mauro
Microprocessadores II
Arquitetura 63
Numeração de pinos por linhas e colunas
64. Soquetes
Padrões de conexão do microprocessador à
placa-mãe
Slot 1 (obsoleto)
P/ Pentium II, P3
Prof. Mauro
Microprocessadores II
Arquitetura 64
Soquete 1 (obsoleto)
P/ 486DX, 486SX
Socket 423 (Intel)
Pentium 4
Substituído pelo soket 478