Capítulo 9. Arquitecturas Reais e Alternativas



Documentos relacionados
Capítulo 1 Introdução

O Nível ISA. Modelo de programação Arquitecturas CISC e RISC Introdução ao IA-32 da Intel

1.3. Componentes dum sistema informático HARDWARE SOFTWARE

Aula 26: Arquiteturas RISC vs. CISC


CPU Unidade Central de Processamento. História e progresso

Ricardo Gonçalves 2013/2014. Arquitecturas Multicore

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

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

Conteúdo Tópicos Breve história dos computadores. Capítulo 2 Evolução do Computador e Desempenho. Desempenho

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

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

Organização Básica de computadores e linguagem de montagem

Arquitetura e Organização de Computadores

Unidade Central de Processamento Organização da UCP Execução de instruções em paralelo ("pipeline") Execução de programas

Curso EFA Técnico/a de Informática - Sistemas. Óbidos

Arquitetura de Computadores. Prof. Marcelo Mikosz Gonçalves

Parte 01. Fundamentos de Arquitetura de Computadores. Prof. Pedro Neto

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

Máquinas Multiníveis

Cap. 5 - Microprocessadores

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

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

Multi-processamento. Arquitecturas MIMD de memória partilhada Multi-cores heterogéneos Multi-processadores

Arquiteturas RISC. (Reduced Instructions Set Computers)

A história do Processadores O que é o processador Características dos Processadores Vários tipos de Processadores

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

O que é Arquitetura de Computadores?

ORGANIZACÃO DE COMPUTADORES PROCESSADORES CHIPS TRANSISTORES

Organização e Arquitetura de computadores

INSTALAÇÃO e MANUTENÇÃO de MICRO COMPUTADORES

Organização de Computadores 2005/2006 Processadores Intel

Trabalho de: Alexandre / Paulo / Rui

Calculadoras Mecânicas

Processadores. Prof. Alexandre Beletti Ferreira

Organização de Computadores I

Sistema de Computação

A Evolução dos Computadores: do ENIAC ao Jaguar

Hardware Avançado. Laércio Vasconcelos Rio Branco, mar/2007

Gerações de Computadores. INF005 - Arquitetura de Computadores e Software Básico Aula 3 Flávia Maristela (flavia@flaviamaristela.

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

Conjunto de Instruções e Arquitectura p.1

CPU - Significado CPU. Central Processing Unit. Unidade Central de Processamento

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

ARQUITETURA DE COMPUTADORES

Tópicos da aula. Histórico e Evolução dos Computadores. Noções Básicas de Arquitetura de Computadores

Evolução dos Processadores

INSTITUTO DE EMPREGO E FORMAÇÃO PROFISSIONAL, I.P.

ENIAC (Electronic Numerical Integrator Analyzer and Computer)

RISC X CISC - Pipeline

Microprocessadores II - ELE 1084

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

Hardware de Computadores

Curso de Instalação e Gestão de Redes Informáticas

Estrutura e funcionamento de um sistema informático

Histórico dos Computadores

Manutenção de Computadores Montagem de microcomputadores: Entendendo melhor os processadores. Professor: Francisco Ary

Conceitos e Evolução Capítulos 1 e 2

Arquitetura e Organização de Computadores

Técnicas de Manutenção de Computadores

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

Componentes de um Sistema de Computador

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

Arquitecturas Alternativas. Pipelining Super-escalar VLIW IA-64

Introdução à Computação

Arquitetura de Computadores

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

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

Sistemas de Computação. Dentro da Unidade do Sistema

Capítulo 8. Software de Sistema


1. INTRODUÇÃO. Computador Digital: É uma máquina capaz de solucionar problemas através da execução de instruções que lhe são fornecidas.

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

Arquitetura de processadores: RISC e CISC

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

Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciências da Computação. Capítulo 1. Introdução, Abstrações e Histórico

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

Introdução à Arquitetura de Computadores IFES Campus Serra

ARQUITETURA DE COMPUTADORES

Organização de Computadores 2005/2006 Processadores Intel

Pipeline, RISC e CISC

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

Evolução das CPUs: Dual e Quad Core

Arquitetura de Computadores. por Helcio Wagner da Silva

Hardware - Microprocessador

Fundamentos de Hardware

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

Hardware Fundamental

Arquitetura de Von Neumann e os Computadores Modernos

Disciplina: Organização de computadores

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

ENIAC Primeiro computador de Propósito Geral. William Stallings Computer Organization and Architecture 6 th Edition (2003)

Processadores clock, bits, memória cachê e múltiplos núcleos

Arquitetura de Computadores

Cursos de Computação. Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 01 - História e Funções dos Sistemas Operacionais

AULA1 Introdução a Microprocessadores gerais

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

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

Transcrição:

Capítulo 9 Arquitecturas Reais e Alternativas Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture

Ábaco (3000 AC) do Lat. abacu < Gr. abax, quadro, mesa s. m., mesa coberta de areia para as crianças aprenderem a ler; Mat., espécie de contador mecânico; tabuada antiga; 2

Charles Babbage 1792-1871 Máquina diferencial (1822) Calculadora enorme (nunca terminada) Máquina analítica (1833) Podia guardar números Utilizava cartões perfurados metálicos para especificar as instruções/operações Movida a vapor Precisão de 6 casas decimais 3

ENIAC 1943-1946 ENIAC: Electronic Numerical Integrator And Computer Autores: Eckert e Mauchly (Universidade da Pensilvânia) Decimal (não era binário) 20 acumuladores (registos) de 10 dígitos Podia ser reprogramado para resolver um grande número de problemas 18.000 válvulas, 30 toneladas, 180 metros quadrados, consumo de 174 kw 5.000 adições por segundo 4

UNIVAC 1951 Computador universal (generalista) O primeiro computador digital Desenvolvido na Universidade da Pensilvânia Custo de $9,500,000 (em 1951 ) 5

Intel 4004 (1971) O primeiro microprocessador 2.250 transístores Palavra de 4 bits 108 khz Foi chamado de microchip Poder de cálculo semelhante ao do ENIAC 6

Intel Em 1971 criou o 4004 Primeiro microprocessador Todos os componentes do CPU num único chip 4 bit Concebido para uma calculadora Em 1972 criou o 8008 8 bit Concebido para uma calculadora Em 1974 criou 8080 O primeiro microprocessador generalista da Intel 7

Intel 80x86 Em 1978 criou o 8086 (5, 8, 10 MHz) 16 bit 29,000 transístores Capacidade de endereçamento de 1 MB Em 1979 criou o 8088 16 bit interno, 8 bit data bus Em 1982 criou o 80286 (6-12.5 MHz) 16 bit Capacidade de end. de 16 MB Memória virtual até 1 GB 8

Intel Pentium Em 1985 criou o 80386 (16-33 MHz) Primeiro processador de 32 bit 275.000 transístores Capacidade de endereçamento de 4 GB (64 TB) Em 1989 criou o 80486 (25-50 MHz) 32 bit 1,2 milhões de transístores Em 1993 criou o Pentium (60-166 MHz) 32 bit 3,1 milhões de transístores 1995 Pentium Pro, 1997 Pentium II 1998 Celeron 1999 Pentium III, Merced (IA-64) 2000 Celeron II, Pentium IV 2006 Pentium Core Duo 9

Número de transístores 1,000,000 K Mil milhões de transístores 100,000 10,000 1,000 100 10 8086 i486 Pentium i386 80286 Pentium III Pentium II Pentium Pro 1 1975 1980 1985 1990 1995 2000 2005 2010 10

Número de transístores Processador N Transístores Data comercialização Fabricante Intel 4004 2 300 1971 Intel Intel 8008 2 500 1972 Intel Intel 8080 4 500 1974 Intel Intel 8088 29 000 1979 Intel Intel 80286 134 000 1982 Intel Intel 80386 275 000 1985 Intel Intel 80486 1 200 000 1989 Intel Pentium 3 100 000 1993 Intel AMD K5 4 300 000 1996 AMD Pentium II 7 500 000 1997 Intel AMD K6 8 800 000 1997 AMD Pentium III 9 500 000 1999 Intel AMD K6-III 21 300 000 1999 AMD AMD K7 22 000 000 1999 AMD Pentium 4 42 000 000 2000 Intel Atom 47 000 000 2008 Intel Barton 54 300 000 2003 AMD 11

Número de transístores Processador N Transístores Data Comercialização Fabricante AMD K8 105 900 000 2003 AMD Itanium 2 220 000 000 2003 Intel Cell 241 000 000 2006 Sony/IBM/Toshiba Core 2 Duo 291 000 000 2006 Intel AMD K10 463 000 000 2007 AMD Core 2 Quad 582 000 000 2006 Intel Itanium 2 c/ 9 MB cache 592 000 000 2004 Intel G80 681 000 000 2006 NVIDIA POWER6 789 000 000 2007 IBM RV770 956 000 000 2008 AMD (ATI) GT200 1 400 000 000 2008 NVIDIA Dual Core Itanium 2 1 700 000 000 2006 Intel Quad Core Itanium KTukwila 2 000 000 000 2008 Intel 12

Evolução do processador MIPS Modelo Frequência [Mz] Ano Tecnologia [µm] Transistores [milhões] Tamanho [mm²] Tensão D cache [k] I cache [k] S cache [k] R2000 8-16.7 1985 2 0.11 32 64 R3000 20-40 1988 1.2 0.11 66.12 64 64 R4000 100 1991 0.8 1.35 213 5 8 8 1024 R4400 100-250 1992 0.6 2.3 186 5 16 16 1024 R4600 100-133 1994 0.64 2.2 77 5 16 16 512 R5000 150-200 1996 0.35 3.7 84 3.3 32 32 1024 R8000 75-90 1994 0.5 2.6 299 3.3 16 16 1024 R10000 150-250 1995 0.35 6.8 299 3.3 32 32 512 R12000 270-400 1998 0.18 0.25 6.9 204 4 32 32 1024 R14000 500-600 2001 0.13 7.2 204 32 32 2048 R16000 700-800 2002 0.11 64 64 4096 13

Número de registos generalistas Processador Nº de registos generalistas Arquitectura Ano EDSAC 1 Acumulador 1949 IBM 701 1 Acumulador 1953 CDC 6600 8 Load-store 1963 IBM 360 16 Registo-memória 1964 DEC PDP-8 1 Acumulador 1965 DEC PDP-11 8 Registo-memória 1970 Intel 8008 1 Acumulador 1972 Motorola 6800 2 Acumulador 1974 DEC VAX 16 Registo-memória, Memória-memória 1977 Intel 8086 1 Acumulador extendido 1978 Motorola 68000 16 Registo-memória 1980 Intel 80386 8 Registo-memória 1985 MIPS 32 Load-store 1985 HP PA-RISC 32 Load-store 1986 SPARC 32 Load-store 1987 PowerPC 32 Load-store 1992 DEC Alpha 32 Load-store 1992 14

Instruções por segundo Processador Instruções por Segundo Ano Papel e lápis 0.0119 1892 Intel 8080 640 kips at 2 MHz 1974 Motorola 68000 1 MIPS at 8 MHz 1979 Intel 386DX 8.5 MIPS at 25 MHz 1988 Intel 486DX 54 MIPS at 66 MHz 1992 PowerPC 600s (G2) 35 MIPS at 33 MHz 1994 Intel Pentium Pro 541 MIPS at 200 MHz 1996 ARM 7500FE 35.9 MIPS at 40 MHz 1996 PowerPC G3 525 MIPS at 233 MHz 1997 Zilog ez80 80 MIPS at 50 MHz 1999 Intel Pentium III 1354 MIPS at 500 MHz 1999 AMD Athlon 3561 MIPS at 1.2 GHz 2000 AMD XP 2400+ 5935 MIPS at 2.0 GHz 2002 Pentium 4 Extreme Edition 9726 MIPS at 3.2 GHz 2003 ARM Cortex A8 2000 MIPS at 1.0 GHz 2005 Xbox360 IBM "Xenon" Single Core 6400 MIPS at 3.2 GHz 2005 AMD Athlon FX-57 12000 MIPS at 2.8 GHz 2005 AMD Athlon 64 3800+ X2 (Dual Core) 14564 MIPS at 2.2 GHz 2005 AMD Athlon FX-60 (Dual Core) 18938 MIPS at 2.6 GHz 2006 Intel Core 2 X6800 27079 MIPS at 2.93 GHz 2006 IBM Cell BE 25.6 GIPS (FLOPS) at 3.2 GHz 2006 15

Frequência Frequência (MHz) 10000 1000 100 10 8085 Duplica cada 2 anos P6 Pentium proc 486 386 286 8086 1 8080 8008 4004 0.1 1970 1980 1990 2000 2010 Ano Fonte: Intel A frequência dos microprocessadores duplica cada 2 anos 16

Dissipação de energia 100 Power (Watts) 10 1 8085 8080 8008 4004 8086 286 386 486 P6 Pentium proc 0.1 1971 1974 1978 1985 1992 2000 Year Fonte: Intel Os processadores continuam a usar e dissipar cada vez mais energia 17

A energia será um problema Power (Watts) 100000 10000 1000 100 10 1 0.1 286 8086 8085 386 486 8080 8008 4004 Pentium proc 18KW 5KW 1.5KW 500W 1971 1974 1978 1985 1992 2000 2004 2008 Year Fonte: Intel A consumo e dissipação de energia será proibitiva 18

Densidade energética Densidade Energética (W/cm2) 10000 1000 100 10 1 4004 8008 8080 8086 Rocket Nozzle Nuclear Reactor Hot Plate 8085 286 386 486 P6 Pentium proc 1970 1980 1990 2000 2010 Ano Densidade energética demasiado alta para manter as conexões a temperaturas baixas Fonte: Intel 19

Diferencial no desempenho Velocidade do processador aumenta Capacidade de memória aumenta Velocidade da memória aumenta mais devagar que a do processador 20

(Possíveis) soluções Aumentar o número de bits transferidos em cada acesso Tornar os circuitos de DRAM mais largos em vez de mais longos Alterar a ligação aos circuitos DRAM Inovações nas memórias cache Reduz a frequência de acessos à memória DRAM Memórias cache mais complexas, maiores, mais níveis, e internas ao chips Aumentar a velocidade do canal de interligação à memória Buses de alta velocidade, hierarquia de buses 21

Capacidade de armazenamento Cresce mais depressa que a Lei de Moore 22

Exemplos reais de ISA s [1] Os processadores da Intel suportam vários modos de endereçamento (m.e.) O 8086 suportava 17 m.e. diferentes (variantes dos modos já apresentados) De modo a ser compatível, o Pentium também suporta os mesmos 17 m.e. O Itanium, sendo RISC, suporta apenas um m.e. (indirecto por registo) A família 80x86 e os seus clones são little endian 23

Exemplos reais de ISA s [3] O MIPS é um acrónimo de Microprocessor Without Interlocked Pipeline Stages Em ASC irá ser estudado o que é um pipeline A arquitectura é little endian Tem instruções com 3 endereços com tamanho fixo Apenas as instruções de LOAD e STORE podem aceder à memória O modo de endereçamento é baseado (base addressing mode) 24

Exemplos reais de ISA s [4] A linguagem de programação Java é compilada para um microprocessador virtual denominado JVM (Java Virtual Machine) Há implementações da JVM para diferentes processadores com diferentes arquitecturas (incluindo versões simplificadas em hardware) Tal como uma máquina real, a JVM também tem uma ISA, denominada de bytecode, que é independente da ISA do processador real (e compatível com todas as JVM s disponíveis) 25

RISC vs. CISC A grande diferença entre processadores CISC e RISC torna-se evidente através da equação básica do desempenho do processador: Os processadores RISC reduzem o tempo de execução reduzindo o número de ciclos por instrução Os processadores CISC melhoram o desempenho reduzindo o número de instruções por programa 26

RISC vs. CISC RISC Múltiplos conjuntos de registos Três operandos por instrução Passagem de parâmetros através de janelas de registos Instruções executadas em um ciclo de relógio Instruções implementadas em hardware Múltiplas optimizações (e.g., pipeline) CISC Um único conjunto de instruções Um ou dois operando por instrução Passagem de parâmetros em memória Instruções executadas em múltiplos ciclos de relógio Instruções microprogramadas Múltiplas optimizações (e.g., pipeline) 27

RISC vs. CISC RISC Suporta um pequeno número de instruções Instruções simples Instruções de tamanho fixo e regular Complexidade transferida para o compilador Apenas as instruções LOAD/STORE acedem à memória Menos modos de endereçamento CISC Suporta um grande número de instruções Instruções complexas Instruções de tamanho variável e irregular Complexidade no microcódigo Muitas instruções acedem à memória Muitos modos de endereçamento 28

Taxonomia de Flynn Muitas tentativas de definir uma forma de categorizar as arquitecturas de computadores A taxonomia de Flynn é a que há mais tempo persiste, se bem que tenha algumas limitações A taxonomia de Flynn tem em consideração o número de processadores e o número de grupos de dados incorporados na arquitectura Um processador pode ter um ou mais processadores, que manipulam um ou mais grupos de dados 29

Taxonomia de Flynn Quatro combinações processadores / dados SISD: Single instruction stream, single data stream Os computadores clássicos single-core SIMD: Single instruction stream, multiple data stream Processadores vectoriais (GPUs) MIMD: Multiple instruction stream, multiple data stream Os computadores multiprocessador (multi-cores) MISD: Multiple instruction stream, single data stream Não existe 30

Taxonomia de Flynn Computadores SMP (symmetric multiprocessors ) e MPP (massively parallel processors) são ambos MIMD Sistemas SMP partilham a memória Menos processadores + partilha de memória + comunicação por memória Sistemas MPP não partilham a memória Mais processadores + memória distribuída + comunicação via rede (mensagens) 31

Taxonomia de Flynn 32

Arquitecturas multiprocessadores 33