Escolar Documentos
Profissional Documentos
Cultura Documentos
INE5607 – Organização e
Arquitetura de Computadores
Lei de Moore
Círculo Virtuoso:
Avanço tecnológico propicia melhores produtos a preços
mais baixos.
Preços mais baixos induz ao surgimento de novas aplicações
(exemplo, video games)
Novas aplicações aumentam as possibilidades de mercado e
fazem surgir novas empresas.
Novas empresas leva a competição, criando demanda
econômica para o avanço tecnológico.
Lei de Nathan
Nathan Myhrvold, Microsoft
“Software é como gás: expande até preencher todo o
container.”
Exemplo: editores de texto
Troff (década de 80) ocupava alguns milhares de kilobytes de
memória
Editores atuais ocupam dezenas de megabytes
Processador
Dispositivos de entrada
Alimentam o computador com informações
externas
Exemplos: teclado, mouse, microfone, webcam,
placa de rede...
Grande variedade em termos de tecnologia e
velocidade de acesso
Dispositivos com velocidades de acesso diferentes
geralmente usam diferentes barramentos
Dispositivos de saída
Disponibilizam informações resultantes do
processamento
Exemplos: monitor, impressora, alto-falante,
placa de rede...
Grande variedade em termos de tecnologia e
velocidade de acesso
Dispositivos com velocidades de acesso diferentes
geralmente usam diferentes barramentos
Função
Operação de cada componente individual como parte do
sistema
Hierárquica
Formada por um conjunto de subsistemas complexos inter-
relacionados, cada qual possuíndo também uma estrutura
hierárquica, contendo no seu nível mais baixo, subsistemas
elementares.
Estrutura em camadas
10
Estrutura
Computador:
•Armazenamento
•Processamento
Estrutura - Top Level
Unidade Memória
Processa- Principal
mento
Central
Computa-
Interconexão
dor
de Sistemas
Entrada
Saída
Linhas de
Comunicação
12
Estrutura - A CPU
CPU
Computador Unidade
Registradores Lógica e
I/O Aritmética
Barramento CPU
Sistemas
Interconexão
Memória Interna CPU
Unidade de
Controle
13
Estrutura - A Unidade de Controle
Unidade de Controle
CPU
ALU Seqüência
Lógica
Barramento Unidade
Interno Controle
Registradores e
Registradores Decodificadores
da Unidade de
Controle
Controle de
Memória
14
Funções do computador
• Processamento de dados
→ operações aritméticas e lógicas
→ comparações e pesquisas
→ centenas de milhões de operações por segundo
• Armazenamento de dados
→ grande capacidade de armazenar dados de forma permanente
→ dezenas de Gigabytes (1 Giga = 1,073,741,824 caracteres)
• Movimentação de dados
→ entre diferentes tipos de unidades de armazenamento
→ entre unidades periféricas
→ dezenas ou centenas de Mbytes/segundo
• Controle das funções anteriores
→ Sistema Operativo
→ programação de aplicações
15
Visão Funcional
Visão Funcional do Computador
Recurso de
Armazena-
mento de
Dados
Mecanismo
de Mecanismo
transferência De Controle
de Dados
Recurso de
Processa-
mento de
Dados
16
Operações (1)
Movimento de Dados
Recurso de
Armazena-
mento de
Dados
Mecanismo
de Mecanismo
transferência De Controle
de Dados
Recurso de
Processa-
mento de
Dados
17
Operações (2)
Armazenamento
Por Exemplo: Download da Internet para a HD
Recurso de
Armazena-
mento de
Dados
Mecanismo
de Mecanismo
transferência De Controle
de Dados
Recurso de
Processa-
mento de
18 Dados
Operação (3)
Processo de/para armazenamento
Recurso de
Armazena-
mento de
Dados
Mecanismo
de Mecanismo
transferência De Controle
de Dados
Recurso de
Processa-
mento de
Dados
19
A CPU
Unidade de controle: controla a operação da CPU
(portanto, do computador)
Unidade Lógica Aritmética (ULA): desempenha as funções
de processamento de dados do computador
Registradores: fornecem o armazenamento interno de
dados para a CPU
Interconexões da CPU: permite a comunicação entre a
unidade de controle, ULA e os registradores
Von Neumann - IAS
Introduz
O conceito de programa armazenado
Os conceitos dos computadores modernos
1. O computador deverá executar mais frequentemente operações
elementares da aritmética: +, *, -, /
1. Dispositivos especializados para essas operações: ULAs (Unidades
Lógicas Aritméticas)
2. Controle Central
3. Memória Considerável
4. Entrada e Saída – meios de armazenamento externo do dispositivo
1. Dispositivos para transferir E e S
IAS
Operações Aritméticas
Uso Genérico
Memória para armazenamento do conjunto de instruções
(programa)
Possibilidade de transferir dados (MP- E/S, E/S – MP)
Características Técnicas
1000 palavras (posições de memória)
40 bits de largura
Números representados de forma binária
Instruções codificadas em binário
1 bit de sinal
Número (40 bits) + /- 39 bits de valor
Instruções
0 8 19 20 28 39
Opcode Endereço Opcode Endereço
MBR
Equipamento
40bits Instruções
de Entrada Memória
& Dados
e Saída Principal
20bits 12bits
IBR
PC
MAR
IR Circuitos 12bits 0
de controle
8bits
26
Unidade de Controle de Programa Endereço
Pergunta:
O que aconteceria se o tamanho de instruções fosse igual
ao tamanha da palavra de memória?
Exercícios
Para uma arquitetura inspirada no IAS, com largura de
palavra de memória de 30 bits, 1 instrução por palavra de
memória e largura de decodificação de 10 bits (opcode),
determine:
Qual o máximo endereçamento de memória possível?
De quantos bits é a memória principal?
Desenhe a estrutura baseado no IAS e defina o tamanho dos
registradores.
Qual o maior valor inteiro positivo e negativo que pode ser
armazenado? Considere 1 bit para o sinal.
1) Projete uma arquitetura baseada no IAS. Considere o
banco de memória com tamanho de
palavra de 28 bits. O conjunto de instruções tem no
máximo 128 instruções. Os dados são
armazenados em formato complemento de dois.
Determine:
a) O máximo endereçamento de memória
b) O máximo valor positivo representável
c) O tamanho dos registradores (desenhe a arquitetura
IAS)
Componentes de Computador
Arquitetura von Neumann:
Busca da
Execução da
Início Próxima Parada
Instrução
Instrução
Opcode Endereço
15 bits
1 bit
S Magnitude
Opcode: 0101
ADD AC, X
Opcode: 0010
Store AC, X
CICLO DE BUSCA
INÍCIO
IR < = IBR(0:7) IR < = MBR(20:27) NÃO Tem instr SIM IBR < = MBR(20:39)
MAR < = IBR (8:19) MAR < = MBR (28:39) esquerda?
IR < = MBR(0:7)
MAR < =- MBR (8:19)
PC < = PC + 1
CICLOS DE EXECUÇÃO
Conjunto de Instruções do IAS
Conjunto de Instruções do IAS
Conjunto de Instruções do IAS
Conjunto de Instruções do IAS
Conjunto de Instruções do IAS
Rotina para executar Y = (A-B)/ (C+(DxE) )
Instrução Comentário
Y <- A
Y <- Y – B
T <- D
T <- T x E
T <- T + C
Y <- Y / T
Rotina para executar Y = (A-B)/ (C+(DxE) )
Instrução Comentário
LOAD A Y <- A
SUB B Y <- Y – B
STOR Y
LOAD D T <- D
MUL E T <- T x E
ADD C T <- T + C
STOR T
LOAD Y Y <- Y / T
DIV T
STOR Y
1- Determine as rotinas para executarem as funções
abaixo com o conjunto de instruções do IAS.
a) F = A x (B+D-E)
b) F = A2 + B2
c) F = ((A2 + B2))3 / C
Ciclo de Instrução Básico
Busca da
Execução da
Início Próxima Parada
Instrução
Instrução
Armaze-
Busca de Busca de namento
Instrução Operando de
Resultado
Múltiplos Múltiplos
Operandos Resultados
Interrupções
Desabilitadas
Busca da Verifica
Execução da
Início Próxima Interrupção;
Instrução Interrompe
Instrução
Interrupções
Habilitadas
Parada
Diagrama de
tempo de
execução:
pequeno
tempo de
espera por E/S
Diagrama de
tempo de
execução:
longo tempo
de espera por
E/S
Diagrama de transição de estados de um ciclo
de instruções com interrupções
Cálc. Cálc.
Decod Cálc.
de End. Exec. do Verifica
Inst. de End.
de da Op End. de Int.
de Op.
Inst. Op.