260 likes | 424 Views
Organização e Arquitetura de Computadores I Introdução. Ivan Saraiva Silva. 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
E N D
Organização e Arquitetura de Computadores IIntrodução Ivan Saraiva Silva
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 Sumário
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 Linguagem orientada a problemas Linguagens de alto nível Linguagem de Montágem Linguagem Assembly Sistema Operacional Gerencia de sistema e interface de usuário Máquina Convencional Conjunto de instrções Microprogramação Interpretador em firware Lógica Digital Unidades lógicas combinacionais e sequenciais Microeletrônica Caracteristicas físicas, malha de transistores
UCP Memória I/O 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)
Modelo de Von Neumann Controle de Execução Controle Execução de Operações Aritmética Memória I/O Instruções e Dados
Modelo de Von Neumann operação Bloco de controle Bloco operacional CPU endereços dados Memória instruções dados
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 Unidade Central de Processamento Unidade Lógica e Aritmética Acumulador MQ Circuitos de Lógica e Aritmética MBR Hardware de Entrada e Saída Dados e Instruções Memória Principal PC IBR MAR Circuitos de Controle IR Endereço Unidade de Controle
IAS – Máquina de Von Neumann Unidade Central de Processamento Unidade Lógica e Aritmética Acumulador MQ Circuitos de Lógica e Aritmética MBR Hardware de Entrada e Saída Dados e Instruções Memória Principal PC IBR MAR Circuitos de Controle IR Endereço Unidade de Controle
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
N Bits Posição 0 M Bits 2M posições Endereço Posição 2M - 1 N Bits Memória
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
endereço instrução BC MEM instrução MEM BC endereço operando 1 BC MEM operando 1 MEM BO endereço operando 2 BC MEM operando 2 MEM BO ordem de execução BC BO executa soma BO endereço resultado BC MEM resultado BO MEM Execução de Instruções Bloco Controle Bloco Operativa Bloco Operativa operação dados endereço Memória instrução dados
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? Circuito Seqüencial • 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 Circuito Combinatório T Relógio
Ctrl Ctrl n n IN1 OUT1 IN2 OUT2 OUT IN . . . . . . INn OUTn IN1 And Or OUT Ctrl Not And IN2 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
We R IN OUT Clk We R OUT IN Clk 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
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
Sel Operando1 Resultado Operando2 Controle 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