Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

Documentos relacionados
Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

Microprocessadores MICROPROCESSADORES. Unidade de Processamento. Sumário

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

MICROPROCESSADORES Nuno Cavaco Gomes Horta Universidade Técnica de Lisboa / Instituto Superior Técnico

Arquitectura de Computadores MEEC (2014/15 2º Sem.)

Arquitectura de Computadores Unidade de Processamento

SISTEMAS DIGITAIS CIRCUITOS COMBINATÓRIOS TÍPICOS

Sistemas Digitais Transferências entre Registradores

Arquitectura de Computadores

Sistemas Digitais Registos. João Paulo Carvalho

Instituto Superior Técnico Licenciatura em Engenharia Aeroespacial Licenciatura em Engenharia Electrotécnica e de Computadores.

Antes de começar o exame leia atentamente esta folha de rosto

SISTEMAS DIGITAIS (SD)

Sistemas Digitais (SD)

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD)

Sistemas Digitais (SD)

Sistemas Digitais Circuitos Aritméticos e Unidades Aritméticas e Lógicas (ALUs)

Exame de 1ª Época - 23 de Janeiro de Antes de começar o exame leia atentamente esta folha de rosto

1 REPRESENTAÇÃO DIGITAL DE INFORMAÇÃO Bases de Numeração Representação de Números em Base 2 5

SISTEMAS DIGITAIS (SD)

Arquitectura de Computadores

Antes de começar o exame leia atentamente esta folha de rosto

Exame de 2ª Época - 8 de Fevereiro de Antes de começar o exame leia atentamente esta folha de rosto

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

Circuitos Sequenciais Escola Naval - Dep. Armas e Electrónica v

Sistemas Digitais Circuitos Sequenciais Básicos (Latches e Flip-Flops) Horácio Neto Nuno Horta João Paulo Carvalho

Sistemas Digitais (SD) Contadores

Sistemas Digitais (SD) Circuitos combinatórios: somadores, subtractores e comparadores

Programa Analítico de Disciplina INF251 Organização de Computadores I

Antes de começar o exame leia atentamente esta folha de rosto

SISTEMAS DIGITAIS CONTADORES

2º TESTE (Questões 5, 6, 7, 8, 9 e 10)... 1h30m EXAME (Questões 1 a 10)... 2h30m

SISTEMAS DIGITAIS (SD)

Processador. Processador

Sistemas Digitais (SD) Unidade Lógica e Aritmética

X Y Z A B C D

Sistemas Digitais Circuitos Combinatórios Típicos

a)[1 val] Desenhe o esquema lógico que implementa directamente a função f (i.e., sem simplificar).

SISTEMAS DIGITAIS (SD)

William Stallings Organização de computadores digitais. Capítulo 14 Operação da Unidade de Controle

Síntese do datapath. S.D. - controlo e processamento de informação

Introdução aos Trabalhos de Laboratório (Hardware/Software) Grupo:

Escola Superior de Tecnologia Instituto Politécnico de Setúbal

Xilinx ISE. O projecto

Circuitos Digitais. Tipos de circuitos digitais: Circuitos combinacionais Circuitos sequenciais

Sistemas Digitais (SD) Unidade Lógica e Aritmética

Síntese do datapath. Sistemas Digitais síncronos

SSC0112 Organização de Computadores Digitais I

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS MEFT / MEAer de Junho de 2013, 11:30

2º TESTE (Questões 5, 6, 7, 8, 9 e 10)... 1h30m EXAME (Questões 1 a 10)... 2h30m

f (x 3,x 2,x 1,x 0 ) = Π M (1,4,8,9,10,15). Π M d (12,13)

Sistemas Digitais (SD) Síntese de Circuitos Sequenciais: Definições

Exame 1 Sistemas Digitais - MEEC 2009/10 1. Aluno Nº

CALCULADORA SIMPLES COM ULA

Álgebra Booleana. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Registos. Registos de dados ( registers )

Sistemas Digitais Circuitos Combinatórios Típicos

SISTEMAS DIGITAIS MEEC de Janeiro de 2016, 11:30

Antes de começar o exame leia atentamente esta folha de rosto

SISTEMAS DIGITAIS MEEC de Janeiro de 2014, 11:30

Microcontroladores e Interfaces

Conceitos Básicos Processador

Exame 2 Sistemas Digitais - MEEC 2009/10 1

Antes de começar o exame leia atentamente esta folha de rosto

Instituto Superior Técnico Licenciatura em Engenharia Aeroespacial Licenciatura em Engenharia Electrotécnica e de Computadores.

Aula 17. Máquina de Estados Parte 1. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

2º TESTE (Questões 5, 6, 7, 8 e 9)... 1h30m EXAME (Questões 1 a 9)... 2h30m

Revisão de Circuitos Digitais

Sistemas Digitais Circuitos Aritméticos e Representação de Números com Sinal

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS

SISTEMAS DIGITAIS (SD)

EXAME DE SISTEMAS DIGITAIS (LEIC) JAN 2007(1ª Data)

Síntese do datapath. Sistemas Digitais síncronos

Antes de começar o exame leia atentamente esta folha de rosto

ARQUITECTURA DE COMPUTADORES

Circuito de dados e circuito de controlo

SISTEMAS DIGITAIS MEEC de Janeiro de 2015, 11:30

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Capítulo 1 Conceitos Introdutórios

Sistemas Digitais (SD)

Unidade Central de Processamento UCP (CPU)

ORGANIZAÇÃO DE COMPUTADORES CAPÍTULO 6: PROCESSADORES. Prof. Juliana Santiago Teixeira

FCA - Editora de Informática xv

Introdução à Computação: Arquitetura von Neumann

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS MEEC de Fevereiro de 2018, 11:30

Sistemas Digitais. Planificação das aulas teóricas e aulas práticas Ano Lectivo 2005/ 2006

Circuitos Integrados. Nível da Lógica Digital (Aula 7) Circuitos Combinacionais. Circuitos Lógicos Digitais Básicos. Multiplexadores (1)

MICROPROCESSADORES. Unidade de Entrada/Saída (I/O) Nuno Cavaco Gomes Horta. Universidade Técnica de Lisboa / Instituto Superior Técnico

ARQUITECTURA DE COMPUTADORES

Introdução a Sistemas Digitais

Nível da Lógica Digital

Sistemas Digitais Unidade Lógica e Aritmética - ULA

Fundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno

Transcrição:

LEEC/MEEC (2006/07 2º Sem.) Nuno Cavaco Gomes Horta e Paulo Lopes 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 2

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. 4

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. 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. 6

Datapath (Exemplo) Unidade de Armazenamento Unidade Funcional ALU: Unidade Lógica 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 H 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 N. (Cálculo Horta, IST e Carregamento) - UTL Arquitectura de Computadores 7

Microprocessadores Exemplo de Operação: 8

Microprocessadores Unidade de Armazenamento: 9

Registo: Elemento básico de memória que permite armazenar um conjunto de N bits (dimensão do registo). 10

Register a collection of binary storage elements In theory, a register is sequential logic which can be defined by a state table More often, think of a register as storing a vector of binary values Frequently used to perform simple data storage and data movement and processing operations Chapter 7 - Part 1 11

Operação de Transferência de Dados entre 2 Registos: Controlo : Microoperação K1 : R2 R1 R1 R2 CP_H M1[Load] C2 K1 M1[Load] C2 D0 1, 2D 1, 2D Q0 D1 Q1 D2 Q2 D3 Q3 12

Chapter 7 - Part 1 13 Arquitectura de Computadores Expectations: A register can store information for multiple clock cycles To store or load information should be controlled by a signal Reality: A D flip-flop register loads information on every clock cycle Realizing expectations: Use a signal to block the clock to the register, Use a signal to control feedback of the output of the register back to its inputs, or Use other SR or JK flip-flops, that for (0,0) applied, store their state Load is a frequent name for the signal that controls register storage and loading Load = 1: Load the values on the data inputs Load = 0: Store the values in the register

The Load signal enables the clock signal to pass through if 1 and prevents the clock signal from passing through if 0. Example: For Positive Edge-Triggered or Negative Pulse Master-Slave Flip-flop: What logic is needed for gating? What is the problem? Gated Clock = Clock + Load Clock Skew of gated clocks with respect to clock or each other Chapter 7 - Part 1 14 Clock Load Gated Clock to FF

Chapter 7 - Part 1 15 Arquitectura de Computadores A more reliable way to selectively load a register: Run the clock continuously, and Selectively use a load control to change the register contents. 2-to-1 Multiplexers Example: 2-bit register with Load Control: For Load = 0, (hold current values) For Load = 1, Load loads input values In1 (load new values) Hardware more complex than clock gating In0 Clock D C D C A1 Q A0 Q Y1 Y0

Simbologia: (Transferências de Registos)? 16

Operações de Transferência entre Registos: (Multiplexagem) K1 : R0 R1, K1K2 : R0 R2... 17

Operações de Transferência entre Registos: (BUS) Multiplexers Dedicados BUS Único Multiplexers Dedicados: 9 portas lógicas (3x(2AND+1OR)), 6 linhas de entrada. BUS: 4 portas lógicas (1x(3AND+1OR)), 3 linhas de entrada. 18

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 19

Operações de Transferência entre Registos: (BUS Tri-State)? BUS Único BUS Three-State 20

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) 21

Microprocessadores Exemplo de Operação: 22

Microprocessadores Unidade Funcional: Unidade Aritmética e Lógica (ALU) 23

Microoperações: (Aritméticas)? 24

Microoperações: (Lógicas) 25

Microoperações: (Deslocamento)? 26

ALU: Unidade Lógica e Aritmética 27

ALU: Circuito Aritmético (Exemplo) 28

ALU: Circuito Aritmético? X Y i C i 0 = = A i i B S = C in 0 + B S i 1 29

ALU: Circuito Aritmético (Exemplo) Soma Subtracção Incremento Decremento Transferência...? 30

ALU: Circuito Lógico (Exemplo) AND OR XOR NOT? 31

ALU: Circuitos Aritmético e Lógico (Exemplo) 32

Microprocessadores Unidade Funcional: Unidade de Deslocamento 33

Unidade de Deslocamento: Circuito (Exemplo1) 34

Unidade de Deslocamento: Circuito (Exemplo2) 35

Datapath: Representação Hierárquica Diagrama de Blocos: Unidade de Armazenamento Unidade Funcional 36

Datapath: Representação Hierárquica Diagrama de Blocos: Unidade de Armazenamento Unidade Funcional 37

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 38

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! 39

Datapath: Palavra de Controlo (Exemplo de Microoperações) 40

Datapath: Palavra de Controlo (Exemplo de Microoperações - Codificação)? 41

Datapath: Simulação da Execução de uma Sequência de Microoperações (Exemplo) 42

Unidade de Processamento: Arquitectura de Computadores Microprocessadores Temporizações Fmax = 1/Tmin Fmax Frequência máxima de funcionamento Tmin Período mínimo que respeita todos as restrições temporais impostas por cada componente Fmax = 1/(Tua+Tuf+Tlc) Tua Restrição temporal imposta pela UA Tuf Restrição temporal imposta pela UF Tlc Restrição temporal impostas pela lógica combinatória adicional 43

UP: Unidade de Armazenamento Arquitectura de Computadores Microprocessadores Temporizações Tua Restrição temporal imposta pela UA Não considerando, para já, a geração dos sinais de controlo, a contribuição da UA para a definição do período do sinal de relógio corresponde, por um lado, ao caminho dos dados que inclui o tempo de propagação nos registos e o tempo de propagação nos MUXs e, por outro lado, ao caminho dos sinais de controlo correspondentes à geração do sinal de load. Estes 2 caminhos são concorrentes na determinação do período máximo devendo ser considerada a situação mais desfavorável. 44

UP: Unidade Funcional (1) Unidade Aritmética Arquitectura de Computadores Microprocessadores Temporizações Tuf Restrição temporal imposta pela UF Neste caso há que considerar a situação mais desfavorável para a propagação do sinal ao nivel dos vários circuitos combinatórios: Unidade Aritmética, Unidade Lógica e Unidade de Deslocamento. Na Unidade Aritmética há que ter em conta a propagação do Carry ao longo do somador. 45

UP: Unidade Funcional (2) Unidade Lógica Arquitectura de Computadores Microprocessadores Temporizações Na Unidade Lógica há que ter em conta a diferente complexidade das várias portas lógicas envolvidas. Considerando o bloco U. Aritmetica e Lógica deve, neste caso, ser considerado o maior dos atrasos associados a estes blocos e adicionar o atraso associado ao MUX de interligação. 46

UP: Unidade Funcional (2) Unidade de Deslocamento Arquitectura de Computadores Microprocessadores Temporizações Na U. De Deslocamento há que considerar o tempo de propagação atarvés dos MUXs (1 nível de MUXs) Em conjugação com Uarit. e Ulog deve ser considerado ainda o tempo de propagação no associado ao MUX de interligação. 47

UP: Projecto no Xilinx (Especificação e Hierarquia) UP de 4 bits UA com 4 Registos de 4 bits Escrita possível em apenas um registo por cada ciclo Leitura de qualquer dos registos para obter operando A e B UF composta por UArit, ULog, UDesl Operações: A, A-B, A+B, A+1, NAND(A,B), NOR(A,B), SR(B), SL(B) Bits de Estado (Flags): C,V,N,Z MUX de interligação Permitir a selecção de uma constante em alternativa ao conteúdo do registo para o operando B. Permitir a selecção de uma palavra de memória em alternativa à saída da UF par escrita na UA. Unidade de Processamento Unidade de Armazenamento Unidade Funcional MUX Interligação Registo MUX Selecção Descodificador Unidade Aritmética Unidade Lógica Unidade de Deslocamento.. 48

Microprocessadores UP: Projecto no Xilinx (Esquemático de Topo) UP de 4 bits UA com 4 Registos de 4 bits Escrita possível em apenas um registo por cada ciclo Leitura de qualquer dos registos para obter operando A e B UF composta por UArit, ULog, UDesl Operações: A, A-B, A+B, A+1, NAND(A,B), NOR(A,B), SR(B), SL(B) Bits de Estado (Flags): C,V,N,Z MUX de interligação Permitir a selecção de uma constante em alternativa ao conteúdo do registo para o operando B. Permitir a selecção de uma palavra de memória em alternativa à saída da UF par escrita na UA. 49

UP: Projecto no Xilinx Arquitectura de Computadores Microprocessadores (UA Esquemático e Teste) 50

UP: Projecto no Xilinx Arquitectura de Computadores Microprocessadores (UF Esquemático e Teste) 51

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. 52

Datapath: Execução de Microoperações na Arquitectura Pipeline Execução Convencional: 7x12=84ns Execução Pipelined: 9x5=45ns!! 53

BIBLIOGRAFIA [1] M. Morris Mano, Charles R. Kime, Logic and Computer Design Fundamentals, Prentice-Hall International, Inc. (Capítulo 7) 54

Problemas de Registos (Mano): Arquitectura de Computadores 7.1) Determine o diagrama lógico que implementa a seguinte operação de transferência entre registos: C3 : R2 R1, R1 R2 R1 R2 LOAD_H CP_H M1[Load] C2 LOAD_H CP_H M1[Load] C2 D0 1, 2D Q0 D0 1, 2D Q0 D1 Q1 D1 Q1 D2 Q2 D2 Q2 D3 Q3 D3 Q3 55

Problemas de Registos (Mano): Arquitectura de Computadores 7.3) Determine a lógica combinatória adicional para implementar as seguintes operações: R1 C C C 0 1 2 : R2 0 : R2 R1 : R2 R2 R2 LOAD_H CP_H M1[Load] C2 LOAD_H CP_H M1[Load] C2 D0 1, 2D Q0 D0 1, 2D Q0 D1 Q1 D1 Q1 D2 Q2 D2 Q2 D3 Q3 D3 Q3 *(a) considerando Cs mutuamente exclusivos; **(b) considerando prioridades (+C2,C1,C0-). 56

Problemas de Registos (Mano): Arquitectura de Computadores 7.6) Determine a lógica combinatória adicional para implementar as seguintes operações: C 1 C C 1 : R1 2 : R1 R1 + R2 R1 + 1 LOAD_H CP_H M1[Load] C2 D0 1, 2D Q0 D1 Q1 Σ 0 }P 1 2 3 0 1 } 2 0 3 1 2 Q 3 D2 D3 LOAD_H CP_H M1[Load] C2 Q2 Q3 CI CO D0 1, 2D Q0 D1 Q1 D2 Q2 D3 Q3 57

CIRCUITO SOMADOR/SUBTRACTOR B 3 A 3 B 2 A 2 B 1 A 1 B 0 A 0 SOMA_L C C FA 3 C 4 FA 2 C FA 1 FA OVERFLOW S 3 S 2 S 1 S 0 Overflow = Carry N CarryN 1 0 1 0 0 1 0 0 0 4 0 1 0 0 4 1 1 0 0 +5 +0101 +( 5) + 1 0 1 1 ovfl. 1 0 0 1 ovfl. 0 1 1 1 58

Problemas de Registos (Mano): Arquitectura de Computadores 7.9) Realize as operações lógicas binárias, AND, OR e XOR sobre os seguintes operandos: 01011110 e 11000101. 7.11) Realize as operações de deslocamento para a direita (SR) e deslocamento para a esquerda (SL) sobre o seguinte operando: 01001101 59

Problemas de Registos (Mano): Arquitectura de Computadores 7.14) Considere que um sistema implementa o seguinte conjunto de operações de transferência entre registos: C C C C a b c d : R0 R1 : R3 R1, R1 R4, R4 : R2 R3, R0 R2 : R2 R4, R4 R2 a) Identifique, para cada registo de destino, todos os registos de origem. b) Identifique, para cada registo de origem, todos os registos de destino. c) Considerando as transferências simultâneas, qual o menor número de buses para implementar este conjunto de operações. (Cada registo terá um único bus nas suas entradas.) Sugestão: Utilize um mapa de compatibilidades para determinar, de uma forma sistemática, o número mínimo de multiplexers. d) Desenhe um diagrama de blocos contendo os vários registos, buses e as suas interligações. R0 60

Microprocessadores 61

ALU: Circuito Aritmético? X Y i C i 0 = = A i i B S = C in 0 + B S i 1 62

Problemas sobre Unidades Aritméticas (Mano): 7.22) Projecte um circuito aritmético de 4 bits com duas variáveis de selecção, S0 e S1, para realizar as seguintes operações: S1S 0 C in = 0 C in = 1 00 01 10 11 F = A + B F = A F = B F = A + B F = A + B + 1 F = A + 1 F = B + 1 F = A + B + 1 Desenhe o diagrama lógico para a estrutura associada a um dos bits. 63

Problemas sobre Unidades Lógicas (Mano): 7.24) Projecte um circuito lógico de 4 bits, que permita executar as operações EXOR, EXNOR, NOR e NAND sobre os registos A e B, considere duas variáveis de selecção, S0 e S1. a) Utilizando os mapas de Karnaugh determine a lógica mínima necessária para implementar a estrutura associada a um bit. b) Altere a os códigos de selecção e verifique se a lógica pode ainda ser minimizada. 64

Problemas sobre Unidades Lógicas (Mano): 7.28) Considere as seguintes palavras de controlo de 17 bit, definida para a. Determine (a) a microoperação executada e (b) a alteração no conteúdo dos registos (de 8 bit), assumindo que foram inicializados com o valor da sua designação (5H no R5), o valor de Constant é 11H e de Data In é 12H. (a) 101 100 101 0 01000 0 1 (b) 110 010 100 0 00101 0 1 65

Microoperações: (Aritméticas) Implementação de Microoperações de Soma e Subtracção Soma e Subtracção X K1 : R1 R1 + R2 XK : R1 R1 + R2 1 + 1! 66