Microarquiteturas Avançadas



Documentos relacionados
PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Arquitetura de Computadores II

Universidade Federal do Rio de Janeiro Pós-Gradução em Informática. Microarquiteturas de Alto Desempenho. Multithreading. Gabriel P. Silva.

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

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

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

Aula 26: Arquiteturas RISC vs. CISC

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

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

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

Algumas características especiais

RISC X CISC - Pipeline

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

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. de Computadores

Arquiteturas RISC. (Reduced Instructions Set Computers)

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

Unidade 13: Paralelismo:

28/9/2010. Paralelismo no nível de instruções Processadores superescalares

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

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

29/3/2011. Primeira unidade de execução (pipe U): unidade de processamento completa, capaz de processar qualquer instrução;

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

Arquitetura de processadores: RISC e CISC

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

SIS17-Arquitetura de Computadores

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

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Symmetric Multiprocessing Simultaneous Multithreading Paralelismo ao nível dos dados

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

BARRAMENTO DO SISTEMA

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

Arquitetura de Computadores I

ARQUITETURA DE COMPUTADORES

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

Sistemas Operacionais

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


Sistemas Computacionais II Professor Frederico Sauer

O que é Arquitetura de Computadores?

1. CAPÍTULO COMPUTADORES

Memória Cache. Prof. Leonardo Barreto Campos 1

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

Arquitetura e Organização de Computadores 2. Apresentação da Disciplina

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

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Organização e Arquitetura de Computadores I

FACULDADE PITÁGORAS PRONATEC

Sistemas Operacionais Processos e Threads

RISC - Reduced Instruction Set Computer

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

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

7 Processamento Paralelo

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

Programação Concorrente Introdução

Capítulo 1 Introdução

Computadores de Programação (MAB353)

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

AULA1 Introdução a Microprocessadores gerais

SIS17 - Arquitetura de Computadores. Introdução (Parte III)

Máquinas Multiníveis

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

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

Arquitetura e Organização de Computadores 2

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

Caminho dos Dados e Atrasos

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

Arquitetura de Computadores. Ivan Saraiva Silva

Edeyson Andrade Gomes

Arquitetura de Von Neumann e os Computadores Modernos

MEMÓRIA. 0 e 1 únicos elementos do sistema de numeração de base 2

Componentes de um Computador: Modelo Von Neumann

Estruturas do Sistema de Computação

Organização e Arquitetura de Computadores I

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

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

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

Capítulo 8 Arquitetura de Computadores Paralelos

CPU Unidade Central de Processamento. História e progresso

Sistemas Operacionais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

1. NÍVEL CONVENCIONAL DE MÁQUINA

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:

Introdução à Arquitetura de Computadores

3. Arquiteturas SIMD. 3.1 Considerações iniciais

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10

Notas da Aula 4 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Programação Concorrente Processos e Threads

Sistemas Operacionais. Prof. André Y. Kusumoto

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

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES

Avaliação de Desempenho

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

Transcrição:

Univ ersidade Federal do Rio de Janei ro Info rmátic a DCC/IM Arquitetura de Computadores II Microarquiteturas Avançadas Gabrie l P. Silva

Introdução As arquiteturas dos processadores têm evoluído ao longo dos anos, e junto com ela o conceito de arquitetura avançada tem se modificado. Nos anos 60 os computadores ditos de grande porte (IBM, CDC) eram considerados exemplos de alto desempenho. Um pouco depois surgiram os supercomputadores, arquiteturas específicas para a realização de cálculos com valores reais dispostos em arranjos de matrizes e vetores (Cray).

Introdução No início dos anos 80 surgiram os primeiros microcomputadores, com desempenho muito longe dos computadores de grande porte e supercomputadores. A evolução das tecnologias de integração de componentes em larga escala permitiu que esses processadores evoluíssem em desempenho, atingindo um amplo espectro de aplicações comerciais. Em nosso curso iremos estudar as principais características da arquitetura dos microprocessadores em sua evolução até os dias de hoje.

Arquiteturas CISC Características: Instruções complexas demandando um número grande e variável de ciclos de máquina para sua execução. Uso de diversos modos de endereçamento de operandos. Instruções com formato muito variável. Diferentes tipos de instruções podem referenciar operandos na memória principal. Cada fase do processamento da instrução pode ter duração variável em função da complexidade.

Arquiteturas CISC Conseqüências: Implementação com uso de pipeline é difícil. A taxa média de execução das instruções por ciclo tende a ser bastante inferior a 1 CPI. A unidade de controle é em geral microprogramada. Códigos compactos podem ser gerados pelos compiladores.

Arquiteturas RISC Características: Instruções mais simples demandando um número fixo de ciclos de máquina para sua execução; Uso de poucos modos simples de endereçamento de operandos; Poucos formatos diferentes de instruções Apenas as instruções de load e store referenciam operandos na memória principal; Cada fase de processamento da instrução tem a duração fixa igual a um ciclo de máquina.

Arquiteturas RISC Conseqüências: Implementadas com o uso do pipeline; A taxa média de execução de instruções por ciclo de máquina é próxima de 1 CPI; A unidade de controle é em geral hardwired ; Processo de compilação é complexo e requer cuidados especiais para otimização do desempenho do código gerado.

Arquiteturas com Desempenho Superior a uma Instrução por Ciclo ARQUITETURAS SUPERESCALARES Execução de múltiplas instruções, escalonadas por hardware e/ou software, concorrentemente. ARQUITETURAS VLIW (Very Long Instruction Word) Execução de múltiplas operações, escalonadas por software, concorrentemente. ARQUITETURAS Multithreading e SMT Permitem a execução simultânea de mais de uma thread no processador. ARQUITETURAS MULTICORE Uso de vários processadores em um mesmo encapsulamento, compartilhando ou não a cache de nível 2.

Arquiteturas Superescalares As máquinas super escalares são conhecidas por possuírem mais de um pipeline em paralelo em sua arquitetura. Isso gera problemas de acesso aos recursos comuns, que precisam ser duplicados em sua maioria. Os barramentos devem largura suficente para a busca de mais de uma instrução por ciclo. O uso de caches separadas para dados e instruções é uma solução para permitir leitura e escrita simultâneas à memória. É comum termos várias portas de leitura e de escrita no banco de registradores.

Arquiteturas Superescalares Devido a problemas de dependências de dados e controle pode acontecer que em alguns ciclos não haja instruções prontas para serem executadas. Esquemas mais simples de despacho, simplesmente congelam o pipeline nesse caso. Esquemas mais sofisticados continuam a busca e tentam executar as instruções fora-de-ordem, com mecanismos que posteriormente permitam a retirada dessas instruções, e atualização do estado da máquina, na mesma ordem estabelecida pelo programa objeto.

Arquiteturas VLIW VLIW é acrônimo para Very Long Instruction Word. São máquinas que exploram o paralelismo no nível das instruções. Várias operações são executadas em paralelo em diferentes unidades funcionais, tais como em máquinas superescalares, a diferença está no controle do despacho e na terminação das operações. Nas máquinas superescalares as dependências são resolvidas em tempo de execução por um hardware dedicado, nas máquinas VLIW as dependências são resolvidas em tempo de compilação pelo compilador.

Arquiteturas VLIW Em uma máquina VLIW, várias operações são codificadas em uma mesma instrução. A palavra de instrução é bastante longa, podendo conter várias operações (que operam sobre vários operandos) independentes. A posição de cada operação dentro da palavra VLIW determina a unidade funcional que será usada. Deste modo, o hardware de despacho é simples. Em uma máquina VLIW o compilador é responsável por determinar as operações que serão executadas em paralelo.

Arquiteturas VLIW Operações que possam ser executadas em paralelo são atribuídas à uma mesma palavra de instrução. Dentro de um mesmo bloco básico (seqüencial) as instruções podem ser escalonadas com base na dependência de dados. Já o escalonamento que ultrapasse as fronteiras entre os blocos básicos exige técnicas mais elaboradas como trace scheduling e list scheduling.

Arquiteturas SMT SMT é uma técnica que permite múltiplas threads despacharem múltiplas instruções a cada ciclo para unidades funcionais de um processador superescalar. SMT combina a capacidade de despacho de múltiplas instruções das arquiteturas superescalares, com a habilidade de esconder latência das arquiteturas multithreading. A cada instante de tempo instruções de diferentes threads podem estar sendo executadas simultaneamente. Busca reduzir o número de slots de despacho não ocupados a cada ciclo (elevado em arquiteturas multithreading) e o número de ciclos em que nenhuma instrução é despachada (elevado em arquiteturas superescalares).

Arquiteturas SMT As arquit et uras SMT podem ser de tr ês ti pos básicos (Tullsen, ISCA95): Full Simultaneous is sue: modelo id eal, mas de dif ícil realização, onde não há restriç ão sobre o número de instruções de cada thread que pode ser despachada a cada cic lo. Limited Sim ultaneous Issue: apenas um número lim itado (1 a 4 tipic amente) de instruções de cada thread pode ser despachado a cada cic lo. Limited Connectio n: restrin gem o número de unidades fu ncionais de cada ti po que podem estar conectadas a cada contexto.

Arquiteturas SMT

Arquiteturas SMT

Arquiteturas Multicore Vários processadores encapsulados em uma mesma pastilha, podendo compartilha ou não a cache de nível 2. Normalmete são processadores idênticos, tanto em termos de arquitetura quanto em velocidade de processamento. As tarefas podem ser executadas indistintamente em cada um dos processadores. O sistema operacional é responsável pelo escalonamento das tarefas (processos e/ou threads) para cada um dos processadores. É uma alternativa muito adotada recentemente devido aos ganhos de consumo de energia que podem ser obtidos, sem perda de desempenho quando há um número adeuado de tarefas para serem executadas em paralelo.