Aula 2 - Prof. Edilberto Silva

Propaganda
Sumário
Arquitetura de Computadores
w Conceitos básicos
w Classificação de arquiteturas
w Máquinas multinível
w Tendências da tecnologia
AULA 2 - Introdução
w Família Pentium
w Conclusão
Linguagens, Máquinas Multiníveis ...
Adaptação do material
desenvolvido pelo
Profs. Eduardo Moresi e
Edilson Ferneda
UCB - DF
Edilberto M. Silva - Arquitetura de Computadores
Conceitos básicos
Conceitos básicos
w Arquitetura do computador
n
n
2/27
w Arquitetura do computador
O projetista de hardware preocupa-se com circuitos,
componentes, temporização e facilidade de solução de erros.
O arquiteto de computador preocupa-se com os
componentes de alto nível, como eles se conectam, como eles
trabalham de forma integrada para garantir performance
n
n
Visão tradicional:
tradicional identificar os atributos de um sistema de
computação na visão do programador, isto é, a estrutura
conceitual e o comportamento funcional, em oposição à
implementação física.
Visão atual:
atual entender as técnicas de projeto, estrutura das
máquinas, fatores tecnológicos e métodos de avaliação que
irão determinar a estrutura dos computadores no século 21
Arquitetura = Organização da máquina + Conjunto de instruções
Edilberto M. Silva - Arquitetura de Computadores
3/27
Edilberto M. Silva - Arquitetura de Computadores
Conceitos básicos
Conceitos básicos
w Comunicação com o computador
Programa em linguagem
de alto nível
Compilador
Programa em linguagem
Assembly
Assembler
Programa em linguagem
de máquina
w Conjunto de instruções
n
temp = v[k];
v[k] = v[k+1];
v[k+1] = tempo;
Parte da arquitetura que é visível para o programador:
–
–
hv $15,
hv $16,
anv $16,
anv $15,
0($2)
4($2)
0($2)
4($2)
1000
1000
1010
1010
0110
1111
1111
0110
1100
1100
1100
1100
–
–
0010
0010
0010
0010
0000
0000
0000
0000
0000
0000
0000
0000
4/27
0000
0000
0000
0000
Códigos de operação das instruções disponíveis
Quantidades e tipos dos registradores
Formatos das instruções
Acesso à memória e modos de endereçamento
0000
0100
0000
0100
Interpretação pela máquina
Conjunto de sinais
de controle
ALUOP[0:3] ⇐ InstReg[9:11] & MASK
Edilberto M. Silva - Arquitetura de Computadores
5/27
Edilberto M. Silva - Arquitetura de Computadores
6/27
1
Conceitos básicos
Conceitos básicos
w Conjunto de instruções
w Arquiteturas de alto desempenho
§ Ênfase nos módulos e estruturas que permitem agilizar a
velocidade de processamento
Aplicações
Sistema
Operacional
Exemplos:
–
–
–
–
Compilador
Microprograma
Sistema I/O
Processadores RISC
Pipelines
Memória cache
Multiprocessadores
Projeto da lógica digital
Projeto de circuitos
Edilberto M. Silva - Arquitetura de Computadores
7/27
Edilberto M. Silva - Arquitetura de Computadores
Classificação de arquiteturas
Classificação de arquiteturas
w Classificação básica
w Máquinas von Neumann
§ Máquinas von Neumann
§ Máquinas não-von Neumann
Memória Principal
w Máquinas von Neumann
§ Três subsistemas básicos:
endereço
– CPU com três blocos principais: unidade de controle, unidade lógicoaritmética (ALU) e registradores, incluindo-se aí um registrador
contador de programa (PC)
– Memória principal
– Sistema de E/S
dados/instruções
CPU
Registradores
ULA
PC
§ Programa armazenado representado em forma digital na
memória do computador, juntamente com os dados
§ Execução seqüencial de instruções
§ Caminho único entre memória e unidade de controle
Edilberto M. Silva - Arquitetura de Computadores
8/27
Unidade de Controle
Sistema de E/S
9/27
Edilberto M. Silva - Arquitetura de Computadores
Classificação de arquiteturas
10/27
Classificação de arquiteturas
w Máquinas von Neumann
w Máquinas nãonão- von Neumann
§ Operação: a execução de um programa é uma seqüência de
ciclos de máquina von Neumann, compostos por:
– Busca da instrução (fetch): transfere instrução da posição de memória
apontada por PC para a CPU;
– Execução da instrução: a unidade de controle decodifica a instrução e
gerencia os passos para sua execução pela ALU.
§
Máquinas paralelas: várias unidades de processamento executando
programas de forma cooperativa, com controle centralizado (máquinas
SIMD) ou não (máquinas MIMD)
§
Máquinas de fluxo de dados: não executam instruções de um
programa; realizam operações de acordo com a disponibilidade dos dados
envolvidos
§
Redes neurais artificiais:
§
Processadores sistólicos (VLSI): processamento ocorre pela
não executam instruções de um programa;
resultados são gerados a partir de respostas a estímulos
passagem de dados por arranjo de células de processamento executando
operações básicas
Edilberto M. Silva - Arquitetura de Computadores
11/27
Edilberto M. Silva - Arquitetura de Computadores
12/27
2
Simples
Linguagem
Complexa
Máquinas multinível
Máquinas multinível
Os programas em Ln ou são interpretados
por um interpretador em execução em
uma máquina de nível inferior, ou são
traduzidos para a linguagem de máquina
de uma máquina de nível inferior
Nível n
Máquina virtual Mn , com
linguagem de máquina Ln
Nível 4
Máquina virtual M4 , com
linguagem de máquina L4
Nível 3
Máquina virtual M3 , com
linguagem de máquina L3
Os programas em L3 ou são interpretados
por um interpretador em execução em M2,
ou são traduzidos para L2
Nível 2
Máquina virtual M2 , com
linguagem de máquina L2
Os programas em L2 ou são interpretados
por um interpretador em execução em M1,
ou são traduzidos para L1
Nível 1
Computador real M1 , com
linguagem de máquina L1
Os programas em L1 podem ser
executados diretamente pelos circuitos
eletrônicos
Edilberto M. Silva - Arquitetura de Computadores
13/27
u Linguagens, níveis e máquinas virtuais
§ Um computador com n níveis pode ser considerado como n
diferentes máquinas virtuais, cada uma delas com uma
diferente linguagem de máquina
§ Os termos nível e máquina virtual podem ser utilizados
indistintamente
§ Para escrever programas para a máquina virtual de nível n não
há necessidade de conhecer os interpretadores e tradutores
subjacentes
§ A estrutura da máquina assegura que estes programas serão de
algum modo executados
Edilberto M. Silva - Arquitetura de Computadores
Máquinas multinível
u Linguagens,
níveis e
máquinas
virtuais
Nível 5
Máquinas multinível
Linguagem orientada para problemas
u Máquinas
Tradução (compilador)
Linguagem de montagem
Nível 4
§
Tradução (montador)
Sistema operacional
Nível 3
Interpretação parcial
(sistema operacional)
§
Máquina convencional
Nível 2
Interpretação
(microprograma)
Nível 1
14/27
Máquina de microprogramação
multinível contemporâneas
As máquinas com controle programado no hardware não
possuem o nível 1, pois as instruções do nível de máquina
convencional são executadas diretamente pelos circuitos
eletrônicos do nível 0
Os níveis 6 e superiores consistem em coleções de programas
projetados para criar máquinas especialmente adequadas para
aplicações específicas
Os microprogramas são executados
diretamente pelo hardware
Nível 0
Lógica digital
Edilberto M. Silva - Arquitetura de Computadores
15/27
Edilberto M. Silva - Arquitetura de Computadores
Máquinas multinível
u Hardware,
§
§
Máquinas multinível
u Hardware,
software e máquinas multinível
O hardware é composto de objetos tangíveis - circuitos
integrados, placas de circuito impresso, cabos, fontes de
alimentação, memórias, leitoras de cartões, impressoras e
terminais - em lugar de idéias abstratas, algoritmos ou
instruções
O software consiste em algoritmos (instruções detalhadas
que dizem como fazer algo) e suas representações para o
computador - ou seja, os programas podem estar
representados em cartões perfurados, fita magnética, filme
fotográfico e outros meios
Edilberto M. Silva - Arquitetura de Computadores
16/27
17/27
§
§
software e máquinas multinível
Qualquer operação efetuada pelo software pode também ser
implementada diretamente em hardware, e qualquer
instrução executada pelo hardware pode também ser
simulada pelo software
A decisão de se colocar certas funções em hardware e outras
em software baseia-se em:
–
–
–
–
Custo
Velocidade
Confiabilidade
Freqüência esperada de alterações
Edilberto M. Silva - Arquitetura de Computadores
18/27
3
Máquinas multinível
u Hardware,
§
§
Máquinas multinível
software e máquinas multinível
u Hardware,
Não há regras rígidas e diretas para se dizer que X deve ser
implementado em hardware e Y deve ser programado
explicitamente
Projetistas com objetivos diferentes podem, e muitas vezes o
fazem, tomar diferentes decisões
§
§
Uma forma intermediária entre o hardware e o software é o
firmware, que consiste do software embutido em dispositivos
eletrônicos durante a fabricação
Utilização do firmware:
–
–
–
Edilberto M. Silva - Arquitetura de Computadores
19/27
u Implementação
§ Circuitos Integrados:
–
Memória utilizada pelos programas - Regra prática de consumo
de endereços:
A memória necessária para um programa médio cresce em
torno de 1.5 a 2 vezes por ano; portanto, é consumido entre 0.5
a 1 bit de endereçamento por ano
§
–
–
–
§
Importância maior dos compiladores.
–
Tecnologia de compilação
–
–
–
Otimizações tradicionais
Comportamento de pipelines.
Comportamento do sistema de memória
Edilberto M. Silva - Arquitetura de Computadores
21/27
Primeiros Microprocessadores
w 1971: Intel 4004, o primeiro processador composto de
apenas 1 chip.
w 1974: Texas Intruments TMS 1000, o primeiro processador
capaz de operar sem a necessidade de outros chips de
suporte.
w 1974: Intel 8080, idealizado como controlador de terminal.
w 1976: Zilog Z-80, criado como um 8080 aprimorado.
w 1975: MOS Technologies 650x, mais barato que o 8080.
w 1975: Microchip Technology PIC 16x/17x, utilizando a
arquitetura RISC.
w 1977: Motorola 6809, rápido e flexível.
w 1978: Intel 8086, a escolha da IBM.
Edilberto M. Silva - Arquitetura de Computadores
Densidade cresce 50% ao ano
⇒ Número de transistores por chip cresce 60-80% ao ano
Velocidade aumenta mais ou menos na mesma proporção (50% ao ano)
Tecnologia de metal das interconexões não melhora na mesma
proporção
Memória - Regra prática de crescimento de DRAMs:
Uso de linguagens de alto nível
–
20/27
Tendências da tecnologia
u Utilização de computadores
–
Quando se espera que os programas raramente ou nunca serão
mudados (brinquedos ou instrumentos)
Quando os programas não podem ser perdidos ao se acabar a
alimentação (quando a bateria da boneca se descarrega)
Em muitos computadores, o microprograma está em firmware
Edilberto M. Silva - Arquitetura de Computadores
Tendências da tecnologia
§
software e máquinas multinível
A densidade de DRAMs cresce em torno de 60% ao ano,
quadruplicando em 3 anos
Tempo de ciclo melhora lentamente: diminuiu 35% em 10 anos
Recentemente a tecnologia de DRAMs tem melhorado mais rápido que a
tecnologia do processador
Edilberto M. Silva - Arquitetura de Computadores
22/27
Processadores RISC
w 1986: MIPS R2000, desenvolvido para simplificar o projeto de
processadores.
w 1986: Hewlett-Packard PA-RISC, um RISC conservador.
w 1987: AMD 29000, um conjunto flexível de registradores.
w 1988: Motorola 88000, uma construção elegante.
w 1990: IBM RS/6000 POWER chips, um RISC complicado.
w 1992: Hitachi SuperH series, pequenos e econômicos.
w 1992: DEC Alpha, desenvolvido para o futuro.
23/27
Edilberto M. Silva - Arquitetura de Computadores
24/27
4
Evolução da Performance dos
Microprocessadores
Processadores Intel
w
w
w
w
w
w
w
w
§
1982: 286.
1985: 386.
1989: 486.
1993: Pentium.
1995: Pentium Pro.
1997: Pentium II.
1999: Pentium III.
2001: Pentium IV
Aumenta com uma razão média de 37% por ano
Começando com um preço inicial em torno de $1000,
diminuindo em poucos anos para $100.
§
Edilberto M. Silva - Arquitetura de Computadores
25/27
Edilberto M. Silva - Arquitetura de Computadores
26/27
FIM
Perguntas ....
Edilberto M. Silva - Arquitetura de Computadores
27/27
5
Download