Você está na página 1de 62

Aula 3

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

 Segue as instruções de um programa


 Exemplos: adição, testes, sinalização para
E/S, etc.
 Dois componentes principais:
 Datapath
 Realiza operações sobre os dados
 Controle
 Informa ao datapath, memória e dispositivos de
I/O o que deve ser feito em função das
instruções do programa

INE5607 - Prof. Laércio Lima Pilla 4


Arquitetura Von Neumann
Memória e armazenamento

 Memória armazena dados


 Identificados por endereços
 Endereços apontam para palavras
 Palavras possuem múltiplos bytes
 4 bytes para 32 bits, 8 bytes para 64 bits
 Palavras são agrupadas em blocos
 Importante para quando tratarmos de
caches!

INE5607 - Prof. Laércio Lima Pilla 6


Entrada e saída

 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

INE5607 - Prof. Laércio Lima Pilla 7


Entrada e saída

 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

INE5607 - Prof. Laércio Lima Pilla 8


Estrutura e Função
 Estrutura
 Modo como os componentes estão inter-relacionados

 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

Equip. Periférico Computador

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

Instrução esquerda Instrução direita


IAS - Registradores da CPU
•MBR (Memory Buffer Register) - Contém uma palavra que
será lida ou escrita na memória;
•MAR (Memory Address Register) - especifica o endereço
da palavra que será lida ou escrita no MBR;
•IR (Instruction Register) - contém o opcode da instrução
que está sendo executada;
•IBR (Instruction Buffer Register) - utilizado para armazenar
temporariamente a instrução da direita;
•PC (Program Counter) - contém o endereço do próximo par
de instruções;
•ACC (Accumulator) e MQ (Multiplier Quocient) - utilizados
para armazenar temporariamente os resultados de
operações matemáticas;
IAS Detalhado
Estrutura do computador IAS
Unidade de Processamento Principal 40bits
Unidade Lógica e Aritmética

40bits Acumulador MQ 40bits 999

Circuitos Aritméticos e Lógicos

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:

 Dados e instruções armazenados em uma única mémória de


leitura e escrita.
 O conteúdo dessa memória é endereçado pela sua posição
 A execução de instruções ocorre de modo sequencial
Visão Global dos Componentes do
Computador
Ciclo de Instrução Básico

Busca da
Execução da
Início Próxima Parada
Instrução
Instrução

Ciclo de Busca Ciclo de Execução


Busca e Execução de Instruções
 Ações:
 Processador –memória
 Processador – E/S
 Processamento de dados
 Controle

 Ou uma combinação destas ações.


Máquina Hipotética
4 bits 12 bits

Opcode Endereço

15 bits
1 bit

S Magnitude

 Registradores: PC, IR, AC


 Palavra de memória de 16 bits, 1 instrução/dado por
palavra de memória
MAR e MBR Opcode: 0001
load AC, X

Opcode: 0101
ADD AC, X

Opcode: 0010
Store AC, X
CICLO DE BUSCA
INÍCIO

SIM Tem instr NÃO


MAR < = PC
no IBR?

MBR < = M(MAR)

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

Ciclo de Busca Ciclo de Execução


IAS Detalhado
Diagrama de transição de estados de
um Ciclo de Instruções

Armaze-
Busca de Busca de namento
Instrução Operando de
Resultado

Múltiplos Múltiplos
Operandos Resultados

Cáculo de Cálculo de Cálculo do


Decodifi- Execução
endereço Endereço Endereço
cação de da
de de de
Instrução Operação
Instrução Operando Operando

Instrução Completada, Retorno de cadeias


Busca da próxima instrução de caracteres ou vetor
Interrupções
 Meio pelo qual componentes distintos podem
interromper a sequência normal de execução de
instruções do processador.
 Comunicação entre os componentes que acontece como
resultado da ocorrência de uma interrupção
Classes de Interrupções
 Interrupção de software: gerada por alguma condição que
ocorra como resultado da execução de uma instrução
(exemplo: overflow, divisão por zero, etc …)
 Interrupção de relógio: gerada pelo relógio interno do
processador. Permite que o Sistema Operacional execute
funções a intervalos de tempos regulares.
 Interrupção de E/S: gerada pelo controlador de E/S para
sinalizar a conclusão de uma operação ou a ocorrência de
uma situação de erro.
 Interrupção de falha de hardware: gerada na ocorrência
de uma falha (exemplo: queda de energia, erro de
paridade, etc…)
 Execução de um programa
sem interrupções
 Execução de um programa
com interrupções com
pequeno tempo de espera
por operações de entrada e
saída
 Execução de um programa
com interrupções com
longo tempo de espera por
operações de entrada e
saída
Transferência de controle via Int.
Rotina de Tratamento de Interrupções
 Salva o conteúdo do PC
 Identifica a causa da interrupção
 Salva o contexto (estado dos registradores)
 PSW (Program Status Word)
 Registradores Visíveis ao Usuário (depende da arquitetura)
 Retorna execução normal do programa
Ciclo de instruções com Interrupções
Ciclo de Busca Ciclo de Execução Ciclo de Interrupção

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

Busca Busca Armaz.


de Inst. de Op. de
Result.

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.

Instrução Completada, Retorno de cadeias


Busca da próxima instrução de caracteres ou vetor
Inter-
rupção
Nenhuma Interrupção
Múltiplas Interrupções
 Tratamento de múltiplas interrupções:
 Desabilitar interrupções enquanto outra interrupção está
sendo executada:
 o processador ignora qualquer sinal de requisição de interrupção
 Quando o tratador de interrupção termina de ser executado, as
interrupções são novamente habilitadas
 Desvantagem: não considera prioridades relativas ou requisitos de
tempos críticos
 Prioridades de interrupções:
 Interrupções de maior prioridade podem interromper interrupções
de menor prioridade.

 Transferência de
controle com
interrupções múltiplas
Sequência de tempos de execução com
interrupções múltiplas

Você também pode gostar