Você está na página 1de 16

UNIVERSIDADE FEDERAL DO ACRE CENTRO DE CINCIAS EXATAS E TECNOLGICAS CCET CURSO DE BACHARELADO EM ENGENHARIA ELTRICA

ALEXANDRE NAGAO GONALVES WANDERLEY ARAJO DE CASTRO JNIOR

Unidade de Controle Microprogramada

Rio Branco AC Abril de 2013

ALEXANDRE NAGAO GONALVES WANDERLEY ARAJO DE CASTRO JNIOR

Unidade de Controle Microprogramada

Trabalho apresentado a Professora Dra. Ana Beatriz Alvarez, da disciplina Eletrnica I (CCET) do Quarto perodo do Curso de Bacharelado em Engenharia Eltrica da Universidade Federal do Acre, com vistas obteno da nota N2.

Orientador: Prof. Dra. Ana Beatriz Alvarez

Rio Branco AC Abril de 2013

FICHA CATALOGRFICA

Apresentao do seminrio sobre Unidade de Controle Microprogramada. Alexandre Nagao Gonalves, Wanderley Araujo De Castro Junior - 2013. Orientador: Prof. Dra. Ana Beatriz Alvarez Trabalho para a composio da nota N2 Universidade Federal do Acre, Curso de Engenharia Eltrica. 2013

Unidades de Controle Microprogramada Formato das microinstrues Microssequenciador Decodificador de instrues Microprogramao

RESUMO

A fronteira entre hardware e software no sempre bem definida e muda constantemente. Mquinas mais antigas tinham as instrues aritmticas e booleanas diretamente implementadas em hardware. Mquinas mais modernas, muitas vezes, tm suas instrues do nvel convencional realizadas passo a passo por um interpretador executando um microprograma. Exemplos de mquinas microprogramadas incluem as famlias Intel e Motorola. Uma classe de mquinas modernas, chamadas RISC, entretanto, no so microprogramadas e ser objeto de estudo mais adiante. Aqui vamos descrever o mecanismo de microprogramao. O hardware da Unidade de Controle microprogramada responsvel por buscar, uma a uma, cada micro instruo do microprograma na memria de controle e armazen-las em um registrador apropriado (Registrador de Microinstruo MIR). Os sinais de controle da CPU codificados na microinstruo armazenada no MIR so decodificados pelo hardware da Unidade de Controle microprogramada, esta tambm responsvel pela execuo da microinstruo, ou seja, a aplicao dos sinais de controle no caminho de dados da CPU, de acordo com uma temporizao adequada e deve prover um meio de sequenciamento das microinstrues.

Palavras chave Micro programa; Micro instruo; Decodificador

SUMRIO Pg. 1 2 3 Objetivos Introduo Unidade de Controle Micropragramada 3.1 Formato das microinstrues 3.2 Microssequenciador 3.3 Decodificador de instrues 3.4 Microprogramao 3.4.1 Micro programao Horizontal x Micro programao Vertical 3.4.2 Sequenciador 4 5 Concluso Bibliografia 10 11 12 2 3 4 5 7 8 9 9

1.

Objetivos

Procurar explicar o que unidade de controle micro programada e analisar a fronteira entre hardware e software no sempre bem definida e muda constantemente. Mquinas mais antigas tinham as instrues aritmticas e booleanas diretamente implementadas em hardware. Mquinas mais modernas, muitas vezes, tem suas instrues do nvel convencional realizadas passo a passo por um interpretador executando um microprograma. Exemplos de mquinas microprogramadas incluem as famlias Intel e Motorola. Uma classe de mquinas modernas, chamadas RISC, entretanto, no so microprogramadas e sero objeto de estudo mais adiante. Aqui vamos descrever o mecanismo de microprogramao.

2 Introduo A unidade de controle micro programada utilizada para se desenvolver a implementao de complexas instrues que no podem ser implementadas em forma de hardware e teve como seu inventor o ingls Maurice Wilkes em 1953. Sua ideia era criar uma unidade de controle mais fcil de projetar e mais flexvel. A utilizao da unidade de controle micro programada tem algumas vantagens, pois, um computador base, que use a micro programao pode emular outro computador, bem como uma instruo pode ser desenvolvida e ser utilizada em diferentes modelos de hardware e paralelamente. A IBM reconheceu a importncia da unidade de controle microprogramada e implementou no computador IBM 360 em abril de 1964. Todos os modelos desta famlia de computadores contavam com uma memria de controle rpida e barata, a qual estava micro programada. Isto se tornou um grande sucesso na famlia IBM e desde ento a microprogramao ficou popular em todo o mundo.

Unidade de Controle Microprogramada

Tal como qualquer sistema de grande complexidade as CPUs modernas so formadas por um conjunto de subsistemas especializados em realizar operaes especficas. Temos por exemplo o registrador PC, responsvel por armazenar o endereo da prxima instruo a ser executada, a ULA, responsvel por realizar as operaes lgicas e aritmticas, muxes, arquivos de registradores, etc. Todos esses circuitos so como mquinas em uma usina de processamento de dados. Dados brutos so fornecidos a estas mquinas e elas aps alguns instantes de tempo fornecem na sua sada o produto do seu trabalho que uma resposta quele estmulo de entrada.

Individualmente uma mquina em uma fbrica realiza apenas uma pequena parte do trabalho. Da mesma forma ocorre com os componentes da CPU. Individualmente eles realizam operaes relativamente simples. O que faz com que as CPUs consigam realizar operaes complexas um circuito cuja funo controlar a ordem em que as operaes so executadas, este circuito muito adequadamente chamado de Unidade de Controle. Dado que a unidade de controle controla a operao de todos os outros mdulos da CPU alguns autores consideram-na a parte mais importante da CPU.
Microprocessador
Registrador de Instruo Bus de dados Registros de Uso Geral FPU ALU Bus de controle Unidade de Controle Cache Interna (L1) Decodificador de Instruo

Bus interno

Bus de endereo

Arquitetura bsica de um microprocessador com FPU e cache interna

O projeto da unidade de controle pode ser feito de duas formas diferentes. A primeira utilizando microprogramao. Nesta abordagem cada instruo assembler da arquitetura ela prpria um microprograma. A unidade de controle microprogramada tem em seu interior um circuito decodificador. Este circuito decodifica as instrues assembler e utiliza as mesmas como um ndice para o microprograma interno da unidade de controle. Este microprograma quem aciona as linhas de controle que esto ligadas nos circuitos. O outro projeto da chamada Unidade de Controle Hardwire. Nesta abordagem o funcionamento da unidade de controle caracterizada por uma mquina de estados finitos. O funcionamento desta mquina de estados ditada pela instruo assembler que a CPU est executando. Nesta abordagem, para cada estado da mquina de estados da unidade de controle um conjunto de linhas de controle ligadas aos circuitos da CPU so habilitados ou desabilitados de uma forma ordenada. Projetar uma unidade de controle microprogramada mais fcil do que uma hardwire porque o projetista escreve um microprograma para cada instruo assembler. Por outro lado a hardwire mais eficiente do que a microprogramada por no ter instrues intermedirias, porm so bem mais difceis de projetar. No artigo Translating a Microprogram to Hardwire Control este problema atacado por meio de um mtodo de converso de um projeto de unidade de controle microprogramada para uma hardware. 3.1 Formato das microinstrues

uma palavra da memria de controle. Cada microinstruo especifica de algum modo os sinais de controle e a prxima microinstruo a ser executada, o controle micro programado mais lento que o hardwired, mas bastante mais flexvel e com uma implementao estruturada. O microprograma uma representao simblica do controle, que dever ser traduzida por um programa para uma lgica de controle. O formato da microinstrues deve ser escolhido de modo a simplificar a representao, tornando o microprograma mais fcil de entender e de se escrever. Podemos distinguir que uma microinstrues inconsistente

sempre que um certo sinal de controle tenha que receber dois valores diferentes. Para evitar um formato que permita microinstrues inconsistentes, podemos fazer com que cada campo da microinstrues seja responsvel por especificar um conjunto de sinais de controle que no se sobreponham. Um exemplo seria: Os primeiros seis campos da microinstrues controlam o caminho de dados, enquanto o campo de sequenciamento especifica como selecionar a prxima microinstrues.

As microinstrues so geralmente colocadas em uma ROM ou em uma PLA e so utilizadas para implementar o controle, como vemos no quadro abaixo:

Podemos atribuir os endereos s microinstrues, os endereos costumam ser dados em sequncia. Existem disponveis trs mtodos para a escolha da prxima microinstruo: Incrementar o endereo da microinstruo corrente, para assim obtermos o endereo da prxima. Desviar para a microinstruo que comea a execuo da prxima instruo. Colocamos um indicador no campo de sequenciamento para indicar qual a prxima instruo Escolher a prxima microinstruo com base na entrada da unidade de controle. Esta escolha tambm chamada de despacho. Na maioria das vezes as operaes de despacho so implementadas a partir da criao de uma tabela que contenha os endereos das microinstrues alvo. Podemos implementar estas tabela em uma Rom ou em uma PLA. 3.2 Microssequenciador

um circuito responsvel por informar a localizao da prxima microinstruo que ser executada a partir da microinstruo atual, o indicador de condio e o cdigo da operao do registro de instrues. Ele encarregado de direcionar a memria do microprograma baseandose no contador de microprograma. O Contador de microprograma um registro que se incrementa com um relgio interno, mas que depende dos registros de estado e instruo e de alguns bits do registro da micro palavra. Em algumas situaes determinadas toma valores preestabelecidos (RESET, INTERRUPT, HOLD, etc.) 3.3 Decodificador de instrues

Tem a funo de identificar as operaes a serem realizadas, que esto correlacionadas instruo em execuo. RDM Registrador de Dados da Memria REM Registrador de Endereo da Memria.

Comunicao e transferncias de informaes entre a UCP e a MP. Cada instruo que e enviada para a Unidade Central de Processamento

representada por um cdigo (um conjunto de bits que representam a instruo. Isto ser visto mais adiante, em Instrues de Maquina). A Unidade de Controle deve identificar a instruo que foi enviada a Central de Processamento em forma de cdigo (decodificar ou interpretar a instruo) e acionar os dispositivos que executaro a instruo. A funo do Decodificador de Instruo e decodificar a instruo. Ele possui uma entrada, atravs da qual se comunica com o Registrador de Instruo para receber a instruo que deve ser decodificada, e varias sadas (um Decodificador de Instruo possui 2N sadas, onde N e o numero de algarismos binrios do valor de entrada), atravs das quais ele informa a Unidade de Controle a operao correspondente aquela instruo. A figura a seguir mostra um exemplo de Decodificador de Instruo com entrada de 4 bits e 16 sadas. O decodificador de instruo recebe o cdigo da instruo na sua entrada e interpreta esse cdigo de acordo com a configurao que lhe foi programada pelo projetista do processador. O resultado dessa interpretao e a ativao de uma das sadas que vai para a Unidade de Controle informando a ela a operao. Cada linha de sada aciona de modo diferente a Unidade de Controle e esta, por sua vez, emite sinais de controle por diferentes caminhos, conforme a linha de sada decodificada.

* Imagem retirada do livro Introduo Organizao de Computadores, Monteiro,


Mrio A.

3.4

Micro programao

O nvel de microprogramao funciona como interface entre compilador e o interpretador. Deve interpretar eficientemente as macroinstrues,

explorando as vantagens oferecidas pelo hardware. 3.4.1 - Micro programao Horizontal x Micro programao Vertical: Caractersticas da Micro programao Horizontal:

Sinais de controle da CPU explcitos nos campos da micro instruo, possui um conjunto pequeno de micro instrues largas; ocupa mais memria de controle; ocupa mais rea do chip. Custo maior; precisa pouco ou nenhum hardware de decodificao; so micro instrues mais versteis, conseguem fazer mais operaes em paralelo; Em mdia, utiliza menos micro instrues para interpretar uma macro instruo; os micro programas so mais curto, implicando em um melhor desempenho. Caractersticas da Micro programao Vertical: Uso generalizado de codificao dos sinais de controle da CPU nos campos da micro instruo; utilizam um conjunto grande de micro instrues estreitas; ocupa menos memria de controle (micro programa mais comprido, mas com microinstrues bem mais estreitas do que na micro programao horizontal); Ocupa menos rea do chip. Custo menor; Precisa de hardware adicional para decodificao da micro instruo; Micro instrues primitivas menos versteis, no exploram paralelismo de operaes no caminho de dados; Em mdia, utiliza mais micro instrues para interpretar uma macro instruo; Micro programa mais longo, implica em desempenho menor. 3.4.2 Seqenciador um circuito responsvel por informar a localizao da prxima microinstruo que ser executada a partir da microinstruo atual, o indicador de condio e o cdigo da operao do registro de instrues. Ele encarregado de direcionar a memria do microprograma baseandose no contador de microprograma. O Contador de microprograma um registro que se incrementa com um relgio interno, mas que depende dos registros de estado e instruo e de alguns bits do registro da micro palavra. Em algumas situaes determinadas toma valores preestabelecidos (RESET, INTERRUPT, HOLD, etc.)

4 Concluso Conclumos que a unidade de controle micro programada possui funo primordial para um bom desempenho de maquina modernas pois possibilitam uma quantidade de processamento em paralela que no seria impossvel ser implementado em modo hardware pois esta utilizada para se desenvolver a implementao de complexas instrues. A utilizao da unidade de controle micro programada tem algumas vantagens, pois, um computador base, que use a micro programao pode emular outro computador, bem como uma instruo pode ser desenvolvida e ser utilizada em diferentes modelos de hardware e paralelamente.

Bibliografia

Monteiro, Mrio A. Introduo Organizao de Computadores, 4 edio. Editora LTC. Introduo aos Sistemas Digitais e Microprocessadores , G. Arroz, J. Monteiro, A. Oliveira, 2003, (Captulo 11, 12, 14). http://www.hamer.com.br/arq/figuras.htm https://sites.google.com/site/unicontrolmicro/ http://www.dca.ufrn.br/~pablo/FTP/arq_de_comp/apostilha/capitulo5.pdf http://www2.ufersa.edu.br/portal/view/uploads/setores/110/arquivos/Arquitetura %20de%20Computadores/ControleMicroprogramado.pdf

Você também pode gostar