Você está na página 1de 72

Arquitectura de Computadores

Unidade de Controlo

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

Unidade de Controlo
Nuno Cavaco Gomes Horta
Universidade Tcnica de Lisboa / Instituto Superior Tcnico

Arquitectura de Computadores
Unidade de Controlo

Sumrio
Introduo Unidade de Processamento Unidade de Controlo Conjunto de Instrues Unidade Central de Processamento (CPU) Unidade de Entrada/Sada (I/O) Unidade de Memria Perspectiva Evolutiva das Arquitecturas de Computadores

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

Arquitectura de Computadores
Unidade de Controlo
Unidade de Controlo
Introduo Projecto de Unidade de Controlo Genrica Algoritmo e Datapath para Multiplicao Binria Unidade de Controlo Hardwired Unidade de Controlo Microprogramada

Arquitectura de um Computador Elementar


Unidades de Controlo Hardwired e Microprogramada Formato das Instrues Computador de Ciclo nico Unidade de Controlo Hardwired Computador de Ciclo Mltiplo Unidade de Controlo Microprogramada Unidade de Controlo Hardwired Unidade de Controlo Pipelined
Arquitectura de Computadores 2006/2007 3

N. Horta, IST - UTL

Arquitectura de Computadores
Unidade de Controlo

Arquitectura Genrica de um Computador

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

Arquitectura de Computadores
Unidade de Controlo

Unidade de Controlo: Mdulo (Circuito Sequencial) responsvel pelo controlo da sequncia de operaes a executar na Datapath para implementao de uma tarefa.

Unidade de Controlo: Programvel Aquisio e execuo de instrues armazenadas em memria RAM ou ROM. Localizao das instrues atravs do registo PC (Program Counter). Interpretao das instrues e activao da sequncia de microoperaes a executar pela Datapath. No-Programvel As operaes a serem executadas assim como a sua sequncia baseiam-se nas entradas da U. de Controlo e na avaliao dos bits de estado. Inexistncia de procedimento de aquisio de instrues e de recurso a um registo do tipo PC (Program Counter).

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

Arquitectura de Computadores
Unidade de Controlo

Unidade de Controlo (Projecto): A U.C. pode ser interpretada como uma ASM (Algorithmic State Machine), isto , como uma mquina de estados ou circuito sequencial que implementa o algoritmo de controlo pretendido.

Unidade de Controlo (Especificao): A especificao da U.C. pode ser realizada com recurso a fluxogramas de ASMs, embora semelhantes aos fluxogramas convencionais so interpretados de forma diferente, uma vez que os fluxogramas de ASMs permitem tanto a especificao da sequncia de estados como as relaes de temporizao entre estados e as aces desencadeadas em cada estado como resposta aos ciclos de relgio.

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

Arquitectura de Computadores
Unidade de Controlo
Unidade de Controlo
Introduo Projecto de Unidade de Controlo Genrica Algoritmo e Datapath para Multiplicao Binria Unidade de Controlo Hardwired Unidade de Controlo Microprogramada

Arquitectura de um Computador Elementar


Unidades de Controlo Hardwired e Microprogramada Formato das Instrues Computador de Ciclo nico Unidade de Controlo Hardwired Computador de Ciclo Mltiplo Unidade de Controlo Microprogramada Unidade de Controlo Hardwired Unidade de Controlo Pipelined
Arquitectura de Computadores 2006/2007 7

N. Horta, IST - UTL

Arquitectura de Computadores
Unidade de Controlo
Unidade de Controlo (Especificao) Fluxograma de ASM Simbologia Estado

Exemplo

Condio

Sada

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

Arquitectura de Computadores
Unidade de Controlo
Unidade de Controlo (Especificao) Fluxograma de ASM (Exemplo) Diagrama Temporal

Nota: O registo A colocado a 0, apenas, no terceiro ciclo de relgio uma vez que a transferncia sncrona.
N. Horta, IST - UTL Arquitectura de Computadores 2006/2007 9

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (Especificao)

Multiplicao

Multiplicao em Hardware

!
N. Horta, IST - UTL Arquitectura de Computadores 2006/2007 10

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (Datapath)

Datapath

Nota: G a nico sinal de entrada de controlo externo

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

11

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (Fluxograma da ASM)

Algoritmo

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

12

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (Fluxograma da ASM)

Algoritmo e Sinais de Controlo

N. Horta, IST - UTL

No projecto de uma Unidade de Controlo (UC) deve ser considerado, tanto o controlo das microoperaes (gerao dos sinais de controlo para a Datapath - Tabela), como a sequncia do controlo (determinao do passo seguinte Fluxograma de ASM). Arquitectura de Computadores 13 2006/2007

Arquitectura de Computadores
Unidade de Controlo
Unidade de Controlo
Introduo Projecto de Unidade de Controlo Genrica Algoritmo e Datapath para Multiplicao Binria Unidade de Controlo Hardwired Unidade de Controlo Microprogramada

Arquitectura de um Computador Elementar


Unidades de Controlo Hardwired e Microprogramada Formato das Instrues Computador de Ciclo nico Unidade de Controlo Hardwired Computador de Ciclo Mltiplo Unidade de Controlo Microprogramada Unidade de Controlo Hardwired Unidade de Controlo Pipelined
Arquitectura de Computadores 2006/2007 14

N. Horta, IST - UTL

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (No-Programvel)

Unidade de Controlo No-Programvel Controlo Hardwired


Sntese Clssica: Projecto da parte responsvel pelo sequenciamento na Unidade de Controlo (UC). Neste caso, o fluxograma aparece simplificado de modo a reflectir apenas as condies que afectam as transies entre estados, equivalente a um diagrama de estados. Projecto dos sinais de controlo. Neste caso, aplica-se o procedimento habitual na sntese das sadas de uma mquina de estados.

Projectos Alternativos: N. Horta, IST - UTL Registo e Descodificador, 1 FF por Estado, Contadores, etc. Arquitectura de Computadores 15 2006/2007

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (No-Programvel) (Soluo 1 Registo e Descodificador)

Nota: As equaes dos FFs so obtidas por inspeco da tabela e tendo por base as sadas do descodificador estados -, a soluo no mnima, em certos casos, pode ser simplificada utilizando as variveis de estado (sadas dos FFs). N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

16

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (No-Programvel) (Soluo 1 Registo e Descodificador)

Nota: As equaes dos FFs so obtidas por inspeco da tabela e tendo por base as sadas do descodificador estados -, a soluo no mnima, em certos casos, pode ser simplificada utilizando as variveis de estado (sadas dos FFs). N. Horta, IST - UTL Arquitectura de Computadores 2006/2007

17

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (No-Programvel) (Soluo 1 Registo e Descodificador)

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

18

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (No-Programvel) (Soluo 2 1 FF por Estado)

Algoritmo

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

19

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (No-Programvel) (Soluo 2 1 FF por Estado)

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

20

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (No-Programvel) (Soluo 2 1 FF por Estado)

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

21

Arquitectura de Computadores
Unidade de Controlo
Unidade de Controlo
Introduo Projecto de Unidade de Controlo Genrica Algoritmo e Datapath para Multiplicao Binria Unidade de Controlo Hardwired Unidade de Controlo Microprogramada

Arquitectura de um Computador Elementar


Unidades de Controlo Hardwired e Microprogramada Formato das Instrues Computador de Ciclo nico Unidade de Controlo Hardwired Computador de Ciclo Mltiplo Unidade de Controlo Microprogramada Unidade de Controlo Hardwired Unidade de Controlo Pipelined
Arquitectura de Computadores 2006/2007 22

N. Horta, IST - UTL

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (Programvel)

Controlo Microprogramado: Armazenamento da informao de controlo em memria, Memria de Controlo. A cada palavra de memria corresponde uma microinstruo traduzida em uma ou mais microoperaes do sistema. O conjunto de microinstrues constitui o microprograma. Cada palavra de memria especifica um conjunto de microoperaes a serem realizadas na Unidade de Controlo e na Unidade de Processamento (Datapath). CAR Control Address Register: Contm o endereo da palavra de memria. CDR Control Data Register: Contm o contedo da ltima palavra de memria lida. Arquitectura de Computadores 23 2006/2007

N. Horta, IST - UTL

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (Programvel)

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

24

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (Programvel) Fluxograma da ASM
Fluxograma ASM: Fluxograma ASM com um aumento do nmero de estados devido localizao dos bits de estado a contribuir para a definio do endereo de leitura seguinte, o que impossibilita a utilizao de sadas condicionais, quando comparado com o caso do Controlo Hardwired visto anteriormente. Palavra de Controlo/Microinstruo: Definio do estado seguinte, instruo seguinte, atravs da especificao do endereo de memria da ROM/RAM da Unidade de Controlo. Seleco do estado seguinte baseada nos valores dos bits de estado da Unidade de Processamento. Especificao dos sinais de controlo para a Unidade de Processamento.

Formato da Palavra de Controlo/Microinstruo


N. Horta, IST - UTL Arquitectura de Computadores 2006/2007 25

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (Programvel)

Palavra de Controlo

Sinais de Controlo para a Datapath

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

26

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (Programvel)

Palavra de Controlo

Sinais de Seleco do Estado Seguinte

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

27

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (Programvel) Palavra de Controlo

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

28

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (Programvel)

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

29

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (Programvel) Fluxograma da ASM Operaes de Trasferncia de Registos para a definio do Microprograma do Multiplicador Binrio

Palavra de Controlo

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

30

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Multiplicador Binrio: (Programvel)

Palavra de Controlo

Microprograma para o Multiplicador Binrio

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

31

Arquitectura de Computadores
Unidade de Controlo
Projecto de U. de Controlo para Mquina de Estados Algoritmica

Controlo Hardwired vs Controlo Microprogramado

Controlo Hardwired: Mais econmico para U. de Controlo pequenas e maior rapidez para Sistemas de Elevado Desempenho. Controlo Microprogramado: Aplicvel a sistemas com um elevado nmero de instrues complexas desde que a velocidade no seja o maior requisito.

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

32

Arquitectura de Computadores
Unidade de Controlo
Unidade de Controlo
Introduo Projecto de Unidade de Controlo Genrica: Algoritmo e Datapath para Multiplicao Binria Unidade de Controlo Hardwired Unidade de Controlo Microprogramada

Arquitectura de um Computador Elementar


Unidades de Controlo Hardwired e Microprogramada Formato das Instrues Computador de Ciclo nico Unidade de Controlo Hardwired Computador de Ciclo Mltiplo Unidade de Controlo Microprogramada Unidade de Controlo Hardwired Unidade de Controlo Pipelined
Arquitectura de Computadores 2006/2007 33

N. Horta, IST - UTL

Arquitectura de Computadores
Unidade de Controlo
Arquitectura de um Computador Elementar:

Unidade de Processamento e Unidade de Controlo de uso geral sendo as operaes a realizar, no Computador ou Sistemas Digital Programvel, definidas com recurso a um programa.

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

34

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo nico:

Computador de Ciclo nico: Computador ou Sistema Digital Programvel que implementa a Aquisio e Execuo de uma Instruo N. Horta, IST - UTL Arquitectura de Computadores num Ciclo nico de relgio. 2006/2007

35

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo:
Computador de Ciclo Mltiplo: (1) utilizao de memria nica para instrues e dados; (2) implementao e execuo de instrues complexas.

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

36

Arquitectura de Computadores
Unidade de Controlo
Unidade de Controlo
Introduo Projecto de Unidade de Controlo Genrica: Algoritmo e Datapath para Multiplicao Binria Unidade de Controlo Hardwired Unidade de Controlo Microprogramada

Arquitectura de um Computador Elementar


Unidades de Controlo Hardwired e Microprogramada Formato das Instrues Computador de Ciclo nico Unidade de Controlo Hardwired Computador de Ciclo Mltiplo Unidade de Controlo Microprogramada Unidade de Controlo Hardwired Unidade de Controlo Pipelined
Arquitectura de Computadores 2006/2007 37

N. Horta, IST - UTL

Arquitectura de Computadores
Unidade de Controlo
Formato de Instrues:
Considerando 7 bits para especificar o cdigo da operao e 9 bits para especificar registos, dados ou endereos. (Unidade de Armazenamento da Datapath com 8 Registos de R0 a R7) Endereamento por Registo

Endereamento Imediato

Endereamento Relativo

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

38

Arquitectura de Computadores
Unidade de Controlo
Formato de Instrues:

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

39

Arquitectura de Computadores
Unidade de Controlo
Formato de Instrues:

N. Horta, IST - UTL Arquitectura de Computadores 2006/2007 Nota: Assumindo contedo de R4 igual a 70 e de R5 igual a 80

40

Arquitectura de Computadores
Unidade de Controlo
Formato de Instrues:

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

41

Arquitectura de Computadores
Unidade de Controlo
Formato de Instrues:

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

42

Arquitectura de Computadores
Unidade de Controlo
Elementos de Armazenamento de Informao:
Elementos de Armazenamento de Informao considerados nos exemplos em estudo: PC (Program Counter): Armazena o endereo da prxima instruo a ser lida de memria ou aponta para a posio de memria da prxima instruo. Register File: Conjunto de registos da Unidade de Processamento (8 de 16 bits) Instruction Memory: Memria onde se encontra armazenado o programa o conjunto de instrues. Data Memory: Memria onde se encontram armazenados os dados utilizados durante o processamento. N. Horta, IST - UTL Arquitectura de Computadores 2006/2007 43

Arquitectura de Computadores
Unidade de Controlo
Unidade de Controlo
Introduo Projecto de Unidade de Controlo Genrica: Algoritmo e Datapath para Multiplicao Binria Unidade de Controlo Hardwired Unidade de Controlo Microprogramada

Arquitectura de um Computador Elementar


Unidades de Controlo Hardwired e Microprogramada Formato das Instrues Computador de Ciclo nico Unidade de Controlo Hardwired Computador de Ciclo Mltiplo Unidade de Controlo Microprogramada Unidade de Controlo Hardwired Unidade de Controlo Pipelined
Arquitectura de Computadores 2006/2007 44

N. Horta, IST - UTL

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo nico:

Computador de Ciclo nico: Computador ou Sistema Digital Programvel que implementa a Aquisio e Execuo de uma Instruo N. Horta, IST - UTL Arquitectura de Computadores num Ciclo nico de relgio. 2006/2007

45

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo nico: Descodificador de Instrues

A palavra de controlo inclui sinais de controlo para a U. de Processamento, Memria de Dados e U. de Controlo. Sinais para a U. de Controlo: PL: 1 Carregamento do PC; 0 Incremento do PC. JB: 1 Salto Incondicional; 0 Salto Condicional. BC: Seleciona os bits de estado, ou os seus complementos, que devem ser avaliados no caso de saltos condicionais.

N. Horta, IST - UTL

Arquitectura de Computadores U. Processamento, Memria de Dados e U. Controlo 46 2006/2007

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo nico: Descodificador de Instrues Tipos de Instruo tendo por base o uso de diferentes recursos de hardware:

Sinais para a U. de Controlo: FS: PL (Saltos Condicionais e Incondicionais) Impem bits de FS a 0, para passar o registo A pela ALU e avaliar os bits de estado (Z e N). Contudo, uma soluo mais realista seria armazenar os bits de estado, FLAGS, num registo, Registo de Estado, e efectuar a anlise das flags sempre em relao instruo anterior. BC: Gerado directamente dos 3 bits menos N. Horta, IST - UTL Arquitectura de Computadores significativos do cdigo de operao. 2006/2007 47

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo nico: Exemplo de Instrues

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

48

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo nico: Exemplo de Programa
Pretende-se efectuar a seguinte operao aritmtica: M(250) = M(249) - (M(248) + 3); Inicialmente, R3 = 248.

LD

R1,R3

Carrega R1 com o contedo da posio de memria apontada por R3 (R1=2). Soma 3 a R1 (R1=5). Complementa R1 Incrementa R1 (R1=-5) Incrementa R3 Carrega R2 com o contedo da posio de memria apontada por R3 (R2=83). Soma R2 com R1, R2=83-5=78 Incrementa R3 Armazena o valor de R2 na posio de memria Arquitectura de Computadores 49 apontada por R3. 2006/2007

ADI R1,R1,3 NOT R1,R1 INC R1,R1 INC R3,R3 LD R2,R3

ADD R2,R2,R1 INC R3 ST R3,R2 N. Horta, IST - UTL

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo nico: Desempenho

UC

UP

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

50

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo nico: Desempenho
Limitaes: Limitado na execuo de instrues complexas que correspondem execuo de vrias microoperaes. Impossibilita utilizao de memria nica para instrues e dados, e.g., a execuo de uma instruo com acesso a dados em memria obrigaria a 2 ciclos de acesso memria. Limite em termos da frequncia mxima do sinal de relgio devido aos longos tempos de propagao.

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

51

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo nico:

Diagrama de blocos de um Computador de Ciclo nico com Controlo Hardwired.

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

52

Arquitectura de Computadores
Unidade de Controlo
Unidade de Controlo
Introduo Projecto de Unidade de Controlo Genrica: Algoritmo e Datapath para Multiplicao Binria Unidade de Controlo Hardwired Unidade de Controlo Microprogramada

Arquitectura de um Computador Elementar


Unidades de Controlo Hardwired e Microprogramada Formato das Instrues Computador de Ciclo nico Unidade de Controlo Hardwired Computador de Ciclo Mltiplo Unidade de Controlo Microprogramada Unidade de Controlo Hardwired Unidade de Controlo Pipelined
Arquitectura de Computadores 2006/2007 53

N. Horta, IST - UTL

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo:
Computador de Ciclo Mltiplo: (1) utilizao de memria nica para instrues e dados; (2) implementao e execuo de instrues complexas.

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

54

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo: Formato das Microinstrues

U. Processamento

Sinais para a U. de Processamento: MM: Sinal de controlo para o MUX de seleco da entidade que fornece o endereo de memria (PC para acesso a instruo e BUS A para acesso a dados). TD,TA,TB: Bits de controlo que so concatenados com os bits de especificao/endereamento dos registos para permitir armazenar, num registo adicional R8, dados gerados num ciclo e necessrios em ciclos posteriores da execuo da mesma instruo. N. Horta, IST - UTL Arquitectura de Computadores 2006/2007 55

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo: Palavra de Controlo para a U. de Processamento

U. Processamento

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

56

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo: Formato das Microinstrues

U. Controlo
Sinais para a U. de Controlo: IL: Load Enable do registo IR (Instruction Register), utilizado para armazenar a instruo durante os ciclos da sua execuo. PI: Increment Enable do PC (Program Counter) PL: Program Counter Load MC: Sinal de controlo do MUX de seleco da entidade que fornece o endereo da memria de controlo (bits NA da Microinstruo ou bits de IR ) a armazenar no CAR (Control Address Register) MS: Sinal de controlo do MUX de seleco entre carregar ou incrementar o registo CAR. Arquitectura de Computadores 57 NA: Endereo Seguinte 2006/2007

N. Horta, IST - UTL

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo: Informao de Controlo para a U. de Controlo

U. Controlo

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

58

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo: Aquisio e Execuo de Instrues
Processamento de Instrues: consiste em 2 passos, aquisio e execuo. Aquisio (Fetch) - Estado IF (Instruction Fetch): (1) o PC contm o endereo da instruo na memria; (2) o endereo aplicado memria conjuntamente com a activao do sinal de leitura; (3) o contedo armazenado, no fim do ciclo de relgio, no registo IR; (4) o PC incrementado. Execuo (Execution) Estado EX0: (1) Preenchimento do CAR, tendo por base os 7 bits mais significativos de IR; (2) Permite aceder a uma das 128 posies da memria de controlo.

!
N. Horta, IST - UTL Arquitectura de Computadores 2006/2007 59

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo: Microprograma para Aquisio e Execuo de Instrues Notao Simblica

Cdificao Binria

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

60

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo: Microprograma para Aquisio e Execuo de Instrues Notao Simblica

Cdificao Binria

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

61

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo: Execuo de Instrues de Endereamento Indirecto

Exemplo:
LRI R1, R2

R1 M [M [R 2]]

R[DR ] M [M [R[SA]]]

Processamento da Instruo: LRI (Load Register Indirect) Execuo em 4 ciclos de relgio (IF, EX0, LRI0 e LRI1), a mesma operao com recurso instruo LD corresponde a 6 ciclos de relgio (IF, EX0, LD, IF, EX0, LD). LRI claramente, a uma de instruo que no pode ser executada N. Horta, ISTcorresponde, - UTL Arquitectura Computadores numa arquitectura de ciclo nico.2006/2007 62

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo: Execuo de Instrues de Endereamento Indirecto LRI R1, R2

OPCODE LRI - 0000110

DR 001

SA 010

SB 000

R1 M [M [R 2]]

END IF 192 - 11000000 EX0 193 - 11000001 LRI0 006 - 00000110 LRI1 134 - 10000110

NXT --00000000 --00000000 LRI1 10000110 IF 00000000

MS CNT 000 NXT 001 NXT 001 NXT 001

MC --0 OPC 1 NXA 0 NXA 0

IL LDI 1 NLI 0 NLI 0 NLI 0

PI INP 1 NLP 0 NLP 0 NLP 0

PL NLP 0 NLP 0 NLP 0 NLP 0

TD --0 --0 R8 1 DR 0

TA --0 --0 SA 0 R8 1

TB --0 --0 --0 --0

MB --0 --0 --0 --0

FS --00000 --00000 --00000 --00000

MD --0 --0 DATA 1 DATA 1

RW NW 0 NW 0 WR 1 WR 1

MM PC 1 --0 MA 0 MA 0

MW NW 0 NW 0 NW 0 NW 0

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

63

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo: Execuo de Instrues em Ciclo Mltiplo
EX0 11000001 IF 11000000 IR M [PC ] PC PC + 1

Exemplo:
SRM R1, 3

SA = DR 1 IR = 0000111 ?
S RM 1 00000111

R 8 R [SA ]
S RM 2 10000111

R1 sr [sr [sr [R1]]]


OPCODE SRM - 0000111 DR 001 SA 001 SB 011

R [DR ] zf IR [2 : 0 ]

zf IR [2 : 0 ] = 0 ?
S RM 3 0 10001000

Processamento da Instruo: SRM (Shift Right Multiple) Deslocamento para a direita SA o nmero de vezes indicado nos ltimos 3 bits do cdigo da operao. Execuo em 5+2s ciclos de relgio, a utilizao de uma instruo de shift simples conduziria 3s ciclos de relgio. 5 ciclos (IF, EX0, SRM1, SRM2, SRM5) N. Horta, IST - UTL Arquitectura de Computadores 2s ciclos (SRM3+SRM4) 2006/2007

R 8 sr R 8
S RM 4 10001001

R [DR ] R [DR ] 1

R [DR ] 1 = 0 ?
S RM 5 1 10001010

R [DR ] R 8

64

IF

Computador de Ciclo Mltiplo: Exemplo: Desenvolvimento de Microprograma


END NA --IF EX0 --SRM1 SRM2 SRM3 SRM4 SRM5 MS MC IL PI PL TD TA TB MB FS CNT --LDI INP NLP --- --- --- --- --NXT OPC NLI NLP NLP --- --- --- --- ---

Arquitectura de Computadores Microprocessadores


EX0 11000001 IF

SRM REGISTO, VALOR

MD RW MM MW --- NW PC NW --- NW --- NW

Unidade de Controlo Unidade de Controlo: Microprogramado


0

11000000 IR M [PC ] PC PC + 1

SA = DR 1 IR = 0000111 ?
SRM 1 00000111

R 8 R [SA ]
SRM 2 10000111

R [DR ] zf IR [2 : 0 ]

zf IR [2 : 0 ] = 0 ?
SRM 3 0 10001000

R 8 sr R 8
SRM 4 10001001

R [DR ] R [DR ] 1

R [DR ] 1 = 0 ?
SR M 5 1 10001010

R [DR ] R 8

IF

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

65

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo: Exemplo: Desenvolvimento de Microprograma
0 EX0 11000001 IF 11000000 IR M [PC ] PC PC + 1

SA = DR 1 IR = 0000111 ?
S RM 1 00000111

PALAVRA DE CONTROLO

R 8 R [SA ]
S RM 2 10000111

R [DR ] zf IR [2 : 0 ]

zf IR [2 : 0 ] = 0 ?

MICROPROGRAMA
END IF EX0 SRM1 SRM2 SRM3 SRM4 SRM5 NA ----SRM2 SRM5 --SRM3 IF MS CNT NXT NXT BZ CNT BNZ NXT MC --OPC NXA NXA --NXA NXA IL LDI NLI NLI NLI NLI NLI NLI PI INP NLP NLP NLP NLP NLP NLP PL NLP NLP NLP NLP NLP NLP NLP TD ----1 DR 1 DR DR TA ----SA ----SA 1 TB ------SB 1 ----MB ------1 0 ----FS ----F=A F=B F=sr B F=A-1 F=A MD ----FU FU FU FU FU RW NW NW WR WR WR WR WR MM PC ------------MW NW NW NW NW NW NW NW

S RM 3

0 10001000

R 8 sr R 8
S RM 4 10001001

R [DR ] R [DR ] 1

R [DR ] 1 = 0 ?
S RM 5 1 10001010

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

R [DR ] R 8

66

IF

Arquitectura de Computadores
Unidade de Controlo
Unidade de Controlo
Introduo Projecto de Unidade de Controlo Genrica: Algoritmo e Datapath para Multiplicao Binria Unidade de Controlo Hardwired Unidade de Controlo Microprogramada

Arquitectura de um Computador Elementar


Unidades de Controlo Hardwired e Microprogramada Formato das Instrues Computador de Ciclo nico Unidade de Controlo Hardwired Computador de Ciclo Mltiplo Unidade de Controlo Microprogramada Unidade de Controlo Hardwired Unidade de Controlo Pipelined
Arquitectura de Computadores 2006/2007 67

N. Horta, IST - UTL

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo: Diagrama de Blocos para U. Controlo Hardwired baseada num Contador e num Descodificador

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

68

Arquitectura de Computadores
Unidade de Controlo
Computador de Ciclo Mltiplo: Aquisio e Execuo de Instrues

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

69

Arquitectura de Computadores
Unidade de Controlo
Unidade de Controlo
Introduo Projecto de Unidade de Controlo Genrica: Algoritmo e Datapath para Multiplicao Binria Unidade de Controlo Hardwired Unidade de Controlo Microprogramada

Arquitectura de um Computador Elementar


Unidades de Controlo Hardwired e Microprogramada Formato das Instrues Computador de Ciclo nico Unidade de Controlo Hardwired Computador de Ciclo Mltiplo Unidade de Controlo Microprogramada Unidade de Controlo Hardwired Unidade de Controlo Pipelined
Arquitectura de Computadores 2006/2007 70

N. Horta, IST - UTL

Arquitectura de Computadores
Unidade de Controlo
Arquitecturas de Computadores Elementares: Controlo Pipelined

IF Instruction Fetch DOF Decode and Operand Fetch EX Execution WB Write Back
Exemplo de Desempenho: Arq. de Ciclo nico: 17ns (1.18 inst. em 20ns) Pipeline: 4x5=20ns (4 inst. em 20ns) N. Horta, IST - UTL Pipeline/Ciclonico=3.4 Arquitectura de Computadores 2006/2007 71

Arquitectura de Computadores
Unidade de Controlo

BIBLIOGRAFIA
[1] M. Morris Mano, Charles R. Kime, Logic and Computer Design Fundamentals, Prentice-Hall International, Inc. (Captulo 8)

N. Horta, IST - UTL

Arquitectura de Computadores 2006/2007

72

Você também pode gostar