Organização de Computadores



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

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

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

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

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

Informática I. Aula 5. Aula 5-13/05/2006 1

RISC X CISC - Pipeline

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

Introdução à Engenharia de Computação

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

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

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

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

BARRAMENTO DO SISTEMA

Organização e Arquitetura de Computadores. Hugo Barros @hugobarros.com.br

ARQUITETURA DE COMPUTADORES

Sistemas Operacionais. Revisando alguns Conceitos de Hardware

SIS17 - Arquitetura de Computadores

Microprocessadores. Prof. Leonardo Barreto Campos 1

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

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

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

Organização e Arquitetura de Computadores I

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

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

Edeyson Andrade Gomes

Arquitetura e Organização de Computadores

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

ARQUITETURA DE COMPUTADORES

Arquiteturas RISC. (Reduced Instructions Set Computers)

Introdução à Arquitetura de Computadores

Índice. Tudo! (datapath de um ciclo)

Sistemas Computacionais II Professor Frederico Sauer

Introdução às arquiteturas paralelas e taxonomia de Flynn

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

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

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

Arquitetura e Organização de Computadores. Capítulo 0 - Introdução

Pipelining - analogia

Máquinas Multiníveis

Sistema de Computação

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

Nível da Microarquitetura

Arquitetura de Computadores - Revisão -

Aula 26: Arquiteturas RISC vs. CISC

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

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

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

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

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

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

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:

periféricos: interfaces humano-computador (HCI) arquivo de informação comunicações

Organização e Arquitetura de Computadores I. Introdução. Ivan Saraiva Silva Leonardo Casillo

Arquitetura e Organização de Computadores 2

ARQUITETURA DE COMPUTADORES

Organização de Computadores (Aula 3) Componentes de um Computador Unidade Central de Processamento (CPU)

Computador = Hardware + Dados

Infra-Estrutura de Hardware

Computador Eletrônico Digital. Organização de Computadores (Aula 3) Componentes de um Computador (1) É um sistema composto por:

Arquitetura de Computadores

Arquitetura de Computadores - Processadores Superescalares. por Helcio Wagner da Silva

Visão Geral de Sistemas Operacionais

Estrutura de um Computador

Introdução aos Computadores

Sistemas Operacionais Aula 2

Organização e Arquitetura de Computadores I

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

Introdução ao Processamento Paralelo

ALGORÍTMOS PARALELOS (Aula 2) LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES

Exemplo: CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9 ADD $s0, $t0, $t1 IF ID EX MEM WB SUB $t2, $s0, $t3 IF Stall Stall ID EX MEM WB

Arquitetura de Computadores I

Universidade Federal do Rio de Janeiro Pós-Graduação em Informática IM-NCE/UFRJ. Pipeline. Gabriel P. Silva. Microarquitetura de Alto Desempenho

Organização e Arquitetura de Computadores I

Arquitetura de processadores: RISC e CISC

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

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

Componentes de um Computador: Modelo Von Neumann

Arquitetura de Von Neumann e os Computadores Modernos


Bits internos e bits externos. Barramentos. Processadores Atuais. Conceitos Básicos Microprocessadores. Sumário. Introdução.

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

Arquitetura de Computadores - Arquitetura RISC. por Helcio Wagner da Silva

Algumas características especiais

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

RISC - Reduced Instruction Set Computer

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

William Stallings Computer Organization and Architecture

ARQUITETURA DE COMPUTADORES

Unidade Central de Processamento

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

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

Figura 1 - O computador

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

Arquitetura e Organização de Computadores

Organização e Arquitetura de Computadores. Capítulo 13 Paralelismo no nível de instruções

Transcrição:

Capítulo 2 - A Organização de Computadores Orlando Loques setembro 2006 Referências: principal: Capítulo 2, Structured Computer Organization, A.S. Tanenbaum, (c) 2006 Pearson Education Inc Computer Organization and Architecture, W. Stallings, Prentice Hall

Central Processing Unit The organization of a simple computer with one CPU and two I/O devices

Componentes Relevantes (i) UCP: Central Processing Unit Cerebro do computador Executa programas armazenados na memória Acessa as instruções, segundo uma sequência Control Unit Controla o acesso à memória Comanda a execução das instruçoes ALU: Arithmetic Logic Unity Operações lógicas e aritméticas Registros Memória rápida: resultados temporários e informações de controle

CPU Organization Linhas de controle The data path of a typical Von Neumann machine

Bus Organization

Componentes Relevantes (ii) Program Counter (PC): aponta a próxima instrução a ser buscada Instruction Register (IR): armazena a instrução sendo executada Data path (via de dados) Instructions Categories register-memory register-register memory-memory deve ser evitada

Componentes Relevantes (2) Barras ou Vias: Barra de endereços Barra de dados Barra de controle: ler, escrever, DMA, interrupção Memory Addres Register (MAR): contém o endereço da posição de memória Memory Buffer Register (MBR): armazena o dado envolvido na transferência Tipos de memória Random Access Memory (RAM): estática e dinâmica Read Only Memory Outros: Flash

Bus Interconnection Scheme

Instruction Execution Steps Fetch next instruction from memory into Instr. Register Change Program Counter to point to next instruction Determine type of instruction just fetched If instructions uses word in memory, determine where Fetch word, if needed, into CPU register Execute the instruction Go to step 1 to begin executing following instruction

Interpreter (1) An interpreter for a simple computer (written in Java)....

Interpreter (2) An interpreter for a simple computer (written in Java).

Instruction Cycle - State Diagram

Computador Simples: Formatos 0 3 4 15 opcode Address formato de instrução 0 1 15 S Magnitude formato de inteiro opcode 0001 0010 0101 Instrução LAC : Load AC from memory STA : Store AC to memory ADA : Add to AC from memory Exemplo em hexadecimal: 1941 : adiciona o conteúdo de 941 ao AC

Execução de programa opcode 0001 0010 0101 Instrução LAC : Load AC from memory STA : Store AC to memory ADA : Add to AC from memory

Tipos de Ciclos de Execução Processor-memory data transfer between CPU and main memory Processor I/O Data transfer between CPU and I/O module Data processing Some arithmetic or logical operation on data Control Alteration of sequence of operations e.g. jump Combination of above

Observações sobre máquinas interpretadas Permitem corrigir ou otimizar a implementação de instruções Permitem adicionar novas instruções Facilitam a estruturação do projeto de computadores completos Facilitam a obtenção de compatibilidade entre máquinas de diferentes gerações (backward compatibility) Foram suplantadas pela evolução da tecnologia: Velocidade das memórias RAM ficaram compatíveis com as ROMS Tecnologia RISC Duelo CISC X RISC RISC precisa de 5 instruções para executar uma instrução CISC Instruções RISC são 10X mais rápidas Backward compatibility, investimentos Máquinas híbridas resolveram o confronto Conclusões projetistas devem acompanhar as evoluções tecnológicas Tanembaum gosta de máquinas interpretadas

Design Principles for Modern Computers All common instructions directly executed by hardware sem interpretação mais rapidez instruções CISC podem ser quebradas Maximize rate at which instructions are issued paralelismo mais desempenho troca (cuidadosa) de ordem Instructions should be easy to decode formato regular, tamanho fixo, poucos campos Only loads and stores should reference memory manter operandos em registros, acesso à memória é lento e o delay é imprevísivel (compartilhamento de barras) Provide plenty of registers manter os dados nos registros (+ rápidos) até que não sejam mais requeridos

Paralelismo Níveis Nível de processador SIMD: computadores vetoriais, computer arrays MIMD: multiprocessador, sistemas distribuídos eg: Intel Dual-Core Nível de Instrução Duas etapas: busca e execução Técnicas básicas: Pipelining: reduzir o tempo de busca (fetch) que domina o tempo de execução das instruções Processamento Superscalar: suportar diversas unidades de execução

Pipelining (i) A five-stage pipeline The state of each stage as a function of time - nine clock cycles Consistência no uso de recursos tem que ser garantida!

Pipelining Analogia (ii) Fabrica de Bolos, com duas unidades separadas: fabricação e expedição Cinco trabalhadores em linha, em frente a uma esteira Ciclo de 10 segs Trab_1: Coloca uma caixa vazia na esteira transportadora Trab_2: Coloca um bolo na caixa Trab_3: Fecha a caixa Trab_4: Coloca um rotulo na caixa Trab_5: Retira a caixa e coloca numa embalagem maior para envio ao supermercado - O processamento completo leva 5*10 seg - Contudo, a cada 10 seg uma caixa fica pronta

Pipelining (iii) Ciclo de relógio: 2 nseg Uma instrução, gasta 5 ciclos : 10 nseg Velocidade sem pipeline: 100 MIPS Velocidade usando pipeline: 500 MIPS A cada ciclo de relógio (2 nseg) uma instrução é completada Trade-off entre latência (tempo de processamento de uma instrução) e bandwidth do processador (capacidade da CPU em MIPS) E se acontecer um desvio na sequência? Instruções tem que ser abandonadas! Usar branch prediction techniques (+ data flow analysis speculative execution) Consistência no uso de recursos também tem que ser garantida! Eg, conflito no acesso a registros

Arquiteturas Superscalares (i) Dual five-stage pipelines with a common instruction fetch unit Conflitos sobre o uso de recursos (eg: registros) e interdependência dos resultados têm que ser evitados: compilação ou durante a execução (com hardware extra)

Arquiteturas Superscalares (ii) Pipelines são comuns em arquiteturas RISC - uniformidade Pentium (híbrido): usa dois pipelines ligeiramente diferentes U: pode executar todo tipo de instrução V: somente instruções aritméticas simples Em princípio, as instruções têm que ser executadas em ordem Regras (complexas) permitem identificar se duas instruções podiam ser executadas em paralelo. Se não, a do pipeline U tinha preferência; a do V tinha que esperar Compiladores especiais para o Pentium produzem código otimizado A ordem das instruções pode ser alterada: eg, usam grupos de registros diferentes Programas executam 2* mais rápido que no 486, que usa só um pipeline O ganho é atribuido inteiramente ao segundo pipeline e ao compilador

Arquiteturas Superscalares (iii) Pode-se usar 4 pipelines, pesando o hardware nunca três! A alternativa é usar multiplas unidades funcionais Eg: Pentium 2 cinco unidades; CDC 6600-10 unidades (há 30 anos atrás) A arquitetura se baseia na hipótese de que o estágio S3 pode produzir instruções mais rapidamente que as unidades do nível S4 podem executá-las Caso contrário, não haveria paralelismo em S4 Ou seja, o processamento em S4 pode gastar mais que um ciclo de relógio, eg instruções que acessam a memória ou executam operações de ponto-flutuante, permitindo ganhos de desempenho Notar que unidades em S4 podem ser replicadas, eg, ALU

Arquiteturas Superscalares (iv) A superscalar processor with five functional units

Processor-Level Parallelism (1) SIMD An array of processors - ILLIAC IV Os processadores não são independentes

Processor-Level Parallelism (2) (a) a single-bus multiprocessor (Intel Dual Core) (b) a multicomputer with local memories +++ sistemas distribuídos (redes e DSM)

Multiprocessamento Simétrico... Processor Processor Processor Cache Cache Cache Main Memory I/O Subsystem I/O 1 I/O... I/O n