• Nenhum resultado encontrado

Arquitectura de Computadores (ACom)

N/A
N/A
Protected

Academic year: 2021

Share "Arquitectura de Computadores (ACom)"

Copied!
46
0
0

Texto

(1)

Arquitectura de Computadores

(ACom)

MEAer

Acetatos das Aulas Te´

oricas

Vers˜ao 4.0 - Portuguˆes

Aula N

o

16:

T´ıtulo: Fam´ılia Intel x86; Arquitecturas de processadores em pipeline

Sum´ario: Fam´ılia Intel x86 (registos, bits de estado, mem´oria,

(2)

Fam´ılia Intel x86; Arquitecturas de

processadores em pipeline

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 1 / 52

Arquitectura de Computadores

(ACom)

Aula Anterior Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula Na aula anterior...

 Unidades de Processamento e de Controlo do P3

 Fluxo de Execu¸c˜ao de uma Instru¸c˜ao

◮ Carregamento do Registo de Instru¸c˜ao

◮ Carregamento dos Operandos

◮ Execu¸c˜ao da Instru¸c˜ao

◮ Escrita do Resultado

◮ Teste de Interrup¸c˜oes

(3)

Road Map Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 3 / 52

Planeamento Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula  Planeamento

Semana Teórica 1 Teórica 2 Problemas (P) / Laboratório (L)

16-fev a 20-fev CARNAVAL Apresentação da cadeira; Introdução P0: Revisões SD 23-fev a 27-fev L1: Modos de endereçamento 02-mar a 06-mar Operações lógicas e aritméticas ISA do P3 P1: Assembly do P3 09-mar a 13-mar L2: Instruções Aritméticas e Salto 16-mar a 20-mar Técnicas de programação em Assembly Geração do código objecto. L3: Rotinas; Passagem parâmetros 23-mar a 27-mar Estrutura de um processador Unidade de processamento

30-mar a 03-abr Unidade de controlo PÁSCOA PÁSCOA 06-abr a 10-abr PÁSCOA L4: IO; Interrupções 13-abr a 17-abr Organização interna do P3: circuito de controlo Organização interna do P3: microprogramação P3: Micro-programação 20-abr a 24-abr L5: Micro-programação 27-abr a 01-mai Dependências dados e de controlo; Conflitos L6: Arduino

Instruções Assembly; Operandos e modos de endereçamento; Processador P3

Operandos; Pilha; Instruções de acesso à memória; Codificação das instruções. Periféricos do P3; Interrupções e contagem do

tempo no P3

Tradução de linguagem de alto nível para Assembly

P2: Interrupções; Codificação de Instruções Controlo microprogramado; Organização

interna do P3: circuito de dados Família Intel x86; Arquitecturas de

processadores em pipeline

Arquitecturas de processadores em pipeline; Dependências Tópicos avançados de arquitectura de

(4)

Sum´ario Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 5 / 52

Hoje:

 ISA da fam´ılia Intel x86 (registos, bits de estado,

mem´oria, instru¸c˜oes);  Processamento em Pipeline.

Fam´ılia Intel x86

Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula

(5)

Fam´ılia Intel x86

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 7 / 52

Intel 4004 (1971) Fam´ılia Intel x86 Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula Intel 4004 (1971) Intel 8086 (1978)

(6)

Fam´ılia Intel x86

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 7 / 52

Intel 4004 (1971) Intel 8086 (1978) Intel Pentium IV (2000) Fam´ılia Intel x86 Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula Intel 4004 (1971) Intel 8086 (1978)

(7)

Fam´ılia Intel x86

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 8 / 52

Fam´ılia Intel x86

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

(8)

Fam´ılia Intel x86

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 8 / 52

Processador Intel 8086

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

(9)

Arquitectura do processador Intel 8086

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 10 / 52 BIU - Bus Interface Unit

EU - Execution Unit IP - Instruction Pointer

Arquitectura do processador Intel 8086

Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula  Primeiras gera¸c˜oes: 8086 / 8088 / 80186 / 80188 -processadores de 16 bits

 Conjunto de Instru¸c˜oes da Fam´ılia Intel x86

(Instruction-Set Architecture – ISA)

◮ Registos

◮ Bits de estado

◮ Mem´oria

(10)

Registos do processador 8086

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 12 / 52

 Registos do processador 8086:

Registos gen´ericos do processador 8086

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

(11)

Registos gen´ericos do processador 8086

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 13 / 52

 Registos de uso geral de 16-bits: AX, BX, CX, DX

AX - accumulator

BX - base

CX - counter

DX - data

Registos gen´ericos do processador 8086

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

 Registos de uso geral de 16-bits: AX, BX, CX, DX

AX - accumulator BX - base CX - counter DX - data AX BX CX DX AH AL BH BL CH CL DH DL

(12)

Registos espec´ıficos do processador 8086

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 14 / 52

 Registos espec´ıficos (todos de 16 bits):

IP - Instruction Pointer, (equivalente ao PC do P3...)

SP - Stack Pointer

BP - Base Pointer

SI - Source Index

DI - Destination Index

Mais o registo de estado...

Bits de Estado Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula  Registo de Estado: x x x x OF DF IF TF SF ZF x AF x PF x CF

x - bit n˜ao usado OF - excesso (overflow)

DF - direc¸c˜ao: nas instru¸c˜oes de manipula¸c˜ao de strings, indica se se come¸ca de frente para tr´as ou de tr´as para a frente

IF - interrupt enable

TF - execu¸c˜ao passo-a-passo: normalmente usada pelo debugger SF - sinal (equivalente ao bit de estado ”negative” do P3) ZF - zero

AF - auxiliary carry, equivalente ao bit de transporte, mas representa o transporte entre o 4o e o 5o bit dos registos

PF - paridade: fica a 1 se o n´umero de 1s do resultado for par CF - transporte

(13)

Organiza¸c˜ao da Mem´oria

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 16 / 52

 Espa¸co de endere¸camento de 1MByte (220), organizado ao

Byte

Organiza¸c˜ao da Mem´oria

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

 Espa¸co de endere¸camento de 1MByte (220), organizado ao

Byte

 O espa¸co de endere¸camento est´a dividido em segmentos,

(14)

Organiza¸c˜ao da Mem´oria

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 16 / 52

 Espa¸co de endere¸camento de 1MByte (220), organizado ao

Byte

 O espa¸co de endere¸camento est´a dividido em segmentos,

cada um com 64kBytes

Organiza¸c˜ao da Mem´oria

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

 Espa¸co de endere¸camento de 1MByte (220), organizado ao

Byte

 O espa¸co de endere¸camento est´a dividido em segmentos,

cada um com 64kBytes

 No entanto, a cada momento apenas est˜ao acess´ıveis 4

segmentos de 64kB cada:

◮ Code Segment - cont´em um tro¸co do programa;

◮ Data Segment - cont´em dados do programa;

◮ Extra Segment - cont´em dados do programa;

◮ Stack Segment - cont´em a pilha.

(15)

Organiza¸c˜ao da Mem´oria

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 17 / 52

 Endere¸co f´ısico definido pelo par registo de

segmento:deslocamento dentro do segmento

Por exemplo: CS:IP → CS×24+IP

CS 0h

IP + Endere¸co F´ısico

Organiza¸c˜ao da Mem´oria

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

A cada instante apenas ´e poss´ıvel aceder a 4× 64kB = 256kB

(16)

Organiza¸c˜ao da Mem´oria

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 19 / 52

Exemplo: Modos de Endere¸camento Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula

 Mesmos modos de endere¸camento do P3:

◮ Por registo

◮ Imediato

◮ Directo

◮ Indirecto por registo

(17)

Modos de Endere¸camento

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 20 / 52

 Mesmos modos de endere¸camento do P3:

◮ Por registo

◮ Imediato

◮ Directo

◮ Indirecto por registo

◮ Indexado, baseado, relativo

 Instru¸c˜oes de 2 operandos Modos de Endere¸camento Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula

 Mesmos modos de endere¸camento do P3:

◮ Por registo

◮ Imediato

◮ Directo

◮ Indirecto por registo

◮ Indexado, baseado, relativo

 Instru¸c˜oes de 2 operandos

 Tamb´em como no P3, ´e uma arquitectura register-memory,

(18)

Modos de Endere¸camento

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 20 / 52

 Mesmos modos de endere¸camento do P3:

◮ Por registo

◮ Imediato

◮ Directo

◮ Indirecto por registo

◮ Indexado, baseado, relativo

 Instru¸c˜oes de 2 operandos

 Tamb´em como no P3, ´e uma arquitectura register-memory,

portanto um dos operandos tem que ser um registo

 Ao contr´ario do P3, o modelo de mem´oria ´e

independent IO.

Instru¸c˜oes Assembly

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Aritm´eticas Convers˜ao L´ogicas Deslocam. Controlo Pilha Transfer. Strings Gen´ericas

ADD AAA AND SHL JMP PUSH MOV MOVS NOP ADC AAS OR SHR JCXZ POP XCHG STOS STC SUB AAM XOR SAL JO PUSHF IN LODS CLC SBB AAD TEST SAR JS POPF OUT SCAS CMC INC DAA ROL JC LAHF CMPS STD DEC DAS ROR JZ SAHF REP CLD NEG CBW RCL JP XLAT REPZ STI CMP CWD RCR JG LEA CLI

MUL JL LDS HLT

IMUL JA LES WAIT

DIV JB LOCK

IDIV LOOP ESC

CALL RET INT INTO IRET

(19)

Mecanismos de entradas e sa´ıdas (IO)

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 22 / 52

 Mecanismos de entradas e sa´ıdas:

◮ Instru¸c˜oes espec´ıficas para IO:

• in

• out

Mecanismos de entradas e sa´ıdas (IO)

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

 Mecanismos de entradas e sa´ıdas:

◮ Instru¸c˜oes espec´ıficas para IO:

• in

• out

◮ Chamadas ao sistema operativo (ex: MS-DOS):

• Invoca¸c˜ao (por software) de rotinas de atendimento

de interrup¸c˜ao:

◦ Registo Ah armazena um c´odigo com o tipo da

opera¸c˜ao (ex: 02h - escreve um caracter)

(20)

Mecanismos de entradas e sa´ıdas (IO)

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 23 / 52

 IO por chamada ao sistema operativo - exemplos:

putchar(’a’); MOV DL, ’a’ MOV AH, 02h INT 21h

Mecanismos de entradas e sa´ıdas (IO)

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

 IO por chamada ao sistema operativo - exemplos:

putchar(’a’); MOV DL, ’a’ MOV AH, 02h INT 21h

c=getchar(); MOV AH, 01h

INT 21h MOV C, AL

(21)

Mecanismos de entradas e sa´ıdas (IO)

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 23 / 52

 IO por chamada ao sistema operativo - exemplos:

putchar(’a’); MOV DL, ’a’ MOV AH, 02h INT 21h

c=getchar(); MOV AH, 01h

INT 21h MOV C, AL c=getchar(); putchar(c); MOV AH, 01h INT 21h MOV DL, AL MOV AH, 02h INT 21h

Exemplo de programa em Assembly x86

Fam´ılia Intel x86

Processamento em Pipeline Pr´oxima Aula

code segment public

assume cs:code,ds:code org 100h

start: mov bx,offset msg ; bx points to string loop: mov al,[bx] ; load a character into al

cmp al,0 ; see if it’s a zero jz done ; quit if so

cmp al,32 ; see if it’s printable jl noprt ; don’t print if not call printc ; otherwise print it noprt: inc bx ; point to next character

jmp loop ; and loop back done: int 20h ; return to DOS

; subroutine to print the byte in al printc: push ax ; save ax and dx

push dx

mov dl,al ; use DOS to mov ah,02H ; print character

(22)

Processamento em Pipeline

Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 25 / 52

Tempo de Execu¸c˜ao Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

(23)

Tempo de Execu¸c˜ao Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 26 / 52

 Tempo de execu¸c˜ao: T = n × CPIf

Clocks per Instruction (CPI) Depende do n´umero de micro-instru¸c˜oes que devem ser executadas para cada instru¸c˜ao Tempo de Execu¸c˜ao Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula

 Tempo de execu¸c˜ao: T = n × CPIf

Clocks per Instruction (CPI) Depende do n´umero de micro-instru¸c˜oes que devem ser executadas para cada instru¸c˜ao

Instru¸c˜ao N´umero de ciclos

NOP 4

MOV R1,40h 10 ADD R3,M[R2] 11 DEC R2 8 BR.NZ L1 13 (se tomado) BR.NZ L1 4 (se n˜ao tomado) MOV M[R1],R2 11

(24)

Tempo de Execu¸c˜ao Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 26 / 52

 Tempo de execu¸c˜ao: T = n × CPIf

Clocks per Instruction (CPI) Depende do n´umero de micro-instru¸c˜oes que devem ser executadas para cada instru¸c˜ao

Frequˆencia (f) Depende da tecnologia; n˜ao representa

garantidamente um melhor desempenho, pois pode obrigar a aumentar o CPI... Tempo de Execu¸c˜ao Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula

 Tempo de execu¸c˜ao: T = n × CPIf

Clocks per Instruction (CPI) Depende do n´umero de micro-instru¸c˜oes que devem ser executadas para cada instru¸c˜ao

Frequˆencia (f) Depende da tecnologia; n˜ao representa

garantidamente um melhor desempenho, pois pode obrigar a aumentar o CPI...

N´umero de instru¸c˜oes (n) Depende do conjunto de

instru¸c˜oes do processador e do processo de gera¸c˜ao de c´odigo.

(25)

Tempo de Execu¸c˜ao Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 27 / 52

 Tempo de execu¸c˜ao: T = n × CPIf

Do ponto de vista de quem concebe a arquitectura, a escolha do conjunto de instru¸c˜oes (ISA) ´e fundamental para

conseguir o n´ıvel de eficiˆencia desejado

Tempo de Execu¸c˜ao Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

 Tempo de execu¸c˜ao: T = n × CPIf

Do ponto de vista de quem concebe a arquitectura, a escolha do conjunto de instru¸c˜oes (ISA) ´e fundamental para

conseguir o n´ıvel de eficiˆencia desejado

 Nas gera¸c˜oes recentes de processadores tem-se procurado:

◮ Aumentar a frequˆencia de trabalho;

◮ Reduzir o no de ciclos de rel´ogio por instru¸c˜ao (CPI);

◮ Reduzir o no de instru¸c˜oes necess´arias para executar uma

tarefa;

◮ Executar, em paralelo, diversas opera¸c˜oes de que ´e

(26)

Processamento em Pipelining numa lavandaria Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 28 / 52

Processamento em Pipelining numa lavandaria Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

 4 lotes, cada um com a dura¸c˜ao de 4 × 30 min = 2 horas:

◮ Lavar;

◮ Secar;

◮ Dobrar/Engomar;

◮ Guardar.

(27)

Processamento em Pipelining numa lavandaria Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 28 / 52

Aproxima¸c˜ao em Pipeline: Tempo total = 3.5 horas

Execu¸c˜ao em paralelo de instru¸c˜oes Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula  Exemplo: MOV R1,9 MOV R2,R0

Ciclo: ADD R2,M[Start+R1] DEC R1

BR.NN Ciclo

As duas primeiras instru¸c˜oes n˜ao dependem uma da outra...

(28)

Execu¸c˜ao de uma Instru¸c˜ao Assembly Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 30 / 52

Fases de execu¸c˜ao de uma instru¸c˜ao Assembly:

1.(F) Leitura da Instru¸c˜ao (Fetch)

Ler codifica¸c˜ao da instru¸c˜ao para um registo interno e incrementar o contador de programa (PC).

Execu¸c˜ao de uma Instru¸c˜ao Assembly Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Fases de execu¸c˜ao de uma instru¸c˜ao Assembly:

1.(F) Leitura da Instru¸c˜ao (Fetch)

Ler codifica¸c˜ao da instru¸c˜ao para um registo interno e incrementar o contador de programa (PC). 2.(D) Descodifica¸c˜ao

Interpreta¸c˜ao dos campos da instru¸c˜ao para deter-minar o tipo de instru¸c˜ao e c´opia dos operandos para registos tempor´arios.

(29)

Execu¸c˜ao de uma Instru¸c˜ao Assembly Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 30 / 52

Fases de execu¸c˜ao de uma instru¸c˜ao Assembly:

1.(F) Leitura da Instru¸c˜ao (Fetch)

Ler codifica¸c˜ao da instru¸c˜ao para um registo interno e incrementar o contador de programa (PC). 2.(D) Descodifica¸c˜ao

Interpreta¸c˜ao dos campos da instru¸c˜ao para deter-minar o tipo de instru¸c˜ao e c´opia dos operandos para registos tempor´arios.

3.(X) Execu¸c˜ao

C´alculo do resultado da instru¸c˜ao.

Execu¸c˜ao de uma Instru¸c˜ao Assembly Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Fases de execu¸c˜ao de uma instru¸c˜ao Assembly:

1.(F) Leitura da Instru¸c˜ao (Fetch)

Ler codifica¸c˜ao da instru¸c˜ao para um registo interno e incrementar o contador de programa (PC). 2.(D) Descodifica¸c˜ao

Interpreta¸c˜ao dos campos da instru¸c˜ao para deter-minar o tipo de instru¸c˜ao e c´opia dos operandos para registos tempor´arios.

3.(X) Execu¸c˜ao

(30)

Execu¸c˜ao num Processador CISC Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 31 / 52

 Estrutura de um processador de ciclo ´unico:

Banco de Registos PC IR Op1 Op2 Res ALU Barramento de Endereços Barramento de Dados Unidade de Processamento Unidade de Controlo  Elementos fundamentais: ◮ Unidade de Controlo

◮ Unidade de Processamento: Banco de Registos e

Unidade L´ogica e Aritm´etica (ULA ou ALU)

Execu¸c˜ao num Processador CISC Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula Banco de Registos PC IR Op1 Op2 Res ALU Barramento de Endereços Barramento de Dados Unidade de Processamento Unidade de Controlo

 Unidade de Processamento: utilizada repetidamente em

todas as fases de execu¸c˜ao de uma instru¸c˜ao:

(31)

Execu¸c˜ao num Processador CISC Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 32 / 52

Banco de Registos PC IR Op1 Op2 Res ALU Barramento de Endereços Barramento de Dados Unidade de Processamento Unidade de Controlo

 Unidade de Processamento: utilizada repetidamente em

todas as fases de execu¸c˜ao de uma instru¸c˜ao:

· · ·|F|D1|D2|X1|X2|X3|X4|W|F|D1|D2|D3|X1|W|F|D1|X1|X2|X3|W|· · ·

 Instru¸c˜oes t˜ao complexas quanto o desejado

 Dificuldade em paralelizar a execu¸c˜ao das instru¸c˜oes

Processadores RISC vs CISC Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

⇒ Existe um compromisso entre a complexidade das

(32)

Processadores RISC vs CISC Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 33 / 52

⇒ Existe um compromisso entre a complexidade das

instru¸c˜oes e a velocidade que elas podem ser executadas... Assim, os processadores podem ser classificados em duas categorias:

Processadores RISC vs CISC Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

⇒ Existe um compromisso entre a complexidade das

instru¸c˜oes e a velocidade que elas podem ser executadas... Assim, os processadores podem ser classificados em duas categorias:

CISC - Complex Instruction Set Computers RISC - Reduced Instruction Set Computers

(33)

Processadores RISC vs CISC Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 33 / 52

⇒ Existe um compromisso entre a complexidade das

instru¸c˜oes e a velocidade que elas podem ser executadas... Assim, os processadores podem ser classificados em duas categorias:

CISC - Complex Instruction Set Computers:

◮ Conjunto de instru¸c˜oes complexo, demorando um no vari´avel de ciclos de rel´ogio;

◮ Modos de endere¸camento complexos;

◮ N˜ao uniformidade dos formatos de codifica¸c˜ao; ◮ Programas compactos, com no reduzido de instru¸c˜oes.

Exemplos: P3, Pentium IV, etc.

RISC - Reduced Instruction Set Computers

Processadores RISC vs CISC Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

⇒ Existe um compromisso entre a complexidade das

instru¸c˜oes e a velocidade que elas podem ser executadas... Assim, os processadores podem ser classificados em duas categorias:

CISC - Complex Instruction Set Computers RISC - Reduced Instruction Set Computers:

◮ Conjunto de instru¸c˜oes reduzido;

◮ Modos de endere¸camento simples e com restri¸c˜oes; ◮ Codifica¸c˜ao das instru¸c˜oes uniforme;

◮ Tempo de execu¸c˜ao das instru¸c˜oes menor e uniforme; ◮ Programas mais extensos.

(34)

Processadores RISC vs CISC Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 33 / 52

⇒ Existe um compromisso entre a complexidade das

instru¸c˜oes e a velocidade que elas podem ser executadas... Assim, os processadores podem ser classificados em duas categorias:

CISC - Complex Instruction Set Computers RISC - Reduced Instruction Set Computers

Na pr´atica, a gera¸c˜ao RISC tem vindo a oferecer melhores desempenhos, pois verifica-se que muitas das instru¸c˜oes e modos de endere¸camento dos CISC raramente s˜ao utilizados na pr´atica, embora contribuam para uma maior

complexidade do hardware e um consequente redu¸c˜ao da frequˆencia de trabalho.

Caracter´ısticas dos Processadores RISC Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

 Caracter´ısticas dos Processadores RISC:

◮ Todas as instru¸c˜oes demoram o mesmo tempo a

executar;

◮ Instru¸c˜oes simples: s´o o que a ULA fornece;

◮ Modos de endere¸camento: s´o imediato e por registo;

(35)

Compara¸c˜ao CISC vs RISC Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 35 / 52

CISC RISC

F

Compara¸c˜ao CISC vs RISC Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula CISC RISC F IR←M[PC],PC+=instLen IR←M[PC],PC++ D

(36)

Compara¸c˜ao CISC vs RISC Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 37 / 52

CISC RISC

F IR←M[PC],PC+=instLen IR←M[PC],PC++

D Diferentes modos de endere¸camento Apenas por registo ou imediato X

Compara¸c˜ao CISC vs RISC Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula CISC RISC F IR←M[PC],PC+=instLen IR←M[PC],PC++

D Diferentes modos de endere¸camento Apenas por registo ou imediato X Sequˆencia arbitr´aria de opera¸c˜oes na

ULA

Apenas uma opera¸c˜ao da ULA W

(37)

Compara¸c˜ao CISC vs RISC Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 39 / 52

CISC RISC

F IR←M[PC],PC+=instLen IR←M[PC],PC++

D Diferentes modos de endere¸camento Apenas por registo ou imediato X Sequˆencia arbitr´aria de opera¸c˜oes na

ULA

Apenas uma opera¸c˜ao da ULA W Escrita do resultado num registo ou

posi¸c˜ao de mem´oria

Escrita do resultado num registo ou posi¸c˜ao de mem´oria

Processadores RISC do tipo Load/Store Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

 Arquitecturas RISC do tipo Load/Store:

◮ Instru¸c˜oes aritm´eticas e l´ogicas, que apenas operam

sobre registos;

◮ Instru¸c˜oes de transferˆencia de dados entre mem´oria e

registos:

• Load

• Store

(38)

Fases do Processador MIPS Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 41 / 52

Uma fase adicional para a leitura ou escrita de dados em mem´oria: s´o utilizada pelas instru¸c˜oes load e store.

F - Leitura da Instru¸c˜ao (Fetch) D - Descodifica¸c˜ao

X - Execu¸c˜ao

M - Acesso `a Mem´oria

W - Escrita do Resultado (Write-back) Cada fase dura exactamente um ciclo de rel´ogio.

Fases do Processador MIPS Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Uma fase adicional para a leitura ou escrita de dados em mem´oria: s´o utilizada pelas instru¸c˜oes load e store.

F - Leitura da Instru¸c˜ao (Fetch) D - Descodifica¸c˜ao

X - Execu¸c˜ao

M - Acesso `a Mem´oria

W - Escrita do Resultado (Write-back) Cada fase dura exactamente um ciclo de rel´ogio. 1. (F) Fetch

IR←M[PC],PC←PC+4

Considerando palavras de 32-bits (4 Bytes)

(39)

Fases do Processador MIPS Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 42 / 52

2. (D) Descodifica¸c˜ao

◮ Descodifica¸c˜ao da instru¸c˜ao

◮ Leitura dos operandos do banco de registos

◮ Extens˜ao de sinal da constante

Fases do Processador MIPS Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

3. (X) Execu¸c˜ao

◮ Opera¸c˜ao ULA sobre 2 registos

◮ Opera¸c˜ao ULA sobre 1 registo e constante

(40)

Fases do Processador MIPS Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 43 / 52

3. (X) Execu¸c˜ao

◮ Opera¸c˜ao ULA sobre 2 registos

◮ Opera¸c˜ao ULA sobre 1 registo e constante

◮ C´alculo do endere¸co efectivo

4. (M) Acesso Mem´oria

◮ Se load, lˆe mem´oria de dados

◮ Se store, escreve na mem´oria de dados

◮ Resolu¸c˜ao do salto

Fases do Processador MIPS Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

3. (X) Execu¸c˜ao

◮ Opera¸c˜ao ULA sobre 2 registos

◮ Opera¸c˜ao ULA sobre 1 registo e constante

◮ C´alculo do endere¸co efectivo

4. (M) Acesso Mem´oria

◮ Se load, lˆe mem´oria de dados

◮ Se store, escreve na mem´oria de dados

◮ Resolu¸c˜ao do salto

5. (W) Write-Back

(41)

Arquitectura do Processador MIPS Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 44 / 52

 Cada fase de execu¸c˜ao ´e um andar do pipeline (pipeline stage);

 Cada andar do pipeline tem capacidade de processamento

aut´onomo;

 Registos entre andares guardam valores interm´edios;

 Velocidade de processamento limitada pelo andar mais lento.

Arquitectura do Processador MIPS Fam´ılia Intel x86

Processamento em Pipeline

(42)

Processamento de Pipeline Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 46 / 52

Processamento de Pipeline Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula Ciclo de Rel´ogio

Instru¸c˜ao 1 2 3 4 5 6 7 8 9 i F D X M W i + 1 F D X M W i + 2 F D X M W i + 3 F D X M W i + 4 F D X M W

(43)

Processamento de Pipeline Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 47 / 52

Ciclo de Rel´ogio

Instru¸c˜ao 1 2 3 4 5 6 7 8 9 i F D X M W i + 1 F D X M W i + 2 F D X M W i + 3 F D X M W i + 4 F D X M W

Todas as instru¸c˜oes passam portodos os andares/fases, quer o utilizem ou n˜ao!

Desempenho do Pipeline Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula Speeduppipe =

Tempo Medio sem Pipeline Tempo Medio com Pipeline = CPIserie× Tclk−serie

CPIpipe× Tclk−pipe

= CPIserie CPIpipe × Tclk−serie Tclk−pipe Caso ideal: CPIpipe = 1

(44)

Desempenho do Pipeline Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 49 / 52

Throughput (taxa de execu¸c˜ao)

N´umero de instru¸c˜oes executadas por unidade de tempo.

⇒ parˆametro que interessa

Desempenho do Pipeline Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Throughput (taxa de execu¸c˜ao)

N´umero de instru¸c˜oes executadas por unidade de tempo.

⇒ parˆametro que interessa

Latˆencia

Tempo que uma instru¸c˜ao demora a executar-se.

(45)

Pr´

oxima Aula

Fam´ılia Intel x86 Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 50 / 52

Pr´oxima Aula Fam´ılia Intel x86 Processamento em Pipeline Pr´oxima Aula  Processamento em Pipeline: ◮ An´alise de conflitos: • Conflitos estruturais • Conflitos de dados • Conflitos de controlo ◮ Resolu¸c˜ao de conflitos

(46)

Nota de Agradecimento Fam´ılia Intel x86

Processamento em Pipeline

Pr´oxima Aula

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 52 / 52

Agradecimento

Algumas p´aginas desta apresenta¸c˜ao foram extraidas de:

[1] Jos´e Carlos Monteiro, “Arquitectura de Computadores”, Instituto Superior T´ecnico (IST), Universidade T´ecnica de Lisboa, Portugal, 2010.

Referências

Documentos relacionados

Assim sendo, neste estudo foram incluídas outras variáveis, com a finalidade de avaliar de maneira mais completa a relação entre a percepção do impacto de saúde bucal na

a) Comunicação ao Conselho Europeu da Primavera: Trabalhando juntos para o crescimento e o emprego –Um novo começo para a Estratégia de Lisboa doc. 5825/05 ENV 38 ENT 17..

Từ các nhóm chức xác định từ B2, viết cấu trúc phân tử và dựa vào phổ NMR đánh giá xem công thức đã hợp lý chưa.. xem đã phù hợp với công

A metodologia de ajuste a valor de mercado dos títulos e valores mobiliários foi estabelecida com observância a critérios consistentes e verificá- veis, que levam em consideração

Os produtos Xerox ® Scan to PC Desktop ® 12, incluindo OmniPage, PDF Converter Enterprise (em edições Professional), PDF Viewer (em edições Special), Image Retriever e PaperPort

A simulação da qualidade da água é usualmente realizada com base no escoa- mento permanente e fluxo de montante para jusante, que é a condição crítica mais fre- qüente.. No

5.1 O transmitente deve criar um identificador único de fórmula (UFI), através de meios eletrónicos disponibilizados pela Agência. O UFI é um código alfanumérico único que

- Para evitar que a umidade chegue até as ferramentas, as tubulações e mangueiras não devem ser nunca ligadas diretamente na linha principal de ar, e sim em tubulações de