MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico Sumário Introdução Unidade de Controlo Conjunto de Instruções Unidade Central de Processamento (CPU) Unidade de Entrada/Saída (I/O) Unidade de Memória Perspectiva Evolutiva das Arquitecturas de Computadores N. Horta, IST - UTL 2003/2004 2 1
N. Horta, IST - UTL 2003/2004 3 Sistemas Digitais Complexos: + Unidade de Controlo (Datapath): Módulo responsável pela execução das operações de processamento de dados. Unidade de Controlo: Módulo responsável pelo controlo da sequência de operações a executar na Datapath para implementação de uma tarefa. N. Horta, IST - UTL 2003/2004 4 2
Datapath: Caracteriza-se pelo conjunto de registos e pelo conjunto de operações realizado sobre os dados armazenados nos registos. Operações Elementares sobre Registos: Shift (Deslocamento), Clear (Apagar), Load (Carregamento), Incrementar, Decrementar, Somar, Subtrair, etc. Microoperações (Aritméticas, Lógicas, Deslocamento): Operações elementares aplicadas sobre os dados em registos. Unidade de Controlo: Fornece os sinais que permitem sequenciar as microoperações de um modo definido, e.g., sequência do conjunto de operações para realizar uma multiplicação. N. Horta, IST - UTL 2003/2004 5 Datapath: Caracteriza-se pelo conjunto de registos (Unidade de Armazenamento) e pelo conjunto de operações (Unidade Funcional) realizado sobre os dados armazenados nesses registos. N. Horta, IST - UTL 2003/2004 6 3
Datapath (Exemplo) Unidade de Armazenamento Unidade Funcional ALU: Unidade Logica e Aritmética Shifter: Unidade de Deslocamento (Exemplo de Operação) Entradas de Controlo (da U. de Controlo) Selecção de A Selecção de B Selecção de G Selecção de MB Selecção de MF Selecção de MD Selecção do Destino Carregamento do Resultado Operação relizada num 1 ciclo de relógio (Cálculo e Carregamento) N. Horta, IST - UTL 2003/2004 7 Exemplo de Operação: N. Horta, IST - UTL 2003/2004 8 4
Unidade de Armazenamento: N. Horta, IST - UTL 2003/2004 9 Registo: Elemento básico de memória que permite armazenar um conjunto de N bits (dimensão do registo). N. Horta, IST - UTL 2003/2004 10 5
Operação de Transferência de Dados entre 2 Registos: Controlo : Microoperação K1 : R2 R1 N. Horta, IST - UTL 2003/2004 11 Simbologia: (Transferências de Registos)? N. Horta, IST - UTL 2003/2004 12 6
Operações de Transferência entre Registos: (Multiplexagem) K1 : R0 R1, K1K2 : R0 R2... N. Horta, IST - UTL 2003/2004 13 Operações de Transferência entre Registos: (BUS) Multiplexers Dedicados BUS Único N. Horta, Multiplexers IST - UTL Dedicados: 9 portas lógicas (3x(2AND+1OR)), 2003/2004 6 linhas de entrada. 14 BUS: 4 portas lógicas (1x(3AND+1OR)), 3 linhas de entrada. 7
Operações de Transferência entre Registos: (BUS) Exemplo: O número de registos fonte em transferências simultâneas condiciona o número mínimo de BUSES no sistema BUS Único N. Horta, IST - UTL 2003/2004 15 Operações de Transferência entre Registos: (BUS Tri-State)? BUS Único BUS Three-State N. Horta, IST - UTL 2003/2004 16 8
READ : DR WRITE : M Exemplos: Operações de Transferência entre Registos: (BUS Endereços e Dados + Memória) M [ AR] [ AR] DR [ A1] 2 WRITE : M D ABD Control: 01 DBSD Control: 10 DBDD Control: 11 [ 2] READ : D1 M A ABD Control: 10 DBSD Control: 11 DBDD Control: 01 N. Horta, IST - UTL 2003/2004 17 Datapath (Exemplo) Unidade de Armazenamento Unidade Funcional ALU: Unidade Logica e Aritmética Shifter: Unidade de Deslocamento (Exemplo de Operação) Entradas de Controlo (da U. de Controlo) Selecção de A Selecção de B Selecção de G Selecção de MB Selecção de MF Selecção de MD Selecção do Destino Carregamento do Resultado Operação relizada num 1 ciclo de relógio (Cálculo e Carregamento) N. Horta, IST - UTL 2003/2004 18 9
Exemplo de Operação: N. Horta, IST - UTL 2003/2004 19 Unidade Funcional: Unidade Aritmética e Lógica (ALU) N. Horta, IST - UTL 2003/2004 20 10
Microoperações: (Aritméticas)? N. Horta, IST - UTL 2003/2004 21 Microoperações: (Lógicas) N. Horta, IST - UTL 2003/2004 22 11
Microoperações: (Deslocamento)? N. Horta, IST - UTL 2003/2004 23 ALU: Unidade Lógica e Aritmética N. Horta, IST - UTL 2003/2004 24 12
ALU: Circuito Aritmético (Exemplo) N. Horta, IST - UTL 2003/2004 25 Anexo ALU: Circuito Aritmético Yi = BiS0 + BiS1 C0 = Cin N. Horta, IST - UTL 2003/2004 26 i? X = A i 13
ALU: Circuito Aritmético (Exemplo) Soma Subtracção Incremento Decremento Transferência...? N. Horta, IST - UTL 2003/2004 27 ALU: Circuito Lógico (Exemplo) AND OR XOR NOT? N. Horta, IST - UTL 2003/2004 28 14
ALU: Circuitos Aritmético e Lógico (Exemplo) N. Horta, IST - UTL 2003/2004 29 Unidade Funcional: Unidade de Deslocamento N. Horta, IST - UTL 2003/2004 30 15
Unidade de Deslocamento: Circuito (Exemplo1) N. Horta, IST - UTL 2003/2004 31 Unidade de Deslocamento: Circuito (Exemplo2) N. Horta, IST - UTL 2003/2004 32 16
Datapath: Representação Hierárquica Diagrama de Blocos: Unidade de Armazenamento Unidade Funcional N. Horta, IST - UTL 2003/2004 33 Datapath: Representação Hierárquica Diagrama de Blocos: Unidade de Armazenamento Unidade Funcional N. Horta, IST - UTL 2003/2004 34 17
Datapath: Palavra de Controlo Palavra de Controlo: Conjunto de bits correspondente às variáveis de controlo que permitem seleccionar as microoperações. AA Selecção do Registo A BA Selecção do Registo B DA Selecção do R. de Destino MB Selecção do Operando B FS Selecção da Função na U. Funcional MD Sel. dos Dados para R. de Destino RW - Carregamento N. Horta, IST - UTL 2003/2004 35 Datapath: Codificação da Palavra de Controlo Nota: o número de palavras de controlo, com significado no presente caso, não é 2^17=131072, mas apenas 61440, justifique! N. Horta, IST - UTL 2003/2004 36 18
Datapath: Palavra de Controlo (Exemplo de Microoperações) N. Horta, IST - UTL 2003/2004 37 Datapath: Palavra de Controlo (Exemplo de Microoperações - Codificação)? N. Horta, IST - UTL 2003/2004 38 19
Datapath: Simulação da Execução de uma Sequência de Microoperações (Exemplo) N. Horta, IST - UTL 2003/2004 39 Unidade de Processamento: U.A. Temporizações N. Horta, IST - UTL 2003/2004 40 20
Unidade de Processamento: U.F.(1) Temporizações N. Horta, IST - UTL 2003/2004 41 Unidade de Processamento: U.F.(2) Temporizações N. Horta, IST - UTL 2003/2004 42 21
Unidade de Processamento: U.F.(3) Temporizações N. Horta, IST - UTL 2003/2004 43 Datapath: Arquitectura Convencional vs Arquitectura Pipeline Convencional Unidades a funcionar sequencialmente. Pipeline Unidades a funcionar em simultaneo. OF Operand Fetch EX Execute WB Write Back Pipeline oferece maior rapidez mas obriga a hardware adicional, 3 estruturas de Registos. N. Horta, IST - UTL 2003/2004 44 22
Datapath: Execução de Microoperações na Arquitectura Pipeline Execução Convencional: 7 x 12 = 84 ns Execução Pipelined: 9 x 5 =45 ns!! N. Horta, IST - UTL 2003/2004 45 BIBLIOGRAFIA [1] M. Morris Mano, Charles R. Kime, Logic and Computer Design Fundamentals, Prentice-Hall International, Inc. (Capítulo 7) N. Horta, IST - UTL 2003/2004 46 23