• Nenhum resultado encontrado

Índice. Tudo! (datapath de um ciclo)

N/A
N/A
Protected

Academic year: 2021

Share "Índice. Tudo! (datapath de um ciclo)"

Copied!
8
0
0

Texto

(1)

1

Índice

4. O Processador: Unidades de Caminho de

Dados e de Controlo

4.1 Diagrama de Blocos de um

Processador

4.2 Unidade de Caminho de Dados

4.3 Unidade de Controlo

4.4 Ciclo do Processador

4.5 Pipelining

4.6 Aspectos Relacionados com Pipelining

na Execução de um Programa

4.7 Caso de Estudo: O MIPS R2000 e o

Pentium Pro

Sumário

Instrução com

atraso maior no

datapath de um

ciclo. Datapath

multiciclo:

introdução.

Aula baseada no curso: CS152 Computer Architecture and

Engineering, Dave Patterson, UCB, USA

Tudo! (datapath de um ciclo)

32 ALUctr Clk busW RegWr 32 32 busA 32 busB 5 5 5 Rw Ra Rb 32 32-bit Registers Rs Rt Rt Rd RegDst Extender Mux Mux 32 16 imm16 ALUSrc Mux MemtoReg Clk Data In WrEn 32 Adr Data Memory 32 MemWr ALU Instruction Fetch Unit Clk Zero Instruction<31:0> 0 1 0 1 0 1 <21:25> <16:20> <11:15> <0:15> Imm16 Rd Rs Rt Main Control op 6 ALU Control func 6 3 ALUop ALUctr 3 RegDst ALUSrc

:

Instr<5:0> Instr<31:26> Instr<15:0> nPC_sel

(2)

3

Atraso maior (load)

Clk PC Rs, Rt, Rd, Op, Func Clk-to-Q ALUctr

Instruction Memoey Access Time

Old Value New Value

RegWr Old Value New Value

Delay through Control Logic

busA

Register File Access Time

Old Value New Value busB

ALU Delay

Old Value New Value Old Value New Value

New Value Old Value

ExtOp Old Value New Value ALUSrc Old Value New Value MemtoReg Old Value New Value

Address Old Value New Value

busW Old Value New

Delay through Extender & Mux

Register Write Occurs

Data Memory Access Time

4

Desvantagens do

processador de um ciclo

Ø

Tempo do Ciclo longo:

q

Tempo do ciclo tem de ser suficiente para a instrução

load

:

PC’s Clock -to-Q +

Instruction Memory Access Time +

Register File Access Time +

ALU Delay (address calculation) +

Data Memory Access Time +

Register File Setup Time +

Clock Skew

Ø

O tempo de ciclo para o

load

é muito maior do que o

necessário para as outras instruções

(3)

5

Visionamento abstracto do

nosso processador uniciclo

PC Next PC Register Fetch ALU Reg . Wrt Mem Access Data Mem Instruction Fetch Result Store ALUctr RegDst ALUSrc ExtOp MemWr Zero

nPC_sel MemRd MemWr RegWr

Main Control ALU control op fun Ext

Processador Multiciclo

Ø

exactamente um comando de controlo ou “micro-instrução”

q

Em geral, o controlador é uma máquina de estados finitos

q

Micro-instruções também podem controlar a sequência (ver mais

Lógica de Controlo / Store

(PLA, ROM) OPcode Datapath Instrução Descodifica Condições Pontos de Controlo microinstrução

(4)

7

Onde estamos agora?

Ø

Ø

Tópico das próximas 2 aulas: Projecto do

datapath para um datapath multiciclo

Control Datapath Memory Processor Input Output 8

O que há de errado com o

nosso processador de 1 ciclo?

Ø

Tempo de ciclo longo

Ø

Todas as instruções demoram o mesmo tempo do que

as instruções mais lentas

Ø

Memórias reais não são tão convenientes como a

memória ideal:

q

Nem sempre conseguem ter o trabalho feito num único ciclo “de

curta duração”

PC Inst Memory mux ALU Data Mem mux

PC Inst Memory Reg File mux ALU mux

PC Inst Memory mux ALU Data Mem

PC Inst Memory cmp mux

Reg File

Reg File

Reg File Arithmetic & Logical

Load Store Branch Critical Path setup setup

(5)

9

Tempo de Acesso a Memórias

Ø

Física => memórias rápidas são pequenas

(memórias grandes são lentas)

Ø

Utilização de hierarquias de memórias

Storage Array

selected word line address storage cell bit line sense amps address decoder Cache Processador 1 ciclo proc . bus L2Cache mem . bus 2-3 ciclos 20 - 50 ciclos Memória

Redução do tempo de ciclo

Ø

Dividir o datapath e inserir registos entre cortes

Ø

Ex.: fazer o mesmo trabalho em 2 ciclos rápidos em vez

de 1 ciclo lento

storage element Lógica combinatória Acíclica storage element storage element

=>

Lógica combinatória Acíclica (A) Lógica combinatória Acíclica (B)

(6)

11

Limites

básicos no

tempo de ciclo

Ø

Lógica do próximo endereço

q

PC <= branch ? PC + offset : PC + 4

Ø

Busca da instrução

q

InstructionReg <= Mem[PC]

Ø

Acesso aos registos

q

A <= R[rs]

Ø

Operação da ALU

q

R <= A + B

PC Next PC Operand Fetch Exec Reg . File Mem Access Instruction Fetch ALUctr RegDst ALUSrc ExtOp

nPC_sel MemRd MemWr RegWr

Control

zero

12

Ø

Adicionar registos entre os passos mais

pequenos

PC Next PC Operand Fetch Exec Reg . File Mem Access Instruction Fetch RegDst

nPC_sel ExtOp ALUSrc ALUctr zero MemRd MemWr RegWr

Transformação do datapath de

um ciclo em datapath multiciclo

(7)

13

Ex.: datapath multiciclo

Ø

Caminho crítico?

PC

Next

PC

Operand Fetch

Ext ALU Reg

. File Mem Access Data Mem Instruction Fetch Result Store RegDst

nPC_sel MemRd MemWr RegWr

IR A B R M Reg File MemToReg ALUSrc

ExtOp ALUctr zero

Passos de Execução no

datapath multiciclo

Execução, calculo do endereço, resolução do salto Acesso à memória, finalização de instruções R-type Escreve Resultado Descodificação da Inst./busca de registos Busca da Instrução Acções para saltos condicionais Acções para instruções com acesso a memória Acções para instruções R-type Nome do passo IR = MEM[PC]; PC = PC + 4; A = Reg[IR[25:21]]; B = Reg[IR[20:16]]; Target = PC + (SignEx(IR[15:0]) << 2); ALUout = A op B; ALUout = A + SignEx(IR[15:0]); If(A == B) then PC = Target Reg[IR[15:11]] = ALUout;

Load:mem -data = MEM[ALUout]; ou Store: MEM[ALUout] = B; Load:Reg[IR[20:16]] = mem-data; Tempo

(8)

15

Passos de Execução no

datapath multiciclo

Execução, calculo do endereço, resolução do salto

Acesso à memória, finalização de instruções R-type

Escreve Resultado

Descodificação da Inst./busca de registos

Busca da Instrução

Acções para saltos incondicionais (jump) Nome do passo IR = MEM[PC]; PC = PC + 4; A = Reg[IR[25:21]]; B = Reg[IR[20:16]]; Target = PC + (SignEx(IR[15:0]) << 2); PC = PC[31:28] || IR[25:0] || 00; || representa a concatenação Tempo

Referências

Documentos relacionados

131 6.21 Diferentes condições de erros de magnitude nos fasores de tensão e corrente 133 6.22 Resultados obtidos para o Caso 1 a partir da aplicação do método de Johns/Jamali..

Considerando os importantes conceitos de Writing descritos por Horwitz (2007), nota-se que cada gênero textual tem características próprias, mas todos passam por

Abordou as competências exigidas aos profissionais da informação e novas estratégias de formação (ENCONTRO..., 2000). O IV Encontro de Diretores e Docentes de Escolas

Para garantir a formação do professorado, o meu governo resolveu levantar o edifício básico que é a Escola Normal, que funccionará sob os moldes inteiramente diversos dos que

Através dos processos restaurativos, a responsabilização supera seu conceito tradicional e de viés moral e, de acordo com Sica (2007), isso acontece no momento em que não só

Dedicando-nos ao gesto interpretativo que toma as condições de produção do discurso como de suma importância no processo de significação e buscando entender como os efeitos de

Outro ponto que é por vezes discutido é que o oleo bruto contem algum principio que não permanece no oleo purificado, donde se suppôr o primeiro muito mais activo.. Quando o

 numa abordagem como o CLIL os professores são “levados” a tomar consciência da(s) Língua(s) da Ciência, o que pode tornar a Didática das Ciências mais transparente e