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



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

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

Unidade 11: A Unidade de Controle Prof. Daniel Caetano

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

Sistemas Operacionais. Revisando alguns Conceitos de Hardware

Arquitetura de Computadores - Princípio de Funcionamento da CPU. Por Helcio Wagner da Silva

Arquitetura de Computadores - Revisão -

Nível da Microarquitetura

Introdução à Arquitetura de Computadores

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

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Edeyson Andrade Gomes

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

ARQUITETURA DE COMPUTADORES

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

BARRAMENTO DO SISTEMA

Introdução à Organização de Computadores. Sistemas da Computação Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Microprocessadores. Prof. Leonardo Barreto Campos 1

Arquitetura de Computadores. Tipos de Instruções

Dispositivos de Entrada e Saída

3/9/2010. Ligação da UCP com o barramento do. sistema. As funções básicas dos registradores nos permitem classificá-los em duas categorias:

ARQUITETURA DE COMPUTADORES

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 03 Conceitos de Hardware e Software parte 01. Cursos de Computação

Unidade Central de Processamento

Linguagem de Montagem

Aula 26: Arquiteturas RISC vs. CISC

Evolução dos Processadores

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

Sistemas Computacionais II Professor Frederico Sauer

SIS17 - Arquitetura de Computadores

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

ULA Sinais de Controle enviados pela UC

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

Informática Básica. Arquitetura de Computadores. Marcelo Diniz

Introdução à Organização de Computadores. Execução de Programas Prof. Rossano Pablo Pinto, Msc. rossano at gmail com 2 semestre 2007

Processador ( CPU ) E/S. Memória. Sistema composto por Processador, Memória e dispositivos de E/S, interligados por um barramento

Introdução à Engenharia de Computação

Estrutura de um Computador

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

Componentes do Computador e. aula 3. Profa. Débora Matos

Organização e Arquitetura de Computadores I. de Computadores

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

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

O Hardware Dentro da Unidade do Sistema

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

Organização Básica do Computador

Arquitetura e Organização de Computadores I

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

ENTRADA E SAÍDA DE DADOS

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

2 - Processadores. CEFET-RS Curso de Eletrônica. Organização de Computadores. Profs. Roberta Nobre & Sandro Silva

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Princípios de funcionamento dos computadores

RISC - Reduced Instruction Set Computer

Informática I. Aula 4. Aula 4-11/09/2006 1

Organização de Computadores Como a informação é processada?

Primeiros "computadores" digitais. Execução de um programa. Consolas. Primórdios dos computadores. Memória interna. Computadores com memória interna

Sistemas Operacionais

Arquitetura de Computadores I

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

Sistemas Operacionais

ARQUITETURA DE COMPUTADORES

Arquitetura de Computadores I

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

2. A influência do tamanho da palavra

Registradores de uma CPU. Registradores de uma CPU - Acumulador

Arquitetura e Organização de Computadores

Fundamentos em Informática

Arquiteturas RISC. (Reduced Instructions Set Computers)

Disciplina: Introdução à Informática Profª Érica Barcelos

Organização de Computadores 1

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES DISPOSITIVOS DE ENTRADA E SAÍDA. Prof. Dr. Daniel Caetano

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

Capítulo 1 Introdução

ARQUITETURA DE COMPUTADORES

Visão Geral de Sistemas Operacionais

Armazenar dados e programas que serão utilizados pelo processador (CPU Unidade Central de Processamento)

Organização e Arquitetura de Computadores

Entradas/Saídas. Programação por interrupções Conceitos gerais Programação da porta série Transmissão

Capítulo 2 (Livro Texto*) - Notas de Aula - Parte II

Visão Geral da Arquitetura de Computadores. Prof. Elthon Scariel Dias

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

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

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Processadores BIP. Conforme Morandi et al (2006), durante o desenvolvimento do BIP, foram definidas três diretrizes de projeto:

28/3/2011. Família Intel 80x86. Arquitetura dos Processadores Intel 80x86

Mecanismo de Interrupção

Arquitetura e Organização de Computadores

Introdução ao Processamento Paralelo

Transcriçã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 de Có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 2 ciclos por instrução! 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... 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 1 ciclo por instrução! 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 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 2 ciclos por instrução! 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 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

Pipeline de Múltiplos Níveis 0,33 ciclos por instrução! Com pipeline Tempo BI DI CO BO EI EO 3 instruções por ciclo! 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 Quanto mais níveis de Tempo BI DI CO BO EI EO pipeline, maior a 0,00 I1 - - - - - chance de ocorrer esse 0,33 I2 I1 - - - - tipo de dependência e 0,66 I3 I2 I1 - - - espera! 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 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 do programa 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!