Arquitetura de Computadores - Controle Microprogramado. por Helcio Wagner da Silva

Documentos relacionados
18/10/2010. Unidade de Controle Controle. UC Microprogramada

Organização de Computadores

SSC510 Arquitetura de Computadores 1ª AULA

Unidade de Controle. UC - Introdução

Arquitetura de Computadores Aula 10 - Processadores

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

Nível da Microarquitetura

X Y Z A B C D

Organização de Computadores

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

Instruções de Máquina

Solução Lista de Exercícios Processadores

UNIDADE DE CONTROLE (IMPLEMENTAÇÃO POR HARDWARE) Adão de Melo Neto

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

2. A influência do tamanho da palavra

CONJUNTO DE INSTRUÇÕES

Organização de Computadores (revisão) André Tavares da Silva

CPU Implementação. Multiciclo. Prof. Carlos Bazilio

Disciplina: Arquitetura de Computadores

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

O Nível da Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura

SSC0112 Organização de Computadores Digitais I

Prof. Leonardo Augusto Casillo

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

Barramento. Prof. Leonardo Barreto Campos 1

Capítulo 3 Organização Interna de um Computador

UNIDADE DE CONTROLE E CONTROLE MICROPROGRAMADO. Adão de Melo Neto

Introdução à Computação: Máquinas Multiníveis

SSC0112 Organização de Computadores Digitais I

Arquitetura de Computadores - Operação da Unidade de Controle. por Helcio Wagner da Silva

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. MSc. Tiago Alves de Oliveira

Arquitetura de Computadores Unidade Central de Processamento CPU

III.2 - Princípios de Arquitetura

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral

Processador. Processador

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

2. A influência do tamanho da palavra

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

Organização e Arquitetura de Computadores INTRODUÇÃO

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE DE CONTROLE E A INTERPRETAÇÃO DE INSTRUÇÕES. Prof. Dr. Daniel Caetano

Instruções. Maicon A. Sartin

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

COMPUTADOR 2. Professor Adão de Melo Neto

Arquitetura e Organização de Computadores

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES

Arquitetura e Organização de Computadores

25/8/2010. Praticamente todas as arquiteturas de computadores fornecem mais de um modo de

COMPUTADOR. Adão de Melo Neto

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

Evolução dos computadores

UCP 8051 (parte 02) Professor Adão de Melo Neto

Arquiteturas de Computadores

Prof. Gustavo Oliveira Cavalcanti

William Stallings Computer Organization and Architecture

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Máquina Microprogramada

Estrutura Básica de um Computador

Estrutura da CPU Organização de registradores Ciclo de instrução

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Organização de Computadores

William Stallings Arquitetura e Organização de Computadores 8 a Edição. Capítulo 12 Estrutura e função do processador

Processadores para computação de alto desempenho

Arquitetura e Organização de Computadores

Organização de Computadores 1

1) Considere a situação atual da memória do sistema computacional abaixo discriminada.

Arquiteturas RISC e CISC. Adão de Melo Neto

Sistemas Operacionais

CONJUNTO DE INSTRUÇÕES DE UM PROCESSADOR (UCP)

COMPUTADOR. Adão de Melo Neto

Unidade Central de Processamento UCP (CPU)

ção de Computadores I

Organização e Arquitetura de Computadores I

CPU. Funções: Componentes: Processamento; Controle. UC (Unidade de Controle); Registradores; ALU s, FPU s etc. Arquitetura de Computadores 3

Organização de Unidades de Processamento

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

RELOGIO MEMÓRIA USO DA NUMERAÇÃO BINÁRIA. 02. Explique a função do barramento de endereços no Modelo Barramento de Sistemas.

Processadores. Principal função é executar programas armazenados na memória principal.

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

Organização e Projeto de Computadores

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Processador: Conceitos Básicos e Componentes

Notas de Aula Guilherme Sipahi Arquitetura de Computadores

FUNCIONAMENTO DO COMPUTADOR. Adão de Melo Neto

EA869 Pipeline. Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof.

Tiago Alves de Oliviera

Parte Operativa x Controle Aula 12. Prof. Jadir Eduardo Souza Lucas Universidade Federal do Espírito Santo Departamento de Informática

Arquitetura de Computadores. Conjunto de Instruções

Conceitos Básicos Processador

Organização e Arquitetura de Computadores I

Computador Cleópatra

Sistemas Operacionais. Conceitos de Hardware

Aula 09. Módulos de Entrada e Saída

Infraestrutura de Hardware. Funcionamento de um Computador

Arquitectura de Computadores (ACom)

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM INTRODUÇÃO A SISTEMAS DIGITAIS. Lista de Exercícios 01

ORGANIZAÇÃO DE COMPUTADORES

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Transcrição:

Arquitetura de Computadores - Controle Microprogramado por Helcio Wagner da Silva

Introdução Projeto baseado em HW para a Unidade de Controle Difícil Lógica relativamente complexa para seqüenciamento e execução de microoperações e interpretação dos códigos de condição Inflexível Necessário alterações no projeto para a inclusão de uma nova instrução de máquina Projeto alternativo: Unidade de Controle microprogramada 2

Microinstruções Temporização Sinais de controle ativos Ciclo t1: MAR PC C 2 t2: MBR Memória PC PC + 1 C 5, C R Busca t3: IR MBR C 4 µinstruções t2: MBR Memória C 5, C R Indireto t1: MAR IR(Endereço) C 8 t3: IR(Endereço) MBR(Endereço) C 4 t1: MBR PC C 1 t2: MAR End. Salvamento PC Endereço de Rotina Interrupção t3: Memória MBR C 12, C W 3

Microinstruções µi horizontal Endereço de µi Sinais de controle Internos ao µp Sinais de controle para o Barramento do sistema Condição de desvio incondicional zero overflow bit de indireção 4

Microinstruções µi vertical Endereço de µi Condição de desvio Códigos de função 5

Microprograma Termo usado pela primeira vez por Maurice Vincent Wilkes na década de 50 Conjunto de µis Armazenado numa memória de controle Constitui-se numa forma de implementar a Unidade de Controle 6

Memória de Controle..................... Desvie para ciclo de indireção ou de execução Desvie para ciclo de execução Desvie para ciclo de busca Desvie para a rotina do código de operação Desvie para ciclo de busca ou de interrupção Desvie para ciclo de busca ou de interrupção Desvie para ciclo de busca ou interrupção... Rotina do ciclo de busca Rotina do ciclo de indireção Rotina do ciclo de interrupção Inicio da rotina do ciclo de execução Rotina da operação AND Rotina da operação ADD Rotina da operação IOF 7

Arquitetura da Unidade de Controle Lógica de seqüenciamento 1 Registrador de Endereço de Controle (CAR) 1 2 Memória de Controle 2 Registrador de µi (CBR) 8

Arquitetura da Unidade de Controle Registrador de Instrução (IR) Bits de condição da ULA relógio Unidade de Controle Lógica de seqüenciamento Decodificador Registrador de Endereço de Controle (CAR) Leitura Memória de Controle Registrador de µi (CBR) Decodificador Sinais de controle Internos ao µp Sinais de controle para o barramento do sistema 9

Vantagens e Desvantagens Vantagem Relativa simplicidade Controle microprogramado é utilizado em máquinas CISC Desvantagem Relativa lentidão Implementação por HW é utilizada em máquinas RISC 10

Seqüenciamento de Microinstruções Na execução de um programa, o endereço da próxima µi pode ser: 1. Determinado pelo IR Ocorre sempre que a instrução é buscada 2. O próximo endereço na seqüência Ocorrência mais comum 3. Um endereço de desvio 11

Seqüenciamento de Microinstruções Com base na µi atual, nos bits de condição e no conteúdo do IR, deve ser gerado o endereço da próxima µi na Memória de Controle Técnicas utilizadas Explícitas Dois campos de endereço Um único campo de endereço Formato variável Implícitas Mapeamento Adição Controle residual 12

Dois Campos de Endereço CAR Decodificador de endereço Memória de Controle Controle... Endereço 1 Endereço 2 CBR Bits de condição Lógica de Desvio Seleção de endereço Multiplexador CAR: Registrador de Endereço de Controle CBR: Registrador de µi IR: Registrador de Instrução IR 13

Único Campo de Endereço Decodificador de endereço Memória de Controle +1 CAR... Controle Endereço CBR Bits de condição Lógica de Desvio CAR: Registrador de Endereço de Controle CBR: Registrador de µi IR: Registrador de Instrução Seleção de endereço Multiplexador IR 14

Formato Variável Decodificador de endereço Memória de Controle CAR: Registrador de Endereço de Controle CBR: Registrador de µi IR: Registrador de Instrução CBR Habilitação Campo de controle de desvio Lógica de geração de sinais de controle Campo de endereço Campo completo Multiplexador +1 CAR Bits de condição Lógica de Desvio Seleção de endereço IR 15

Mapeamento Porção correspondente ao código de operação de uma instrução de máquina é mapeada em um endereço de µi IR Op #02... Decodificador de Endereço Busca Indireção Interrupção Execução Op #01 Execução Op #02 Execução Op #03... Execução Op #04 Execução Op #N 16

Adição Combinação (ou soma) de duas porções de um endereço para formar o endereço completo Registrador de Endereço de Controle (CAR) 00 07 08 09 10 11 12 BA(4) BB(4) BC(4) BD(4) BE(4) BF(7) 17

Controle Residual Envolve o uso de um endereço de µi que tenha sido armazenado anteriormente CAR Registrador de Retorno Memória de Controle CBR Bit indicador de subrotina 18

Execução de MicroInstruções O ciclo de µi é o evento básico de um processador microprogramado Consiste de duas partes: busca & execução A porção de busca é determinada pelo endereço de µi Ao fim da execução, são gerados sinais de controle que: Abrem/fecham circuitos internos ao processador Abrem/fecham externos ao processador Ajudam a definir o endereço da próxima µi 19

Execução de Microinstruções Registrador de Instrução (IR) Bits de condição da ULA relógio Lógica de seqüenciamento Registrador de Endereço de Controle (CAR) Memória de Controle Registrador de µi (CBR) Unidade de Controle Sinais de controle Internos Lógica de controle Sinais de controle externos 20

Taxonomia de Microinstruções Classificações possíveis para as µi Verticais ou horizontais Empacotadas ou não-empacotadas Microprogramadas por HW ou por SW Codificadas diretamente ou indiretamente Sobre as classificações Dizem respeito ao formato das µi Dão uma idéia sobre as alternativas de projeto das µi 21

Taxonomia de Microinstruções Proposta original de Wilkes Cada bit da µi produzia um sinal de controle ou um bit de endereço da próxima µi K bits destinados à geração de sinais de controle apresentariam 2 K padrões de bits diferentes Nem todas as combinações possíveis podem ser utilizadas Duas origens não podem ser dirigidas para um mesmo destino Um registrador não pode ser origem e destino simultaneamente Apenas um padrão de bits pode ser apresentado à ULA ou ao barramento de sistema em cada instante 22

Taxonomia de Microinstruções C5 C12 M B R C8 C1 C3 C4 C10 AC C11 PC IR C7 C9 C0 M A R C2 C13 C6 ULA Sinais de controle relógio Unidade de Controle Códigos de condição Sinais de controle 23

Taxonomia de Microinstruções C5 C12 M B R C8 C1 C3 C4 C10 AC C11 PC IR C7 C9 C0 M A R C2 C13 C6 ULA Sinais de controle relógio Unidade de Controle Códigos de condição Sinais de controle 24

Taxonomia de Microinstruções Codificação mais compacta Todas as Q combinações permitidas. Q < 2 K Combinações codificadas usando log 2 Q bits, onde log 2 Q < K Na prática, as Unidades de Controle não são projetadas usando um formato de µi horizontal ou vertical puro Algum grau de codificação é usado para reduzir a Memória de Controle e simplificar a microprogramação 25

Extremos do Espectro de Projeto de µi Não codificada Muitos bits Visão detalhada do HW Difícil de programar Concorrência explorada completamente Pouca ou nenhuma lógica de controle Execução rápida Otimiza o desempenho CARACTERÍSTICAS Altamente codificada Poucos bits Visão agregada do HW Fácil de programar Concorrência não explorada completamente Lógica de controle complexa Execução lenta Otimiza a programação 26

Codificação Direta... Campo Campo Campo... Lógica de decodificação Lógica de decodificação Lógica de decodificação......... Sinais de controle 27

Codificação Indireta... Campo Campo Campo... Lógica de decodificação Lógica de decodificação Lógica de decodificação Lógica de decodificação...... Sinais de controle 28

Codificação Funcional e Por Recursos Codificação Funcional Identifica as funções da máquina e designa campos para cada tipo de função Um campo pode identificar qual será a origem dos dados que serão transferidos para o acumulador Codificação Por Recursos Vê a máquina como consistindo de um conjunto de recursos independentes e designa um campo para cada um deles (E/S, memória, ULA, etc) 29

Repertório de µi Verticais Transferências simples entre registradores 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 Seleção de registrador Operações de Memória 0 0 1 0 0 0 0 0 Leitura 0 0 1 0 0 1 0 0 Leitura MDR Registrador Registrador MDR MAR Registrador Transferências simples entre registradores 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 CSAR MDR decodificado CSAR Constante (no próximo Byte) Saltar µi Operações da ULA 0 1 1 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 ACC ACC + Registrador ACC ACC - Registrador ACC Registrador 0 1 1 0 1 1 Registrador ACC 0 1 1 1 0 0 Seleção de registrador ACC Registrador + 1 30

Formato de µi Horizontal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Campo 1 2 3 4 5 6 Definição de campo 1 Transferência entre registradores 2 Operação de memória 3 Operação de seqüenciamento 4 Operação da ULA 5 Seleção de registrador 6 Constante 31