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

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

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

ORGANIZAÇÃO DE COMPUTADORES O PROCESSADOR E SEUS COMPONENTES

Introdução. ULA: Faz os Cálculos UC: Como isso tudo ocorre?

Unidade 8: A Unidade de Controle e o Ciclo de Instruções Prof. Daniel Caetano

ESTRUTURA E FUNCIONAMENTO DO COMPUTADOR

Arquitetura e Organização de Computadores

Organização de Computadores 1

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Unidade 11: A Unidade de Controle Prof. Daniel Caetano

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

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

Unidade Central de Processamento UCP (CPU)

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

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

Organização e Arquitetura de Computadores I

Nível da Microarquitetura

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES A UNIDADE LÓGICA ARITMÉTICA E AS INSTRUÇÕES EM LINGUAGEM DE MÁQUINA

Sistemas Operacionais. Conceitos de Hardware

Otimização de Execução em Processadores Modernos. William Stallings - Computer Organization and Architecture, Chapter 12 [Trad. E.Simões / F.

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

Organização de Computadores

Hardware e Software. Prof. Paulo Cesar F. de Oliveira, BSc, PhD

SSC0112 Organização de Computadores Digitais I

Organização de Computadores

Organização e Projeto de Computadores

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

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Pipeline. Ciclos de Operação da CPU Estágios do Pipeline Previsão de Desvio. Estrutura da CPU. Em cada ciclo, a CPU deve:

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

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

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

Arquitetura e Organização de Computadores

COMPUTADOR 2. Professor Adão de Melo Neto

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

Barramento. Prof. Leonardo Barreto Campos 1

SSC510 Arquitetura de Computadores 1ª AULA

Arquitectura de Computadores

Aula 10 Processadores de Propósito Geral

Hardware, Processador e Memória

MICROPROCESSADORES. Aula 10

Aula 17: Organização de Computadores

Organização Básica de Computadores (Parte I)

ORGANIZAÇÃO DE COMPUTADORES

ENDEREÇAMENTO DE INSTRUÇÕES. Adão de Melo Neto

Organização e Arquitetura de Computadores I

Unidade II. Organização de Computadores. Prof. Renato Lellis

PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto

Estrutura e Funcionamento da CPU. Adriano Maranhão

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES INTRODUÇÃO AO PARALELISMO: PROCESSADORES SUPERESCALARES. Prof. Dr. Daniel Caetano

Unidade Central de Processamento 2. Registradores

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

Arquitetura de Computadores. Prof. João Bosco Jr.

Arquitectura de Computadores

Organização de Computadores

3. Unidade Central de Processamento

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

CPU. CPU Unidade Central de Processamento. Função: leitura, escrita e processamento de dados

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

Unidade 12: Introdução ao Paralelismo:

PIPELINE DE INSTRUÇÕES (estratégia e desempenho) Adão de Melo Neto

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES ARQUITETURAS RISC E CISC. Prof. Dr. Daniel Caetano

2. A influência do tamanho da palavra

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

Arquitetura de Computadores Aula 10 - Processadores

14/3/2016. Prof. Evandro L. L. Rodrigues

Arquitetura de Microprocessadores

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

Nome: N.º Ano: Turma: Turno: Responde às seguintes questões 1. Qual o primeiro nome do computador à base de transístores?

Lista de Exercícios 2 Prof. Daniel Caetano Solução

Prof. Leonardo Augusto Casillo

Evolução dos computadores

ARQUITETURA DE COMPUTADORES

Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação MATA49 Programação de software básico Arquitetura Intel

Processador. Processador

2º Estudo Dirigido CAP 3

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

SEL-433 APLICAÇÕES DE MICROPROCESSADORES I

Organização de Computadores Aula 05

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

Processamento e Linguagem de Máquina. O processador Programação Assembler (Linguagem de Máquina)

Organização de Computadores

Unidade de Controle. UC - Introdução

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

Algoritmos Computacionais

William Stallings Computer Organization and Architecture

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

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

Organização e Arquitetura de Computadores I

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Arquitetura e Organização de Processadores. Aula 4. Pipelines

SSC0611 Arquitetura de Computadores

Arquitetura e organização de computadores

UNIDADE CENTRAL DE PROCESSAMENTO FELIPE G. TORRES

Arquitetura de Computadores Aula 11 - Multiprocessamento

SSC0902 Organização e Arquitetura de Computadores

Arquitetura e Organização de Computadores

28/9/2010. Unidade de Controle Funcionamento e Implementação

Figura 01 Programa e Processo

Transcrição:

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

Lembretes Compreender a função da unidade de controle Apresentar o ciclo de instrução Compreender o funcionamento do PipeLine Compreender osaspectos básicos da microprogramação Lembretes

INTRODUÇÃO

Introdução ULA: Faz os Cálculos UC: Controla a execução do programa (ordem de leitura das instruções) Traz dados da memória e dispositivos para os registradores Comanda a ULA Como isso tudo ocorre?

A UNIDADE DE CONTROLE

Responsabilidades da UC Analogia: Pessoa (UC) usando Calculadora (ULA) Responsabilidades Controlar a execução de instruções na ordem certa Leitura da memória principal e E/S Escrita na memória principal e E/S Controlar os ciclos de interrupção

Rotina de Operação da UC a) Busca de Instrução b) Interpretação da Instrução c) Busca dados (se necessário) d) Processa dados (se necessário) ULA e) Escrita de dados (se necessário) f) Avaliação de Interrupções g) Execução de Interrupção (se necessário) h) Volta para (a)

Diagrama do Ciclo de Instrução Busca Instr. Busca Dado Arm. Dado Dec. Instr. Exec. Ver. IRQ Calc. End. Instr. Calc. End. Dado Calc. End. Dado Proc. IRQ

REGISTRADORES ESPECIAIS

Registradores Especiais da UC ULA: Acumulador UC? Onde está a próxima instrução? PC (Program Counter ou Contador de Programa) Qual instrução está sendo processada? IR (Intruction Register ou Registrador de Instrução) Qual endereço sendo lido? MAR (Memory Address Register ou Registrador de Endereço de Memória) Qual é o dado sendo lido? MBR (Memory Buffer Register ou Registrador de Buffer de Memória) MAR e MBR são ligados aos barramentos

Outros Registradores Registradores de Propósito Geral B, C, D, E... (EBC, ECX, EDX...) Registradores de Pilha Armazenamento de Dados (LIFO) SP ou BP (Stack/Base Pointer: aponta para o topo da pilha) Registradores de Índices IX, SI, DI (Index, Source Index, Destination Index) Registradores de Segmento (MMU) CS (Code Segment ou Segmento decódigo) DS (Data Segment / Segmento de Dados) SS (Stack Segment ou Segmento da Pilha)

A PIPELINE

Pipeline Conceito de Linha de Produção Quebrar tarefa complexa em tarefas menores Ex.: Fazer carro Fazer roda Fazer motor Fazer lataria... Por que aplicar isso para CPU? Quando a memória é acessada, a ULA fica ociosa Duas etapas: busca (UC) e execução (ULA)

Partes da CPU em Funcionamento Simplificadamente... sem pipeline Tempo Busca(UC) Execução(ULA) 0 I1-1 - I1 2 I2-3 - I2 4 I3-5 - I3 E assim por diante...

Partes da CPU em Funcionamento Simplificadamente... sem pipeline Tempo 2 ciclos por instrução! Busca(UC) Execução(ULA) 0 I1-1 - I1 2 I2-3 - I2 4 I3-5 - I3 E assim por diante...

Partes da CPU em Funcionamento Simplificadamente... COM pipeline Tempo Busca(UC) Execução(ULA) 0 I1-1 I2 I1 2 I3 I2 3 I4 I3 4 I5 I4 5 I6 I5 E assim por diante...

Partes da CPU em Funcionamento Simplificadamente... COM pipeline 1 ciclo por instrução! Tempo Busca(UC) Execução(ULA) 0 I1-1 I2 I1 2 I3 I2 3 I4 I3 4 I5 I4 5 I6 I5 E assim por diante...

Partes da CPU em Funcionamento Comparando lado a lado... Sequência no Tempo SEM pipeline COM pipeline Busca Execução Busca Execução 0 I1 - I1-1 - I1 I2 I1 2 I2 - I3 I2 3 - I2 I4 I3 4 I3 - I5 I4 Maior eficiência: + instruções, - tempo

Pipeline de Múltiplos Níveis Quebrar processamento em 6 etapas BI: Busca de Instruções DI: Decodificação de Instruções CO: Cálculo de Operandos BO: Busca de Operandos EI: Execução da Instrução EO: Escrita de Operando Cada etapa dura 0,33 comparado com as anteriores Como é o processamento com tudo isso?

Pipeline de Múltiplos Níveis Sem pipeline Tempo BI DI CO BO EI EO 0,00 I1 - - - - - 0,33 - I1 - - - - 0,66 - - I1 - - - 1,00 - - - I1 - - 1,33 - - - - I1-1,66 - - - - - I1 2,00 I2 - - - - -

Pipeline de Múltiplos Níveis Sem pipeline 2 ciclos por instrução! Tempo BI DI CO BO EI EO 0,00 I1 - - - - - 0,33 - I1 - - - - 0,66 - - I1 - - - 1,00 - - - I1 - - 1,33 - - - - I1-1,66 - - - - - I1 2,00 I2 - - - - -

Pipeline de Múltiplos Níveis Com pipeline Tempo BI DI CO BO EI EO 0,00 I1 - - - - - 0,33 I2 I1 - - - - 0,66 I3 I2 I1 - - - 1,00 I4 I3 I2 I1 - - 1,33 I5 I4 I3 I2 I1-1,66 I6 I5 I4 I3 I2 I1 2,00 I7 I6 I5 I4 I3 I2

0,33 ciclos por instrução! Pipeline de Múltiplos Níveis Com pipeline Tempo 3 instruções BI DI CO por BO ciclo! EI EO 0,00 I1 - - - - - 0,33 I2 I1 - - - - 0,66 I3 I2 I1 - - - 1,00 I4 I3 I2 I1 - - 1,33 I5 I4 I3 I2 I1-1,66 I6 I5 I4 I3 I2 I1 2,00 I7 I6 I5 I4 I3 I2

Pipeline de Múltiplos Níveis Isso nem sempre é perfeito... E se o resultado de I2 depende de I1? I1 - LD A, 10 ; A = 10 I2 - ADD A, 20 ; A = A + 20 I3 - LD B, A ; B = A Qual o valor de B no final? Qual o valor de B se I1 e I2 forem invertidos?

Pipeline de Múltiplos Níveis Se I2 depende de I1, I2 tem que esperar I1 Tempo BI DI CO BO EI EO 0,00 I1 - - - - - 0,33 I2 I1 - - - - 0,66 I3 I2 I1 - - - 1,00 I4 I3 I2 I1 - - 1,33 I5 I4 I3 I2 I1-1,66 I5 I4 I3 I2 - I1 2,00 I6 I5 I4 I3 I2 -

Pipeline de Múltiplos Níveis Se I2 depende de I1, I2 tem que esperar I1 Tempo Quanto BI DI mais CO níveis BO EI de EO 0,00 I1 - - - - - pipeline, maior a chance 0,33 I2 I1 - - - - 0,66 I3 I2 I1 - - - de ocorrer esse tipo de 1,00 I4 I3 I2 I1 - - 1,33 I5 I4 I3 I2 I1 - dependência e espera! 1,66 I5 I4 I3 I2 - I1 2,00 I6 I5 I4 I3 I2 -

Pipeline de Múltiplos Níveis Intel chegou a usar cerca de 20 níveis de pipeline Problemas O processador passa a aquecer demais! Pipeline depende da previsão de sequencia de instruções (um if pode estragar tudo!) A partir de um certo nível número de níveis, a probabilidade de um if estragar tudo é alta Pentium 4 abandonado... voltaram ao Pentium M (P3)... PD, c2 e i3/5/7

MICROPROGRAMAÇÃO

Microprogramas Cada estágio de instrução parece simples Busca de Instrução Decodificação de Instrução... Mas será que isso é fácil de implementar usando circuitos lógicos? Não, é muito difícil! Para solucionar esse problema... IBM criou a microprogramação Série 360 (década de 1960)

Microprogramas IBM percebeu o seguinte... Busca de instrução pode ser descrita como 1. Configurar MAR com valor do PC 2. Configurar bar. de controle para leitura de memória 3. Aguardar intervalo para resposta da RAM 4. Ler o valor do MBR para o IR 5. Remover sinais do MAR e barramento de controle Isso parece um pequeno programa, não? Tarefas simples com circuitos lógicos

Microprogramas Cada Instrução: pequeno programa firmware Result. da Instrução = Result. do Microprograma

Microprogramas LD A, 10 UC1 CPU Microprograma - Configura Barramento - Espera - Lê memória - Armazena dado no registrador UC2

Microprogramas LD A, 10 UC1 CPU Microprograma - Configura Barramento - Espera - Lê memória - Armazena dado no registrador UC2

Microprogramas LD A, 10 UC1 CPU Microprograma - Configura Barramento - Espera - Lê memória - Armazena dado no registrador UC2

Microprogramas LD A, 10 UC1 CPU Microprograma - Configura Barramento - Espera - Lê memória - Armazena dado no registrador UC2

CONCLUSÕES

Resumo UC: função burocrática, mas importante! UC coordena: sequência doprograma transferência de dados de e para a memória/disp. Pipeline: acelerar a execução das instruções traz alguns problemas! Microprogramação: simplifica projeto e implementação de CPUs TAREFA Lista de Exercícios 2!

Próxima Aula Arquitetura CISC Arquitetura RISC RISC X CISC

PERGUNTAS?

BOM DESCANSO A TODOS!