Upload
internet
View
115
Download
2
Embed Size (px)
Citation preview
Organização e Arquitetura de Computadores I
IntroduçãoIvan Saraiva Silva
Sumário
• Introdução• Bibliografia Recomendada• O que é um computador• Organização de um
Computador• Modelo de Von Neumann• IAS – Máquina de Von
Neuman• Memória• Execução de instruções
• Gargalo de Von Neumann
• Noções de Desempenho
• Convenções Gráficas
Introdução
• Plano de aula
• Avaliações– Três provas e um projeto
• Uso da linguagem VHDL ou SystemC
Bibliografia Recomendada
• Organização e projeto de de Computadores: A Interface hardware/Software, David A. Patterson, John L. Hennessy - Campus 2005
• Arquitetura de Computadores: Uma Abordagem Quantitativa - John L. Hennessy -, David A. Patterson - Campus - 2003
• Arquitetura e Organização de Computadores - Quinta Edição - William Stallings - Prentice Hall - 2002
• Organização estruturada de computadores, quarta edição, Andrew S. Tanenbaum – LTC - 1999
• Analysis and Design of Digital Systems with VHDL - Allen Dewey - PWS Publishing Company - 1997
O que é um Computador
• Um computador é uma máquina eletrônica lógica• Programável
– Programa• Instruções
• Representável por uma hierarquia de níveis de abstração (Tanenbaum)– Microeletrônica (mais baixo)
– Sistema Operacional (mais alto)
Níveis de Abstração
Microeletrônica
Lógica Digital
Linguagem de Montágem
Sistema Operacional
Máquina Convencional
Linguagem orientada a problemas
Conjunto de instrções
Caracteristicas físicas, malha detransistores
Unidades lógicas combinacionais esequenciais
MicroprogramaçãoInterpretador em firware
Gerencia de sistema e interfacede usuário
Linguagem Assembly
Linguagens de alto nível
Organização de um Computador
• Modelo de Von Neumann (1945)– Conceito de programa armazenado– Separação da Unidade Aritmética e de Controle– Utilização de barramentos e registradores– Hardware de entrada e saída (I/O)
UCP Memória I/O
Modelo de Von Neumann
Memória I/O
Controle
Aritmética
Controle de Execução
Execução deOperações
Instruçõese Dados
Modelo de Von Neumann
Bloco de controle Bloco operacional
Memória
operação
endereços
instruções
dados
dados
CPU
Modelo de Von Neumann
• Memória: Conjunto de posições/locações endereçáveis
• Palavras: Posição/locação da memória. Contém dados e instruções.
• Palavra: Unidade básica de transferência de/para memória.
• Palavras são localizadas através de um endereço
• Dados, instruções e endereços são codificados em binário
Modelo de Von Neumann
• Programa é uma seqüência de instruções, colocadas numa seqüência de endereços
• A execução de um programa corresponde à execução seqüencial de suas instruções
• A seqüência das instruções é definida de forma dinâmica em tempo de execução– Existência de instruções de controle de fluxo
IAS – Máquina de Von Neumann
MemóriaPrincipal
Unidade Lógica e Aritmética
Unidade de Controle
Hardwarede Entradae Saída
MBR
Circuitos de Lógica e Aritmética
MQAcumulador
MARCircuitosde Controle
IBR
IR
PC
Endereço
Dados eInstruções
Unidade Central de Processamento
IAS – Máquina de Von Neumann
MemóriaPrincipal
Unidade Lógica e Aritmética
Unidade de Controle
Hardwarede Entradae Saída
MBR
Circuitos de Lógica e Aritmética
MQAcumulador
MARCircuitosde Controle
IBR
IR
PC
Endereço
Dados eInstruções
Unidade Central de Processamento
Conceitos e Convenções
• Registradores: Posições de memória internas a UCP.– Dedicados e de Uso Geral
• Barramento: Via de comunicação– Dados e Instruções, Endereços e Controle– Comunicação Síncrona e Assincrona
Memória
• Em um computador geralmente existe uma hierarquia de memória.
• Cada nível da hierarquia é dividido em palavras de N bits cada
• A palavra é a unidade básica de transferência entre a UCP e a memória.
• Uma memória com 2M palavras necessita de M bits de endereço
Memória
Posição 0
N Bits
Posição 2M - 1
2M posições
Endereço
M Bits
N Bits
Execução de Instruções
• busca da próxima instrução na memória– manda endereço, volta instrução
• decodificação da instrução – interpreta código da instrução
• se a instrução precisa de dados (na memória)– manda endereço, busca dado
• execução da instrução– executa ações específicas para cada instrução
Execução de Instruções
BlocoControle
BlocoOperativa
operação
Memóriaendereço
instrução
dados
dados
endereço instruçãoBC MEM
instruçãoMEM BC
endereço operando 1MEMBC
endereço resultadoMEMBC
operando 1MEM BO
operando 2MEM BO
executa somaBO
resultadoMEMBO
endereço operando 2BC MEM
ordem de execuçãoBC BO
BlocoOperativa
Gargalo de Von Neuman
• Refere-se ao tráfego no barramento– vai endereço da instrução volta instrução
– vão endereços dos operandos
– vão e voltam operandos
• Para eliminar gargalo: diminuir tráfego de informações– manter informações na CPU
– diminuir tamanho em bits das informações transferidas
– Inclusão de registradores
Noções de Desempenho
• Ciclo de relógio (clock): intervalos básicos de tempo nos quais são executadas as operações elementares de uma instrução– transferências de valores entre registradores– operações aritméticas na ALU
• Período do relógio (T): Tempo de duração de um ciclo do relógio
• Freqüência do relógio (f): Freqüência de repetição de ciclos de clock por unidade de tempo
• Exemplo: Se o período do relógio é de T = 4 ns = 4x10-9
f = 1/T = 1/4x10-9 = 250 MHz
Isto significa que?
• Para um período de T=4ns a máquina pode executar 250 milhões de operações elementares
• As operações elementares são executadas de forma síncrona com o relógio
• O desempenho da máquina e proporcional a:
nº ciclos x período =nº ciclos freqüência
CircuitoCombinatório
Relógio
Circuito Seqüencial
T
Convenções Gráficas
• Multilexador / Demultiplexador
• Seleção– N x 1 (multiplexador)
– 1 x N (demultiplexador)
• Para 2n entradas/saídas de dados tem-se n entradas de controle
IN1IN2
INn
...OUT
Ctrln
OUT1OUT2
OUTn
...IN
Ctrln
Not And
AndOr
IN2
IN1
CtrlOUT
Convenções Gráficas
• Registrador– Posição de memória interna
ao microprocessador
• Registradores de uso geral e específico– Acumulador
– Apontador de programa PC
• Aceleram o acesso aos dados
• Habilitação de escrita
RIN OUT
We
Clk
R
Clk
IN
We
OUT
Convenções Gráficas
• Deslocadores– Deslocamento de bits para a
direita/esquerda
• Deslocadores lógicos– Inserção de zeros no lado
oposto ao deslocamento
• Deslocadores Aritméticos– Re-inserção do último bit
do lado oposto do deslocamento
IN OUT
Convenções Gráficas
• Unidades de Lógica e Aritmética (ULA)– Realizam operações lógicas
e aritméticas– Podem gerar sinais
destinados ao controle– Para 2n operações necessita
de n entradas de seleção– Operações podem variar de
ULA para ULA– Número de ciclos para
execução pode variar de operação para operação
Operando1
Operando2
Sel
Controle
Resultado