Arquitetura de Computadores - Controle .Introdução •Projeto baseado em HW para a Unidade de Controle

  • View
    212

  • Download
    0

Embed Size (px)

Text of Arquitetura de Computadores - Controle .Introdução •Projeto baseado em HW para a Unidade de...

  • Arquitetura de Computadores- Controle Microprogramado

    por

    Helcio Wagner da Silva

  • Introduo

    Projeto baseado em HW para a Unidade deControle

    Difcil

    Lgica relativamente complexa para seqenciamento eexecuo de microoperaes e interpretao doscdigos de condio

    Inflexvel

    Necessrio alteraes no projeto para a incluso deuma nova instruo de mquina

    Projeto alternativo: Unidade de Controlemicroprogramada

    2

  • Microinstrues

    Temporizao Sinais de controle

    ativosCiclo

    t1: MAR PC C2

    Busca t2: MBR Memria

    PC PC + 1C5, CR

    t3: IR MBR C4

    t1: MAR IR(Endereo) C8

    Indireto t2: MBR Memria C5, CR

    t3: IR(Endereo) MBR(Endereo) C4

    t1: MBR PC C1

    Interrupo t2: MAR End. Salvamento

    PC Endereo de Rotina

    t3: Memria MBR C12, CW

    Instrues

    3

  • Microinstrues

    I horizontal

    Endereo de I

    Condio de desvio incondicional zero overflow bit de indireo

    Sinais de controle para o Barramento do sistema

    Sinais de controle Internos ao P

    4

  • Microinstrues

    I vertical

    Endereo de I

    Condio de desvio

    Cdigos de funo

    5

  • Microprograma

    Termo usado pela primeiravez por Maurice VincentWilkes na dcada de 50

    Conjunto de Is

    Armazenado numa memriade controle

    Constitui-se numa forma deimplementar a Unidade deControle

    6

  • Memria de Controle

    Desvie para ciclo de busca ou interrupo

    Desvie para ciclo de indireo ou de execuo

    Desvie para ciclo de execuo

    Desvie para ciclo de busca

    ......

    ......

    Desvie para a rotina do cdigo de operao

    Desvie para ciclo de busca ou de interrupo

    Desvie para ciclo de busca ou de interrupo

    ......

    ...

    ...

    Rotina do ciclo de busca

    Rotina do ciclo de indireo

    Rotina do ciclo de interrupo

    Rotina da operao AND

    Rotina da operao ADD

    Rotina da operao IOF

    Inicio da rotina do ciclode execuo

    7

  • Arquitetura da Unidade de Controle

    Registrador de Endereo de Controle (CAR)

    Registrador de I (CBR)

    Memria de Controle

    Lgica de seqenciamento

    1

    1

    2

    2

    8

  • Unidade de Controle

    Arquitetura da Unidade de Controle

    Registrador de Endereo de Controle (CAR)

    Registrador de I (CBR)

    Memria de Controle

    Lgica de seqenciamento

    Decodificador

    Decodificador

    Registrador de Instruo (IR)

    Sinais de controle Internos ao P

    Sinais de controle para o barramento do sistema

    Leitura

    relgio

    Bits de condioda ULA

    9

  • Vantagens e Desvantagens

    Vantagem

    Relativa simplicidade

    Controle microprogramado utilizado em mquinasCISC

    Desvantagem

    Relativa lentido

    Implementao por HW utilizada em mquinas RISC

    10

  • Seqenciamento de Microinstrues

    Na execuo de um programa, o endereo daprxima I pode ser:

    1. Determinado pelo IR

    Ocorre sempre que a instruo buscada

    2. O prximo endereo na seqncia

    Ocorrncia mais comum

    3. Um endereo de desvio

    11

  • Seqenciamento de Microinstrues

    Com base na I atual, nos bits de condio e nocontedo do IR, deve ser gerado o endereo daprxima I na Memria de Controle

    Tcnicas utilizadas Explcitas

    Dois campos de endereo

    Um nico campo de endereo

    Formato varivel

    Implcitas Mapeamento

    Adio

    Controle residual12

  • Dois Campos de Endereo

    Controle Endereo

    1Endereo

    2

    Multiplexador Lgica

    de Desvio

    ...

    IR

    Memria de Controle

    Decodificador de endereo

    CAR

    Seleo de endereo

    CAR: Registrador de Endereo de ControleCBR: Registrador de IIR: Registrador de Instruo

    Bits de condio

    CBR

    13

  • nico Campo de Endereo

    Controle Endereo

    Multiplexador Lgica

    de Desvio

    ...

    IR

    Memria de Controle

    Decodificador de endereo

    CAR

    Seleo deendereo

    CAR: Registrador de Endereo de ControleCBR: Registrador de IIR: Registrador de Instruo

    CBR

    Bits de condio

    +1

    14

  • Formato Varivel

    Multiplexador

    Lgica de

    DesvioIR

    Memria de Controle

    Decodificador de endereo

    CAR

    Seleo deendereo

    CAR: Registrador de Endereo de Controle

    CBR: Registrador de IIR: Registrador de Instruo

    CBR

    Bits de condio

    +1

    Campo deendereoCampo de

    controle dedesvio Lgica de

    gerao desinais decontrole

    Campo completo

    Habilitao

    15

  • Mapeamento

    Poro correspondente ao cdigo de operaode uma instruo de mquina mapeada emum endereo de I

    Op #02 ...

    Decodificador de Endereo

    IR

    Busca

    Indireo

    Interrupo

    Execuo Op #01

    Execuo Op #02

    Execuo Op #03

    Execuo Op #04

    ...Execuo Op #N

    16

  • Registrador de Endereo de Controle (CAR)

    Adio

    Combinao (ou soma) de duas pores deum endereo para formar o endereocompleto

    00 07 08 09 10 11 12

    BB(4)

    BC(4)

    BD(4)

    BE(4)

    BF(7)BA(4)

    17

  • Controle Residual

    Envolve o uso de um endereo de I quetenha sido armazenado anteriormente

    CAR

    CBR

    Memria de Controle

    Registrador de Retorno

    Bit indicadorde subrotina

    18

  • Execuo de MicroInstrues

    O ciclo de I o evento bsico de umprocessador microprogramado

    Consiste de duas partes: busca & execuo

    A poro de busca determinada peloendereo de I

    Ao fim da execuo, so gerados sinais decontrole que: Abrem/fecham circuitos internos ao processador

    Abrem/fecham externos ao processador

    Ajudam a definir o endereo da prxima I19

  • Execuo de Microinstrues

    20

    Unidade de Controle

    Registrador de Endereo de Controle (CAR)

    Registrador de I (CBR)

    Memria de Controle

    Lgica de seqenciamento

    Lgica de controle

    Registrador de Instruo (IR)

    Sinais de controle Internos

    Sinais de controle externos

    relgio

    Bits de condioda ULA

  • Taxonomia de Microinstrues

    Classificaes possveis para as I

    Verticais ou horizontais

    Empacotadas ou no-empacotadas

    Microprogramadas por HW ou por SW

    Codificadas diretamente ou indiretamente

    Sobre as classificaes

    Dizem respeito ao formato das I

    Do uma idia sobre as alternativas de projeto dasI

    21

  • Taxonomia de Microinstrues

    Proposta original de Wilkes Cada bit da I produzia um sinal de controle ou um bit

    de endereo da prxima I

    K bits destinados gerao de sinais de controleapresentariam 2K padres de bits diferentes

    Nem todas as combinaes possveis podem serutilizadas Duas origens no podem ser dirigidas para um mesmo

    destino

    Um registrador no pode ser origem e destinosimultaneamente

    Apenas um padro de bits pode ser apresentado ULA ouao barramento de sistema em cada instante

    22

  • Taxonomia de Microinstrues

    23

    MBR

    MAR

    PC IR

    AC

    ULA

    Unidadede

    Controle

    relgio

    Sinais decontrole

    Cdigos decondio

    Sinais decontrole

    C0 C2 C13

    C6

    C7 C9

    C12

    C5

    C8 C1 C3 C4

    C10

    C11

  • Taxonomia de Microinstrues

    24

    MBR

    MAR

    PC IR

    AC

    ULA

    Unidadede

    Controle

    relgio

    Sinais decontrole

    Cdigos decondio

    C0 C2 C13

    C6

    C7 C9

    C12

    C5

    C8 C1 C3 C4

    C10

    C11

    Sinais decontrole

  • Taxonomia de Microinstrues

    Codificao mais compacta

    Todas as Q combinaes permitidas. Q < 2K

    Combinaes codificadas usando log2Q bits, ondelog2Q < K

    Na prtica, as Unidades de Controle no soprojetadas usando um formato de Ihorizontal ou vertical puro

    Algum grau de codificao usado para reduzir aMemria de Controle e simplificar amicroprogramao

    25

  • Extremos do Espectro de Projeto de I

    CARACTERSTICAS

    No codificada Altamente codificada

    Muitos bits Poucos bits

    Viso detalhada do HW Viso agregada do HW

    Difcil de programar Fcil de programar

    Concorrncia explorada completamenteConcorrncia no explorada

    completamente

    Pouca ou nenhuma lgica de controle Lgica de controle complexa

    Execuo rpida Execuo lenta

    Otimiza o desempenho Otimiza a programao

    26

  • Codificao Direta

    27

    Campo Campo Campo

    Lgica de decodificao

    Lgica de decodificao

    Lgica de decodificao

    Sinais de controle

    ... ... ...

    ......

  • Codificao Indireta

    28

    Campo Campo Campo

    Lgica de decodificao

    Lgica de decodificao

    Lgica de decodificao

    Sinais de controle

    ... ...

    ......

    Lgica de decodificao

  • Codificao Funcional e Por Recursos

    Codificao Funcional

    Identifica as funes da mquina e designacampos para cada tipo de funo

    Um campo pode identificar qual ser a origem dosdados que sero transferidos para o acumulador

    Codificao Por Recursos

    V a mquina como consistindo de um conjuntode recursos independentes e designa um campopara cada um deles (E/S, memria, ULA, etc)

    29

  • Repertrio de I Verticais

    30

    0 0 0 0 0 0

    0 0 0 0 0 1

    0 0 0 0 1 0

    Seleo deregistrador

    Transferncias simples entre registradores

    MDR Registrador

    Registrador MDR

    MAR Registrador

    Ope