Aula 10 – Processadores de Propósito Geral

MIPS Largura de dados Velocidade do clock ... linguagem assembly (a língua nativa de um ... Exercícios resolvidos...

13 downloads 225 Views 626KB Size
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