Algumas características especiais



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

Arquiteturas RISC. (Reduced Instructions Set Computers)

Aula 26: Arquiteturas RISC vs. CISC

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

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

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

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

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

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

Microarquiteturas Avançadas

RISC X CISC - Pipeline

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

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

Arquitetura de Computadores RISC x CISC. Gustavo Pinto Vilar

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


ARQUITETURA DE COMPUTADORES

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:

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

RISC - Reduced Instruction Set Computer

Medidas de Desempenho e a Lei de Amdahl

Arquitetura de Computadores. Ivan Saraiva Silva

Professores: Aula 10. Lúcia M. A. Drummond Simone de Lima Martins. Conteúdo: Arquiteturas Avançadas. - Arquiteturas RISC - Processamento Paralelo

Caminho dos Dados e Atrasos

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

SSC510 Arquitetura de Computadores. 2ª aula

Desempenho de Computadores

ci212 desempenho Avaliação de Desempenho

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

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 COMPUTADORES

Arquitetura de Computadores I

1. NÍVEL CONVENCIONAL DE MÁQUINA

ARQUITETURA DE COMPUTADORES

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

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

3. O NIVEL DA LINGUAGEM DE MONTAGEM

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. Ivan Saraiva Silva

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

Desempenho DESEMPENHO DE COMPUTADORES

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

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

Organização e Arquitetura de Computadores I

Arquitetura de processadores: RISC e CISC

MEDIDA E ANÁLISE DE DESEMPENHO AULA 14 Arquitetura de Computadores Gil Eduardo de Andrade

Arquitetura e Organização de Computadores 2

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

UNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC

ARQUITETURA DE COMPUTADORES

Evolução dos Processadores

Unidade 14: Arquiteturas CISC e RISC Prof. Daniel Caetano

Sistemas Computacionais II Professor Frederico Sauer

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

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

AULA4: PROCESSADORES. Figura 1 Processadores Intel e AMD.

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS Os Programas de Avaliação

Computadores de Programação (MAB353)

Arquitetura de Computadores I

Sistemas Operacionais

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

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Organização de Computadores

Modos de entrada/saída

3. Arquitetura Básica do Computador

ARQUITETURA DE COMPUTADORES

O que é Arquitetura de Computadores?

MEDIDAS DE DESEMPENHO DE SISTEMA DE COMPUTADORES:

Arquitetura de Computadores I

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

INE 5223 Informática para Secretariado

Introdução ao Processamento Paralelo

Predição de Desvios e Processadores Superescalares Especulativos

Arquitetura e Organização de Computadores

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

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

Arquitetura e Organização de Computadores

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

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

SIS17 - Arquitetura de Computadores

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

1. NÍVEL CONVENCIONAL DE MÁQUINA (Cont.) 1.3. INSTRUÇÕES Conceitos Básicos

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

Unidade 4 Paralelismo em Nível de Instrução. Filipe Moura de Lima Gutenberg Pessoa Botelho Neto Thiago Vinícius Freire de Araújo Ribeiro

Organização de Computadores 1

Organização e Arquitetura de Computadores I

COMPONENTES DE REDES. Fernando Albuquerque (061)

Organização de Computadores

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO

O modelo do computador

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução aos Computadores

Estruturas do Sistema de Computação

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores

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

Programação de Sistemas

Edeyson Andrade Gomes

Transcrição:

Algumas características especiais Tópicos o Medidas de desempenho o CISC versus RISC o Arquiteturas Superescalares o Arquiteturas VLIW

Medidas de desempenho Desempenho é muito dependente da aplicação MIPS: Milhões de Instruções Por Segundo Uma tarefa Duas máquinas: n instruções diferentes MFLOPS: Milhões de Operações em Ponto Flutuante por Segundo Outras instruções consideradas overhead para as de ponto flutuante Whetstones: Benchmark sintético Programa para testar desempenho em ponto flutuante Dhrystones: Competidor do Whetstone Desenvolvido com ênfase em operações inteiras

Medidas de desempenho SPEC: System Performance Evaluation Cooperative Consórcio de empresas formado em 1987 Padrão SPEC-benchmark Um compilador Um programa de minimização lógica Uma planilha Outros programas com ênfase no processamento aritmético SPECint92 e SPECfp92 Todos os esforços para medir desempenho buscam dizer aos usuários quão bem um computador pode tratar sua carga de trabalho.

CISC versus RISC CISC: Complex Instruction Set Computer Muitas instruções complexas e vários modos de endereçamento Algumas instruções podem gastar vários ciclos sendo executadas Nem sempre é fácil achar a melhor instrução para uma tarefa RISC: Reduced Instruction Set Computer Poucas instruções simples e poucos modos de endereçamento Geralmente uma instrução por palavra Cálculos de endereços complexos pode durar várias instruções Geralmente acesso à memória com load-store, demais instruções referem-se a dados em um banco de registradores

Alguns fatores históricos As máquinas CISC não correspondem a uma filosofia de projeto O objetivo era fazer o máximo possível com uma única instrução Necessidade de compactação de código Chip de memória RAM de 16K custava US$500.00 HD de 40MB custava US$55,000.00 Compatibilidade entre gerações favorece complexidade Há o distanciamento semântico (semantic gap) entre código de máquina e instruções de alto nível. Acreditava-se que reduzindo esta diferença poder-se-ia melhorar o desempenho. Donald Knuth (1971) e David Patterson (1982) mostraram que não era bem assim: 85% dos programas consistiam em atribuições, testes e chamadas a procedimentos. O preço das memórias caiu significativamente e a pressão passou de fazer mais para fazer mais rápido.

Características de projeto de máquinas CISC Instruções complexas capazes de executar muitas operações Pela complexidade a execução de uma instrução pode durar muitos ciclos de relógio e cada instrução dura um número de ciclos diverso Devido à complexidade das instruções torna-se difícil implantar conceitos como o pipeline. O tamanho variável das instruções e as várias formas de endereçamento requerem unidades de busca e decodificação bastante complexas. Máquinas deste tipo têm como meta: faça do seu jeito. Exemplo: Instruções do VAX usavam de 0 a 3 operandos; ADD fi 2 ou 3 operandos em memória ou registrador.

Outras características de máquinas CISC Devido à grande variedade de modos de endereçamento, muitos cálculos são necessários para determinação dos operandos. Por utilizar instruções capazes de executar várias operações, o tráfego de instruções entre UCP e memória tende a ser pequeno. O tráfego de dados em uma máquina CISC tende a ser equivalente ao de uma máquina RISC pura.

Características de projeto de máquinas RISC Instruções simples podem ser executadas em poucos ciclos de relógio Simplicidade pode minimizar o ciclo do relógio Uma máquina pipeline pode ter uma instrução completada a cada ciclo de relógio Instruções de tamanho fixo simplificam os mecanismos de busca e decodificação Restrições podem incluir o início de uma instrução sem a finalização dos resultados da instrução anterior Executar incondicionalmente a instrução sucessora de um salto Iniciar a instrução seguinte sem completar a carga de um registrador

Outras características de máquinas RISC Busca prévia de instruções Execução pipeline início da execução de uma instrução antes da conclusão da anterior. Operação superescalar início da execução de mais de uma instrução simultaneamente. Saltos, armazenagem e cargas retardados Os operandos podem não estar disponíveis quando uma operação tentar acessa-los. Uso de janelas de registradores capacidade de mudar o conjunto de registradores da UCP com um único comando, para aliviar a sobrecarga com chamada e retorno de sub-rotinas.

CISC versus RISC Por utilizar instruções mais simples, uma determinada tarefa requer a execução de mais instruções em máquinas RISC do que em máquinas CISC. Executando mais instruções, uma máquina puramente RISC deve ter um tráfego de dados equivalente ao de uma máquina CISC para a execução de uma mesma tarefa, mas certamente o tráfego de instruções será menor nesta que naquela. Conclusão: Se uma máquina CISC tradicional não tem o melhor desempenho, o de uma máquina puramente RISC também deixa a desejar.

CISC versus RISC Exemplo: Máquina RISC básica sem divisão inteira Divisão inteira não cabe em um só ciclo de relógio Arquitetura tem um passo de divisão Para dividir inteiros de 32 bits inicializam-se registradores com os valores do divisor, do dividendo e do quociente e executam-se 32 passos consecutivos de divisão. Sem laços e sem saltos, tem-se uma instrução executada por ciclo de relógio. O resultado é o ideal para uma RISC-pipeline, mas será esta a melhor solução?

CISC versus RISC A solução aumenta o tempo de execução da divisão de alguns ciclos, em uma máquina CISC, para 32 ciclos em uma RISC. Devido ao esvaziamento do pipeline por alguns ciclos no caso CISC, o número de ciclos por instrução pode ser maior, mas o desempenho final será melhor que na solução dada ao RISC. Porque não tirar proveito de algumas soluções CISC em máquinas RISC?

CISC versus RISC Outro problema das máquinas RISC, mencionado, é o grande tráfego de instruções. A solução é utilizar o espaço liberado pela lógica extra de decodificação, necessária em máquinas CISC, incluindo no seu lugar uma memória cache de instruções.

Conceitos-chave: CISC versus RISC Uma máquina RISC geralmente tem menos instruções do que uma CISC, e elas são sempre mais simples. Operações aritméticas que exigem vários passos são confinadas a certas unidades especiais. Todas as máquinas RISC são do tipo load-store. Operações aritméticas referenciam apenas valores em registradores. Formatos de instrução regulares e em pouca variedade, bem como modos de endereçamento limitados, possibilitam rápidas decodificação da instrução e determinação dos operandos. Atrasos nos saltos são típicos em máquinas RISC e tem origem no modo como um pipeline processa instruções de salto.

Paralelismo no nível de instruções No caso ideal, um pipeline utiliza aproximadamente um ciclo de relógio para executar cada instrução (1 CPI). Como reduzir o número de ciclos gastos para a execução de cada instrução? A tecnologia atual sugere que seja possível a execução de cinco a dez instruções por ciclo de relógio. Abordagens fortemente pipelinezadas: Máquinas superescalares Máquinas superpipeline Máquinas com palavra de instrução muito longa (VLIW)

Máquinas superescalares Origem do termo: Máquinas seriais (escalares) x paralelas (vetoriais) Máquina superescalar seria uma máquina escalar com desempenho superior. Decodificam várias instruções em um único ciclo. Executam tantas instruções por ciclo de relógio quantas forem possíveis. Utilizam várias unidades funcionais operando em paralelo, por exemplo: 1 salto, 1 UPF, 2 ULAs.

Máquinas superpipeline Variação da superescalar na qual a decodificação e execução de várias instruções por ciclo de relógio baseia-se na existência de um relógio secundário, mais rápido que o relógio global do sistema. Para executar N instruções por ciclo, utiliza um relógio de despacho N vezes mais rápido que o relógio principal. Seu funcionamento baseia-se, também, na existência de vários pipelines internos, para onde as instruções são despachadas. Do ponto de vista do programador não há diferença entre uma superescalar e uma superpipeline.

Máquinas VLIW (Very Long Instruction Word) Usando uma palavra longa as instruções dessas máquinas contêm campos que controlam, diretamente, várias unidades aritméticas e outros recursos da máquina. As instruções são decodificadas diretamente pelo hardware, dando ao programador controle sobre muitos recursos da máquina. Grande potencial para aumento de desempenho do código normal. Apresenta problemas com saltos condicionais, pois muitos recursos podem ficar ociosos, já que as instruções de uma palavra são executadas juntas em um só ciclo da máquina.

Resumo A relação custo/desempenho de uma máquina é chave para a sua aquisição. Desempenho pode ser medido de vários modos: MIPS, MFLOPS, Whetstone, Dhrystone, SPEC benchmarks. Máquinas CISC têm instruções que fazem mais. Tamanho da palavraq de isntrução pode variar muito Modos de endereçamento favorecem tráfego de memória Máquinas RISC normalmente têm: Uma palavra por instrução Acesso à memória apenas via load-store Instruções e modos de endereçamento simples Períodos de relógio menores, pré-busca, etc.