Aula 10 – Processadores de Propósito Geral Anderson L. S. Moreira
[email protected]
http://dase.ifpe.edu.br/~alsm
Anderson Moreira
Arquitetura de Computadores
1
O que fazer com essa apresentação
Anderson Moreira
Arquitetura de Computadores
2
O que é um microprocessador? Máquina completa de computação embutida em um único chip Primeiro microprocessador foi o Intel 4004 (1971). O 4004 não era muito poderoso, já que ele só podia somar e subtrair 4 bits por vez. Mesmo assim, era incrível ver tudo isso em um único chip naquela época.
Anderson Moreira
Arquitetura de Computadores
Introdução •
Computadores do tipo IBM-PC são os mais populares e mais difundidos mundialmente;
•
São usados preferencialmente no estudo de arquitetura de computadores;
•
Intel 8086: – Lançado em 78 foi o primeiro a utilizar 16 bits de largura;
Anderson Moreira
Arquitetura de Computadores
Microprocessador Primeiro microprocessador de um computador pessoal foi o Intel 8080; Era um computador de 8 bits completo dentro de um chip (1974); Primeiro microprocessador que se tornou realmente popular foi o Intel 8088 (1979) e incorporado em um PC IBM - que apareceu em 1982.
Anderson Moreira
Arquitetura de Computadores
Arquiteturas
Anderson Moreira
Arquitetura de Computadores
Arquiteturas
Anderson Moreira
Arquitetura de Computadores
Arquiteturas - CISC
Anderson Moreira
Arquitetura de Computadores
Arquiteturas - RISC
Anderson Moreira
Arquitetura de Computadores
Arquiteturas - RISC
Anderson Moreira
Arquitetura de Computadores
Arquitetura do Pentium
Anderson Moreira
Arquitetura de Computadores
Arquitetura do Pentium
Anderson Moreira
Arquitetura de Computadores
Registradores do 8086/8088 •
Possuem 8 registradores de uso geral: – 4 de dados: AX, BX, CX, DX; – 4 registradores de endereços: SP, BP, SI, DI;
•
4 registradores de segmentos: – CS, DS, SS, ES.
•
1 apontador de instruções (IP);
•
1 registrado de flags (F).
Anderson Moreira
Arquitetura de Computadores
Registradores do 8086/8088 15
8 7
0
AX BX
AH
AL
CX
BH
BL
CH
CL
DH
DL
DX
acumulador base contador dado
SP BP
ponteiro para pilha ponteiro base
SI
índice fonte
DI
índice destino apontador de instruções flags
IP Flags CS DS
segmento de código segmento de dados
SS
segmento de pilha
ES
segmento extra
Anderson Moreira
Arquitetura de Computadores
Registradores de dados •
Os quatro registradores de dados são denominados A, B, C, D: – A = acumulador – B = base – C = contador – D = dados
•
Quando usados como registradores de 16 bits acrescenta o “X” – Quando usados para 8 bits ganha o “H” (High) e o “L” (Low) para indicar o byte dentro da palavra;
Anderson Moreira
Arquitetura de Computadores
Registradores de endereço
•
Acessam operandos da memória: – SP – ponteiro da pilha (stack pointer) – BP – ponteiro base (base pointer) – SI – índice de operando fonte (source index) – DI – índice de operando destino (destination index)
•
Registradores SP e BP são usados para operações na pilha
Anderson Moreira
Arquitetura de Computadores
Registradores de segmentos • • •
A memória do 8086 é dividida em unidades lógicas chamadas segmentos; Cada segmento tem 64 Kbytes de comprimento; – Processador acessa 4 segmentos de cada vez através de 4 registradores de segmentos; Os registradores armazenam os 16 bits mais significativos do endereço de 20 bits; – Endereço base é sempre múltiplo de 16;
Anderson Moreira
Arquitetura de Computadores
Evolução dos microprocessadores - Intel Nome
Data
Transistores
Mícron s
Velocidade do clock
Largura de dados
MIPS
8080
1974
6.000
6
2 MHz
8 bits
0,64
8088
1979
29.000
3
5 MHz
16 bits 8-bit bus
0,33
80286
1982
134.000
1,5
6 MHz
16 bits
1
80386
1985
275.000
1,5
16 MHz
32 bits
5
80486
1989
1.200.000
1
25 MHz
32 bits
20
Pentium
1993
3.100.000
0,8
60 MHz
32 bits 64-bit bus
100
Pentium II
1997
7.500.000
0,35
233 MHz
32 bits 64-bit bus
~300
Pentium III
1999
9.500.000
0,25
450 MHz
32 bits 64-bit bus
~510
Pentium 4
2000
42.000.000
0,18
1,5 GHz
32 bits 64-bit bus
~1,700
Pentium 4 "Prescott"
2004
125.000.000
0,09
3,6 GHz
32 bits 64-bit bus
~7,000
Anderson Moreira
Arquitetura de Computadores
Dentro de um Microprocessador Para entender o funcionamento de um microprocessador, temos de entender a lógica utilizada para se criar um; Neste processo, vamos aprender um pouco de linguagem assembly (a língua nativa de um microprocessador).
Anderson Moreira
Arquitetura de Computadores
Funcionamento Um microprocessador executa uma série de instruções de máquina que dizem a ele o que fazer. As três funções básicas de um processador são: Utilizando ULA, o microprocessador pode executar operações matemáticas como adição, subtração, multiplicação e divisão; Um microprocessador pode mover dados de um endereço de memória para outro; Pode tomar decisões e desviar para um outro conjunto de instruções baseado nestas decisões.
Anderson Moreira
Arquitetura de Computadores
Diagrama de Funcionamento
Anderson Moreira
Arquitetura de Computadores
Modos de endereçamento 8086 Modo
Significado
Imediato
Operando na instrução
Registrador
Operando em registrador
Direto
Operando na memória, endereçado por deslocamento contido na instrução
Registrador indireto
Operando na memória, endereçado por deslocamento contido em registrador
Indexado (ou base)
Operando na memória, endereçado pela soma do registrador de índice (ou base) com o deslocamento contido na instrução
Base e indexado com deslocamento
Operando na memória, endereçado pela soma do registrador de índice com o conteúdo do registrador base e com o deslocamento contido na instrução.
Anderson Moreira
Arquitetura de Computadores
Modos de endereçamento 8086 • • • • •
O endereço final de um operando é formado pela soma do registrador de segmento (estendido para 20 bits) com o endereço efetivo fornecido pelo modo de endereçamento; Exemplo com instrução ADD (soma) → primeiro operando = primeiro operando + segundo operando; Imediato: – ADD CH, 5F Registrador: – ADD BX, DX Direto: – ADD WVAR, BX
Anderson Moreira
Arquitetura de Computadores
Modos de endereçamento 8086 –
Registrador indireto: ADD CX, [BX] Indexado: ADD [SI+6], AL Base e indexado com deslocamento ADD [BX+DI+5], DX
•
–
•
–
•
Anderson Moreira
Arquitetura de Computadores
Modos de Endereçamento
Anderson Moreira
Arquitetura de Computadores
Modos de Endereçamento
Anderson Moreira
Arquitetura de Computadores
Modos de Endereçamento
Anderson Moreira
Arquitetura de Computadores
Modos de Endereçamento
Anderson Moreira
Arquitetura de Computadores
Modos de Endereçamento
Anderson Moreira
Arquitetura de Computadores
Detalhes Microprocessadores Intel
Anderson Moreira
Arquitetura de Computadores
Intel 80286 • •
• • •
Primeiros modelos operavam a 6 MHz, depois passaram para 8, 10, 12,5 e 16 MHz; Internamente possui 4 unidades de processamento separadas operando em paralelo; – EU – unidade de execução de instruções – BU – unidade de acesso e controle do barramento (dados e instruções) – IU – unidade de decodificações de instruções – AU – unidade de formação de endereços (cálculo de endereço físico) 286 a 6 MHz = 5X 8086 a 4,77 Mhz Capacidade de gerenciar até 1GB de memória virtual; Dois modos de operação modo real e modo protegido.
Anderson Moreira
Arquitetura de Computadores
Intel 80386 • • • • • • •
Apresenta características de mainframes em computadores pessoais: – Memória virtual, multiprogramação e multitarefa. Vantagem: poder executar programas do 8086 sem sair do modo protegido; Arquitetura de 32 bits (registradores de 32 bits); Barramento externo de endereço: 30 bits; Barramento externo de dados: 32 bits configuráveis para 16 bits; Suporte de até 64 Tbytes de memória virtual; Proteção de memória.
Anderson Moreira
Arquitetura de Computadores
Intel 80386 •
Apresenta 6 unidades de processamento: – EU – unidade de execução – BU – unidade de acesso e controle do barramento – IU – unidade de decodificações de instruções – PU – unidade de pré-busca – PgU – unidade de formação de endereços (paginação) – SU – unidade de formação de endereços (segmentos)
•
Duas últimas responsáveis pelo gerenciamento de memória virtual
Anderson Moreira
Arquitetura de Computadores
Intel 80486 • • • •
Cache interna de 8 Kbytes; FPU com as mesmas funções de um coprocessador 8087; Acesso à memória em modo rajada (simultânea); Processador disponível em 4 modelos básicos: – DX – SX – DX2 – DX4
Anderson Moreira
Arquitetura de Computadores
Pentium
• • • • •
Primeiro com barramento de 64 bits; Suporta implementação de protocolo de coerência de cache em ambiente multiprocessado; Dois pipelines para processamento de inteiros; Um pipeline para processamento FPU; Operações em paralelo.
Anderson Moreira
Arquitetura de Computadores
Análise Operacional •
Análise de uso de determinados recursos de máquina;
•
Aplicável principalmente em CPU;
•
Pode ser usada em outras medições, cálculo de estimativa de rede;
Anderson Moreira
Arquitetura de Computadores
Análise Operacional •
Variáveis operacionais para um determinado sistema (S) – T: Período de observação – K: Número de recursos do sistema – Bi: Tempo de ocupação do recurso i no período T. – Ai: Número total de solicitações (ex:.chegadas) do recurso i no período T. – A0: Número total de solicitações (ex:.chegadas) ao sistema no período T. – Ci: Número total de serviços finalizados pelo recurso i no período T. – C0: Número total de serviços finalizados pelo sistema no período T.
Anderson Moreira
Arquitetura de Computadores
Análise Operacional
S A0
K1 K4
K2 K5
K3 Kn
T Anderson Moreira
Arquitetura de Computadores
C0
Análise Operacional •
Métricas derivadas (derived measures) – Si: Tempo médio de serviço por finalização relativa ao recurso i; Si = Bi/Ci – Xi: throughput (ex.: finalizações por unidade de tempo) do recurso i; Xi = Ci/T
– – –
ʎi: taxa de chegada (ex.: chegadas por unidade de tempo) ao recurso i; ʎi = Ai/T X0: throughput do sistema; X0 = C0/T Vi: Número médio de visitas ao recurso i por solicitação; Vi = Ci/C0
Anderson Moreira
Arquitetura de Computadores
Análise Operacional •
Leis Operacionais (derived measures)
Anderson Moreira
Arquitetura de Computadores
Análise Operacional •
Exercícios resolvidos – Suponha que ao se monitorar uma processador por um período de 1 min, verificou-se que o recurso esteve ocupado por 36s. O número total de transações que chegaram ao sistema é 1800. O sistema também finalizou a execução de 1800 transações no mesmo período.
• 1. Qual a taxa de chegada ao sistema (ʎ0)? • 2. Qual é o throughput do sistema (X0)? • 3. Qual é a utilização da CPU(UCPU)? • 4. Qual é o tempo médio por transações finalizadas pelo sistema (S0)?
Anderson Moreira
Arquitetura de Computadores
Análise Operacional CPU:
K=1
UCPU = BCPU/T = 36/60 = 0,6 = 60% T = 1 min A0 = 1800 transações C0 = 1800 transações BCPU = 36 s
S0 = Si = BCPU / CCPU = 36/1800 = 0,02 s
Obs.: Considerando S0 = Si = SCPU U0 = Ui = UCPU
ʎ0 = ʎi = ʎCPU
A0 = A1 B0 = B1
X0 = X1 = XCPU
ʎ0 = ʎ1 = 1800/60 = 30
trs/s X0 = X1 = 1800/60 = 30 trs/s
Anderson Moreira
Arquitetura de Computadores
Exercícios • •
A banda passante de um link de comunicação é 56000 bps. Pacotes de 1500 bytes são transmitidos ao link a uma taxa de 3 pacotes por segundo. Qual é a utilização do link? Para ilustrar o conceito de Service Demand considere o caso em que 6 transações fazem 3 acessos (cada uma) a uma unidade de disco. Os tempos de cada acesso são apresentados em ms.
Qual a Service Demand do sistema?
Anderson Moreira
Arquitetura de Computadores
Exercícios •
Considere que um Web Server foi monitorado por 10 min e que a CPU esteve ocupada por 90%. O log do Web Server registrou 30.000 solicitações processadas. Qual é a CPU Service Demand (DCPU) relativa as solicitações ao Web Server?
•
Procure informações sobre a Arquitetura do Pentium: – Operações em paralelo; – Cache; – BTB – Branch Target Buffer; – FPU; – Otimização;
Anderson Moreira
Arquitetura de Computadores
Bibliografia • • •
Arquitetura de Computadores Pessoais, Raul Weber, 2ª edição; Arquitetura de Computadores, Andrew S. Tannembaum, 8ª edição; Fundamentos de Arquitetura de Computadores, Saib e Weber, 4ª edição;
Anderson Moreira
Arquitetura de Computadores
Dúvidas
Anderson Moreira
Arquitetura de Computadores
46