Buscar

AOC - Unidade de Controle

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS 
Curso de Graduação em Sistemas de Informação 
 
 
 
 
 
 
 
 
 
EDER LUIS RUMIATTO DOS REIS 
 
 
 
 
 
 
 
 
 
 
 
 
 
Operação da Unidade de Controle 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Dourados 
2016 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Operação da Unidade de Controle 
 
 
 
 
 
 
 
 
 
 
 
Trabalho apresentado no curso de graduação de 
Graduação Sistemas de Informação da 
Universidade Federal da Grande Dourados. 
 
Professor: Murilo Táparo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Dourados 
2016 
 
 
RESUMO 
 
Na disciplina de Arquitetura de Computadores e Organização é tratados estrutura e 
funcionamento do computador, vários componentes física que compõe o computador e seus 
periféricos de entrada e saída são mencionados. Num determinado período da disciplina estuda-se o 
processador ou CPU(Central Processing Unit), no qual é considerado um dos componentes mais 
delicado e importante do computador, este estudo deixa claro que o processador é uma unidade de 
controle, no qual é responsável por controlar os registradores, a unidade lógica e aritmética, unidade 
de execução de instruções e interconexões entre esses componentes. Devido este estudo é importante 
detalhar sobre a unidade de controle e a operação da unidade de controle. Desta forma o trabalho foi 
elaborado com o objetivo de detalhar a Operação de Unidade de Controle, mostrando sua principal 
funcionalidade que são o controle de execução de micro-operações o controle do processador e a 
implementação por hardware. 
 
 
 
 
 
 
 
INTRODUÇÃO 
 
Na execução de um programa há uma série de ciclo de instrução, estes ciclos podem ser 
denominados como ciclo de instrução de busca, indireto, execução, interrupção. Cada ciclo de instrução é 
composto de uma sequência de uma ou mais operação importante, estas operações que são realizadas dentro 
de cada ciclo de instrução é chamado de micro-operação. Cada uma é feita a subdivisões e são executadas 
em série envolvendo registradores do processador. 
A unidade de controle de um processador executa duas tarefas: 
 Faz com que o processador execute as microo-perações na sequencia apropriadas determinada pelo 
programa que está sendo executado. 
 Gera sinais de controle para execução das Micro-operações. 
Este sinal de controle causa a abertura e fechamento de portas lógicas, portanto é efetuada a transferência de 
dados de um registrador para outro registrador e realizadas operações da ULA. 
Temos uma técnicas de implementação na unidade de controle conhecida por implementação de hardware, 
onde a unidade de controle consiste em um circuito combinatório, sendo assim seus sinais lógicos de entrada 
é governado por cada instrução de maquina corrente, desta forma e convertidos em conjunto de saída de 
sinais de controle. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Organização Interna do Processador 
 
Temos vários caminhos para transporte de dados, essa complexidade deve ficar clara, pois já foi 
explicada por outros alunos, temos usados algumas formas de arranjos nos barramentos internos. 
A ULA e todos os registradores do processador são conectados por um único barramento interno, 
desta forma são disponibilizado portas de entrada e saída de controle para movimentação de dados entre 
registradores e barramentos. 
Controles adicionais fazem o controle de transferências de dados para o barramento externo do 
sistema, assim como a operação da ULA. 
 
Segue o exemplo na imagem abaixo. 
 
 São adicionados à organização dois novos registradores, chamados de Y e Z. Eles são 
registradores 
necessários para a ULA operar de forma correta. Quando realizar operação de dois operando. 
O registrador acumulador (AC) poderia ser usado, mais limitaria a flexibilidade do sistema e 
não possibilitaria trabalhar com um processador que incluísse vários registradores na realização. O 
registrador Y oferece uma memoria de armazenamento temporário para um dado de entrada. A 
ULA é um circuito combinatório que não possui memoria interna. Devido a isso quando sinais de 
controle ativam a função da ULA, sua entrada e transformada em sinal de saída. 
Esse sinal de saida não pode ser diretamente conectado ao barramento devido o fato dele ser 
redirecionado novamente como um sinal de entrada. Já o Registrador Z tem uma memoria para 
armazenamento temporário de saída. Devido um tipo de arranjo que sera mostrado a baixo , quando 
fizermos uma operação para somar um valor já armazenado na memoria ao Registrador AC. 
 
 
Embora sejam possíveis outras formas de organização, usamos em geral barramentos internos ou conjuntos 
de barramentos internos. O uso de caminhos de dados comuns simplifica o esquema de interconexão e 
controle do processador. Outra razão é a economia de espaço. 
 
Intel 8085 
 
O Intel 8085 foi um microprocessador de 8 bits produzido pela Intel em meados dos anos 1970. Ele 
era compatível em nível binário com o popular Intel 8080, mas precisava de menos hardware de suporte, 
permitindo assim a construção de sistemas mais simples e menos dispendiosos. 
O sistema tem todas as instruções do 8080 acrescido de mais duas, (RIM e SIM). Com isso, os softwares do 
8080 são totalmente compatíveis com o processador 8085. 
O "5" no número do modelo originou-se do facto de que o 8085 necessitava de um suprimento de 
força de somente +5 volts(V) em vez das tensões de +5V, -5V e +12V exigidas pelo 8080. Ambos os 
processadores foram utilizados em computadores executando o sistema operativo CP/M e o 8085 foi 
posteriormente aproveitado como micro-controlador (particularmente pela sua característica de redução de 
componentes auxiliares). Ambos os projectos foram eclipsados pelo Zilog Z80, que lhes era compatível, mas 
muito mais eficiente, na explosão do mercado de computadores domésticos em meados dos anos 1980. 
Segue a imagem abaixo que trata do Diagrama de bloco do Intel 8085 
 
 
 
 
 Unidade "Controle de Interrupção" 
Unidade responsável pelo tratamento das 5 interrupções externas do 8085. Essas interrupções são 
vetoradas, o que significa que há um endereço fixo, pré-definido, para cada uma (RST n salta para a posição 
de memória 8 vezes n: RST 5.5 = 44 10 = 2Ch; RST 6.5 = 34h; RST 7.5 = 3Ch.). As interrupções RST 5.5, 
RST 6.5 e RST 7.5 podem ser mascaradas, ou seja, elas podem ser bloqueadas via "software". Já a 
interrupção TRAP não pode ser bloqueada e é a interrupção de maior prioridade do 8085. Ela normalmente é 
ativada quando há problemas de falta de energia, para um desligamento seguro do microprocessador. A 
interrupção INTR, na verdade, é um canal para expansão da capacidade de interrupção. Através desse canal 
um Circuito Integrado (CI) especial (Exemplo: CI 8259) é conectado ao 8085, de modo a permitir um 
número maior de interrupções. O sinal INTA\ faz parte da comunicação entre o 8085 e o CI usado para 
expansão da capacidade de interrupção. 
https://pt.wikipedia.org/wiki/Microprocessador
https://pt.wikipedia.org/wiki/8_bit
https://pt.wikipedia.org/wiki/Intel
https://pt.wikipedia.org/wiki/D%C3%A9cada_de_1510
https://pt.wikipedia.org/wiki/Bin%C3%A1rio
https://pt.wikipedia.org/wiki/Intel_8080
https://pt.wikipedia.org/wiki/Hardware
https://pt.wikipedia.org/wiki/RIM
https://pt.wikipedia.org/wiki/SIM
https://pt.wikipedia.org/wiki/Volt
https://pt.wikipedia.org/wiki/Sistema_operativo
https://pt.wikipedia.org/wiki/CP/M
https://pt.wikipedia.org/wiki/Microcontrolador
https://pt.wikipedia.org/wiki/Zilog_Z80
https://pt.wikipedia.org/wiki/Computador_dom%C3%A9stico
https://pt.wikipedia.org/wiki/D%C3%A9cada_de_1980
https://pt.wikipedia.org/wiki/Circuito_Integrado
 Unidade "Controle de Entrada/Saída Serial" 
É através dessa unidade que o microprocessador recebe e envia dados de forma serial, ou seja, bit a bit, 
ao invés de umbyte por vez. O pino SID (Serial Imput Data) é usado para a entrada de dados de forma serial 
e o pino SOD (Serial Output Data) é usado para a saída de dados de forma serial. 
 
 Unidade "Temporização e Controle" 
Esta unidade é responsável por gerar todos os sinais de controle do 8085, tais como os sinais de leitura (RD\) 
e escrita (WR\) de memória, os sinais de liberação de barramento para um periférico (HLDA) e o sinal de 
habilitação de endereço para um periférico (ALE). Todas as unidades internas do 8085 são controladas por 
esta unidade, que contém, dentre outros, um contador em anel para sincronização da operação de todas as 
unidades do 8085. Os sinais de controle para outras unidades são enviados após decodificação das instruções 
vindas do Registrador de Instruções (IR). Recebe ainda sinais do registrador de Flags e da unidade de 
interrupções. 
 
 Unidade "Unidade Lógico-Aritmética (ULA ou ALU)" 
É responsável por todo o processamento realizado na CPU (execução de instruções aritméticas e lógicas). É 
controlada por sinais internos emitidos pela Unidade de Controle. Tem como entrada os registradores A 
(Acumulador) e TEMP (Temporário). É responsável pela sinalização de status das operações (FLAGS). É 
um registrador de 8 bits. 
 
 Registrador "Acumulador" 
É o principal registrador da CPU. É utilizado como Buffer temporário de entrada da Unidade Lógica e 
Aritmética (ALU ou ULA). Freqüentemente é o registrador de entrada ou saída da CPU. É utilizado 
implicitamente na maioria das instruções. É um registrador de 8 bits, o que permite trabalhar com números 
sem sinal de 0 a 255 e números com sinal de -128 a +127. O resultado das operações resultantes da ULA é 
enviado para o Acumulador. 
 
 Registrador "TEMP" 
É um registrador auxiliar usado para a entrada de dados da Unidade Lógico-Aritmética. Os dados desse 
registrador são enviados para a ULA juntamente com os dados do Acumulador. 
Registrador "Flip-flops dos flags" 
É também conhecido como registrador F (de Flags), ou registrador PSW (Program Status Word) É um 
registrador de 8 bits (mas somente 5 bits são utilizados) que armazena o estado da última operação realizada 
na ULA. 
 
S = Flag de Sinal - assume o valor 1 quando o resultado de uma operação é negativo 
Z = Flag de Zero - assume o valor 1 quando o resultado de uma operação é zero 
AC = Auxiliar de Carry = flag usada como auxiliar de transporte. Assume valor 1 quando há transporte do 
bit 3 para o bit 4. É usada em operações BCD 
P = Flag de Paridade = assume valor 1 quando há um número de par de algarismos 1 no acumulador 
CY = Flag de Carry (transporte) = assume valor 1 quando há transporte do bit 7. 
https://pt.wikipedia.org/wiki/Bit
https://pt.wikipedia.org/wiki/Byte
https://pt.wikipedia.org/w/index.php?title=HLDA&action=edit&redlink=1
https://pt.wikipedia.org/wiki/Unidade_l%C3%B3gica_e_aritm%C3%A9tica
https://pt.wikipedia.org/wiki/Unidade_l%C3%B3gica_e_aritm%C3%A9tica
https://pt.wikipedia.org/wiki/CPU
 
 Registrador de Instrução (IR - Instruction Register) 
 É um registrador de 8 bits que armazena o primeiro byte da instrução (OPCODE), ou seja, o conteúdo da 
memória apontado (endereçado) pelo registrado PC. Registrador 
Decodificador de Instrução e Codificador de Ciclo de Máquina 
 É o registrador responsável pela decodificação de cada instrução e de definição dos ciclos de máquina que 
serão controlados pela unidade de controle. 
 
 Registradores B, C, D, E, H e L 
São registradores de propósito geral de 8 bits e que podem ser combinados aos pares para formar 
registradores par (rp: register pair) para armazenar endereços (16 bits). Os pares formados são: BC, DE e 
HL. O primeiro registrador de cada par armazena o byte mais significativo, isto é, B, D e H. 
Registrador par HL Registrador usado como apontador de dados na memória RAM, à semalhança do 
registrador PC, que aponta instruções e dados na memória ROM (como será visto numa seção posterior). O 
registrador HL é usado implicitamente em várias instruções e é referenciado nessas instruções “M”, de 
Memory. 
 
 Registrador "Contador de Programa" 
O registrador "Contador de Programa" PC (Program Counter) é o registrador que armazena o endereço da 
próxima instrução a ser executada. É incrementado pela unidade de controle após a execução de uma 
instrução. (OBS: as instruções estão localizadas na memória e precisam ser transferidas para dentro da CPU). 
Sendo um registrador de 16 bits o registrador PC pode indicar até 65536 diferentes endereços (0 a 65535 ou 
0000h a FFFFh). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Pinagem do 8085 
 
A tabela a seguir mostra, através dos pinos IO/M\, S1 e S0, o estado em que se a encontra a CPU durante a 
execução de uma instrução. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Implementação por hardware 
Há uma grande variedade de técnicas sendo usada para implementação na unidade de controle, 
neste capitulo trata de uma categoria apenas. 
 
 Implementação por Hardware: 
o Que é essencialmente um circuito combinatório. Onde os Sinais lógicos de entrada são 
transformados em conjunto de lógicos de siada. 
 
Entradas da unidade de controle 
 
De acordo com a imagem abaixo mostra a unidade de controle de forma geral com ela foi descrita 
por esse ator. 
 
 
As entradas básicas são o registrador de instrução, o relógio, os códigos de condições e os sinais do 
barramento de controle, onde cada um faz seu serviço. 
O código de condição e dos sinais do barramento do controle, são responsáveis por cuidar de cada bit 
individual, ou seja, cada bit tem um significado (ex. Overflow). Essas duas entradas, não usada diretamente 
pela Unidade de controle. 
 Vamos considerar em primeiro momento o registrador de instrução, a unidade de controle pega o 
código de operação e o executa diferentes ações, gerando assim combinações diferentes de sinais para cada 
instrução. Para uma melhor resolução simplificar a logica da unidade de controle de sinais, é permitida 
apenas uma única entrada logica correspondente a cada código. 
 Um decodificador é usado para ler a entrada e produzir a saída única para cada código de operação. 
Os decodificadores possui n entradas logicas e 2n saídas binarias, dentro de cada 2n padrões de bits de 
entrada ativa somente uma única saída. 
 
Lógica da Unidade de controle 
 Para finalizar a definição de implementação de unidade de controle é preciso definir a lógica interna 
da unidade de controle, que produz sinais de controle de saída como função dos seus sinais de entrada. 
É preciso derivar para cada sinal de controle uma expressão booleana que define esse sinal em 
função das entradas. Como mostra a imagem abaixo. 
 
 
 
 
 
 Considerando um único sinal de controle C5. Esse sinal faz com que seja lido um dado do 
barramento esterno para o registrador MBR. Irei definir dois novos sinais de controle P e Q e tem a seguinte 
interpretação: 
 
 Se a expressão booleana define C5: 
 
 O sinal de controle C5e ativado durante o segundo intervalo de tempo tanto na busca quanto no 
indireto. Está expressão não está completa, pois também C5 é necessário durante o ciclo de execução. Desta 
forma temos que supor que existe apenas três instrução que efetue leitura na memoria: LDA, ADD, AND. 
Segue a nova expressão: 
 
 
Esse mesmo processo pode ser repetido para todo sinal de controle gerado pelo processador. O 
resultado é um conjunto de equações booleanas que define o comportamento da unidade de controle. 
Após juntar tudo, a unidade de controle emite um sinal que faz com que o gerador de sinais de temporização 
seja reiniciado, e gera um sinal T1. Subsequente disso a unidade também precisa atribuir valores apropriados 
a P e Q para definir o próximo subciclo a ser efetuado. 
Para finalizar o números de equações booleanas requeridas para definir a unidade de controle em um 
complexo processador moderno e muito grande, pois a tarefa de implementar um circuito combinatórioque 
satisfaça essas equações torna-se extremamente difícil. 
 
Referências Bibliográficas 
 
STALLINGS, W. Arquitetura e Organização de Computadores. Pretince Hall, 5° Edição, São 
Paulo, SP, 2002. 
Cichaczewski, E; Theiss, E, P. Microprocessador Risc Implementado Em Lógica Programável. VIII 
Seminário de Iniciação Científica e Tecnológica. Curitiba, PR, 2003.

Continue navegando