A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

OTIMIZAÇÃO DE DESEMPENHO

Apresentações semelhantes


Apresentação em tema: "OTIMIZAÇÃO DE DESEMPENHO"— Transcrição da apresentação:

1 OTIMIZAÇÃO DE DESEMPENHO
ARQUITETURA DE COMPUTADORES OTIMIZAÇÃO DE DESEMPENHO PIPELINE TECNICA QUE PERMITE A SOBREPOSIÇÃO TEMPORAL DAS DIVERSAS FASES DE EXECUÇÃO DE INSTRUÇÃO A TECNICA O MODULO OU SUBSISTEMA É DIVIDIDO EM 2 OU MAIS ESTAGIOS, CADA UM DELES SEPARADOS POR LATCHES, DE MODO QUE CADA ESTAGIO TRABALHE COM UM CONJUNTO DE OPERANDOS DIFERENTES

2 PIPELINE NOS MODULOS FUNCIONAIS
ARQUITETURA DE COMPUTADORES PIPELINE NOS MODULOS FUNCIONAIS X4 Y4 X3 Y3 X2 Y2 X1 Y1 SEM PIPELINE LD A LD B RA RB CLK CLK MODULO FUNCIONAL (REALIZA OPERAÇÕES ARITMETICAS E LOGICAS) Δ ATRASO DO MODULO LD C TEMPO GASTO COM OS 4 PARES DE OPERANDOS: 4 Δ RC CLK

3 PIPELINE NOS MODULOS FUNCIONAIS
ARQUITETURA DE COMPUTADORES PIPELINE NOS MODULOS FUNCIONAIS X3 Y3 X1 Y1 X4 Y4 X2 Y2 COM PARALELISMO LD A LD B LD C LD D RA RB RC RD CLK CLK CLK CLK MODULO FUNCIONAL MODULO FUNCIONAL LD C LD E RC RE CLK CLK TEMPO GASTO COM OS 4 PARES DE OPERANDOS: 2 Δ

4 PIPELINE NOS MODULOS FUNCIONAIS
ARQUITETURA DE COMPUTADORES PIPELINE NOS MODULOS FUNCIONAIS X4 Y4 X3 Y3 X2 Y2 X1 Y1 COM PIPELINE 1 LD A LD B 2 RA RB 3 CLK CLK 4 MODULO FUNCIONAL Δ/2 Δ/2 Δ/2 Δ/2 Δ/2 Δ/2 REG´s Δ/2 t TEMPO GASTO COM OS 4 PARES DE OPERANDOS: 2,5 Δ LD C RC CLK

5 PIPELINE x PARALELISMO
ARQUITETURA DE COMPUTADORES PIPELINE x PARALELISMO PIPELINE: ATRASO MAIOR (2,5 Δ), POREM SÓ HOUVE ACRESCIMO DE REGISTRADORES. PARALELISMO: ATRASO MENOR(2 Δ ), POREM FORAM ACRESCENTADOS REGISTRADORES E O MODULO FUNCIONAL FOI DUPLICADO

6 PIPELINE NO SUBSISTEMA DE CONTROLE
ARQUITETURA DE COMPUTADORES PIPELINE NO SUBSISTEMA DE CONTROLE ENQUANTO UMA MICROINSTRUÇÃO ESTÁ SENDO EXECUTADA, A SEGUINTE JÁ ESTÁ SENDO LIDA DA MEMORIA DE CONTROLE. UNIDADE DE CONTROLE SEM PIPELINE MEM DE CONTROLE SUBSIST. DE DADOS SEQ. DA MEM. TEMPO DE MICROINSTRUÇÃO = TEMPO DE BUSCA DE MICROINSTRUÇÃO + TEMPO DE EXECUÇÃO DE MICROINSTRUÇÃO

7 PIPELINE NO SUBSISTEMA DE CONTROLE
ARQUITETURA DE COMPUTADORES PIPELINE NO SUBSISTEMA DE CONTROLE SEM PIPELINE BUSCA MICRO INSTR 1 EXEC. MICRO INSTR 1 BUSCA MICRO INSTR 2 EXEC. MICRO INSTR 2 BUSCA MICRO INSTR 3 EXEC. MICRO INSTR 3 COM PIPELINE t BUSCA MICRO INSTR 1 EXEC. MICRO INSTR 1 BUSCA MICRO INSTR2 EXEC. MICRO INSTR 2 BUSCA MICRO INSTR 3 EXEC. MICRO INSTR 3

8 PIPELINE NO SUBSISTEMA DE CONTROLE
ARQUITETURA DE COMPUTADORES PIPELINE NO SUBSISTEMA DE CONTROLE IMPLEMENTAÇÃO DO PIPELINE ACRESCIMO DE REGISTRADORES NA SAIDA DA MEMORIA DE CONTROLE REGISTRADORES MEM DE CONTROLE SUBSIST. DE DADOS SEQ. DA MEM. TEMPO DE BUSCA DE MICROINSTRUÇÃO TEMPO DE EXECUÇÃO DE MICROINSTRUÇÃO

9 ACERTOS E ERROS NO PIPELINE
ARQUITETURA DE COMPUTADORES ACERTOS E ERROS NO PIPELINE ACERTO NO PIPELINE PROXIMA MICROINSTRUÇÃO EM ENDEREÇO CONHECIDO APRIORI. ERRO NO PIPELINE ENDEREÇO DA PROXIMA MICROINSTRUÇÃO DEPENDE DE RESULTADO DA EXECUÇÃO DA MICROINSTRUÇÃO ATUAL. CORREÇÃO DO ERRO NO PIPELINE USO DE MICROINSTRUÇÃO DE DELAY ( NÃO FAZ NADA) ABORTAR A EXECUÇÃO DA MICROINSTRUÇÃO QUE FOI PREVIAMENTE BUSCADA, CASO O RESULTADO DA EXECUÇÃO ATUAL ASSIM INDIQUE. OBS: ABORTAR SIGNIFICA SUBSTITUIR UMA MICROINSTRUÇÃO POR UMA OUTRA QUE NÃO FAZ NADA, DURANTE A FASE DE EXECUÇÃO.

10 PIPELINE NO SUBSISTEMA DE DADOS
ARQUITETURA DE COMPUTADORES PIPELINE NO SUBSISTEMA DE DADOS ENQUANTO UMA INSTRUÇÃO ESTÁ SENDO EXECUTADA, A SEGUINTE JÁ ESTÁ SENDO LIDA DA MEMORIA DE PROGRAMA SEM PIPELINE MEM PROGRAMA CPU PC IR TEMPO DE INSTRUÇÃO = TEMPO DE BUSCA DE INSTRUÇÃO + TEMPO DE EXECUÇÃO DE INSTRUÇÃO

11 PIPELINE NO SUBSISTEMA DE DADOS
ARQUITETURA DE COMPUTADORES PIPELINE NO SUBSISTEMA DE DADOS SEM PIPELINE BUSCA DE INSTR 1 EXEC. DE INSTR 1 BUSCA DE INSTR 2 EXEC. DE INSTR 2 BUSCA DE INSTR 3 EXEC. DE INSTR 3 COM PIPELINE t BUSCA DE INSTR 1 EXEC. DE INSTR 1 BUSCA DE INSTR2 EXEC. DE INSTR 2 BUSCA DE INSTR 3 EXEC. DE INSTR 3

12 PIPELINE NO SUBSISTEMA DE DADOS
ARQUITETURA DE COMPUTADORES PIPELINE NO SUBSISTEMA DE DADOS IMPLEMENTAÇÃO DO PIPELINE CPU MEM DE PROGRAMA MODULO DE BUSCA DE INSTRUÇÃO SUBSISTCONTR SUBSISTDADOS FIFO REG´s DE ACESSO SEQUENCIAL MODULO DE EXECUÇÃO DE INSTRUÇÃO SUBSISTCONTR SUBSISTDADOS

13 ACERTOS E ERROS NO PIPELINE
ARQUITETURA DE COMPUTADORES ACERTOS E ERROS NO PIPELINE ACERTO NO PIPELINE PROXIMA INSTRUÇÃO EM ENDEREÇO CONSECUTIVO ERRO NO PIPELINE INSTRUÇÃO DE DESVIO (INSTRUÇÃO DE QUEBRA DE SEQUENCIA). CORREÇÃO DO ERRO NO PIPELINE RESET NA FIFO

14 AC1P1P08 ARQUITETURA DE COMPUTADORES AX <- AX + BX AL <- 20
O MODULO DE BUSCA DE INSTRUÇÃO (BIU) FOI PROJETADO PARA BUSCAR INSTRUÇÃO NA MEMORIA E COLOCA-LA NA PILHA FIFO. PEDE-SE: A MICROINSTRUÇÃO DA UNIDADE DE CONTROLE DO MODULO DE BUSCA, SABENDO QUE O CAMPO DE CONEXÃO DEVE SER PARCIALMENTE CODIFICADO (0,5) O SEQUENCIADOR DA UNIDADE DE CONTROLE DO MODULO DE BUSCA (0,5) O MODULO DE EXECUÇÃO (EU) FOI PROJETADO PARA BUSCAR A INSTRUÇÃO NA PILHA E, A SEGUIR , EXECUTÁ-LA. 3. A MICROINSTRUÇÃO DA UNIDADE DE CONTROLE DO MODULO DE EXECUÇÃO, SABENDO QUE O CAMPO DE CONEXÃO DEVE SER PARCIALMENTE DECODIFICADO (1,0) 4. O SEQUENCIADOR DA UNIDADE DE CONTROLE DO MODULO DE EXECUÇÃO (1,0) OS DOIS MODULOS DEVEM TRABALHAR EM CONJUNTO. 5. A MICROINSTRUÇÃO E O SEQUENCIADOR DA BIU (1,0) 6. A MICROINSTRUÇÃO E O SEQUENCIADOR DA EU (1,0) 7. O MICROPROGRAMA DE BUSCA DA BIU E O MICROPROGRAMA DE BUSCA DA EU (1,0) 8. O MICROPROGRAMA DE EXECUÇÃO DA INSTRUÇÃO CALL NHNL, COM AS MODIFICAÇÕES NECESSARIAS NA CPU (2.0) 9. O TEMPO GASTO PARA EXECUTAR O PROGRAMA AO LADO NA CPU CONVENCIONAL E NESTA CPU QUE TEM PIPELINE.....(2,0) AX <- AX + BX AL <- 20 AX <- AX + CX

15 AC1P1P08 BIU EU ARQUITETURA DE COMPUTADORES + 16 CS RASC PC + 16 20 ES
X16 R.END 16 +1/-1 RD AC1P1P08 BIU CS RASC PC FIFO #RP #WP F E N3 N2 N1 N0 UNID. DE CONTROLE LEIT. DE PILHA ESCR. NA PILHA B. 2 PILHA CHEIA PILHA VAZIA B. 1 X16 + NO BYTES NA PILHA 16 20 DS ES SS RASC1 T3 B.END R.END 16 B. 2 8 B.DADOS B. 5 SP SI DI RASC2 = , +1, -1 EU AX BX CX DX T1 T2 IR 8 FZ ALU B. 3 FC 8 B. 4 20 BITS R.DADOS 16 BITS RD 8 BITS UNID. DE CONTROLE WR 1 BIT

16 ESQUECENDO TEMPORARIAMENTE O PIPELINE
ARQUITETURA DE COMPUTADORES ESQUECENDO TEMPORARIAMENTE O PIPELINE INSTRUÇÃO DE DESVIO INCONDICIONAL CONDICIONAL MEM. PROGRAMA FLAG VERDADEIRO MEM. PROGRAMA FLAG FALSO INSTRUÇÃO JP C NH NL MEM. PROGRAMA 28 FC = 1-> PC = NHNL FC = 0 -> PC =PC + 3 COD. BINARIO 28H NL NH

17 INSTRUÇÕES NECESSÁRIAS
ARQUITETURA DE COMPUTADORES INSTRUÇÕES NECESSÁRIAS O CPU -1 DC O INSTRUÇÃO DEC DC MEM COD. BINARIO 29H

18 INSTRUÇÕES NECESSÁRIAS
ARQUITETURA DE COMPUTADORES INSTRUÇÕES NECESSÁRIAS CPU A B = 0 FZ = 1 < 0 FC = 1 > 0 FC = 0 INSTRUÇÃO CMP A , B A - B COD. BINARIO 2AH OBS: NUMEROS S/ SINAL

19 EXERCICIO 8 ARQUITETURA DE COMPUTADORES
FAÇA UM PROGRAMA PARA COMPARAR OS NUMEROS POSITIVOS ARMAZENADOS NOS ENDEREÇOS DE MEMORIA 0100H E 0101H. O MAIOR DEVE SER ARMAZENADO EM 0101H E O MENOR EM 0100H

20 RETOMANDO O PIPELINE PIPELINE NA MEMORIA DE PROGRAMA
ARQUITETURA DE COMPUTADORES RETOMANDO O PIPELINE PIPELINE NA MEMORIA DE PROGRAMA EM GERAL AS INSTRUÇÕES ESTÃO EM ENDEREÇOS CONSECUTIVOS DE MEMORIA ACESSO DE INSTRUÇÃO PASSO A PASSO CPU BUS END. MEM. PROGRAMA END0 END1 END2 BUS DADOS DADO1 DADO0 DADO2 t ACESSO DE INSTRUÇÃO EM RAJADA (BURST) CPU BUS END. MEM. PROGRAMA END0 BUS DADOS DADO0 DADO1 DADO2

21 PIPELINE NA MEMORIA DE PROGRAMA
ARQUITETURA DE COMPUTADORES PIPELINE NA MEMORIA DE PROGRAMA PARA QUE O ACESSO EM RAJADA SEJA POSSIVEL, DEVE EXISTIR UM PIPELINE NA MEMORIA DE PROGRAMA(ENQUANTO UMA INSTRUÇÃO ESTÁ SENDO ENVIADA PARA A CPU, OUTRA ESTÁ SENDO LIDA DA MEMORIA).

22 EXERCICIO 9 ARQUITETURA DE COMPUTADORES
FAÇA O MICROPROGRAMA DE BUSCA DE 4 INSTRUÇÕES EM RAJADA, SABENDO QUE A CPU TEM UMA UNIDADE DE BUSCA E UMA UNIDADE DE EXECUÇÃO. COMPARE OS TEMPOS DE BUSCA COM RAJADA E SEM RAJADA.

23 EXERCICIO 9 SOLUÇÃO ARQUITETURA DE COMPUTADORES
ESTADO B0 B1 B2 B3 B4 C. DE CONEX. REND <- PC , T1 <-PCL PCL <- SALU, FC <- COUT T1 <- PCH PCH <- SALU FIFO <- RDADOS C. DE OPER. INC (T1) INC(T1) C. S. C. RD #RD C. PROX END MUX1| MUX0 |#+1/+2|0/1|HHOLD X X 1 FC=1 FC=0 SEM RAJADA, PARA 4 BUSCAS : 20TCLK

24 EXERCICIO 9 SOLUÇÃO ARQUITETURA DE COMPUTADORES
BUSCA COM RAJADA DE 4: 15TCLK MELHORIA DE 20% C. PROX END MUX1| MUX0 |#+1/+2|0/1|HHOLD X X X X C. DE CONEX. REND <- PC , T1 <-T2 T1 <- SALU, T1 <- SALU FIFO <- RDADOS T1 <-SALU T1<- SALU T2 <- PCL FIFO <-RDADOS PCL <- SALU FC<- COUT T1 <- PCH PCH <- SALU C. DE OPER. SUB INC(T1) INC (T1) SOMA- C. S. C. RD #RD

25 EXERCICIO 10 ARQUITETURA DE COMPUTADORES
FAÇA OS MICROPROGRAMAS DE BUSCA E DE EXECUÇÃO DA INSTRUÇÃO ADD A,B, SABENDO QUE EXISTE UM PIPELINE NA UNIDADE DE CONTROLE DA CPU TIPO 8080 NA CPU, SEM PIPELINE, O PERIODO DE CLOCK É DADO POR: T1 + T2, EM QUE T1: TEMPO DE ACESSO A MEMORIA DA UNIDADE DE CONTROLE T2: TEMPO DE RESPOSTA DA ALU T1 = T2 QUANTO TEMPO É GASTO PARA BUSCAR E EXCUTAR A INSTRUÇÃO ADD A,B COM E SEM PIPELINE

26 GABARITO P/ EXERCICIO SEM PIPELINE .. .. ARQUITETURA DE COMPUTADORES
RENDUC MEM. UNID. CONTR. SEM PIPELINE CLK RENDUC uINSTR END uINSTR__ END uINSTR__ END uINSTR__ END uINSTR__ END uINSTR__ u INSTR__ u INSTR__ u INSTR__ u INSTR__ u INSTR__ u INSTR__ CONEX.ÃO .. OPERAÇÃO PROX. END. CLK ..

27 SOLUÇÃO SEM PIPELINE 9TCLK* ARQUITETURA DE COMPUTADORES RENDUC
MEM. UNID. CONTR. SEM PIPELINE CLK RENDUC 1 2 3 4 5 260 261 262 u INST 1 2 3 4 5 260 261 262 CONEX. REND <-PC T1<- PCL PCL <- SALU FC <- COUT T1 <- PCH PCL <- SALU IR <-RDAD T1 <-A T2<-B A <-SALU FC<-COUT OPER. INC (T1) INC (T1) S. CON RD RD #RD #RD #RD #RD #RD #RD #RD P. END. +1 +1 +2 SE FC=0 +1 +1 IR +1 +1 BUSCA =0 CLK 9TCLK*

28 GABARITO P/ EXERCICIO COM PIPELINE Fclk* = 2Fclk .. CLK* ..
ARQUITETURA DE COMPUTADORES RENDUC GABARITO P/ EXERCICIO MEM. UNID. CONTR. CLK* COM PIPELINE Fclk* = 2Fclk RENDUC ENDEREÇO uINSTR__ ENDEREÇO uINSTR__ ENDEREÇO uINSTR__ ENDEREÇO uINSTR__ RENDUC uINSTR__ u INSTR__ u INSTR__ u INSTR__ u INSTR__ u INSTR__ u INSTR__ CONEX.ÃO .. OPERAÇÃO PROX. END. CLK* ..

29 SOLUÇÃO COM PIPELINE 11 TCLK*  5,5 TCLK ARQUITETURA DE COMPUTADORES
RENDUC MEM. UNID. CONTR. COM PIPELINE CLK* RENDUC 1 2 3 4 5 6 7 260 261 262 u INST 1 2 3 4 5 6 7 260 261 262 CONEX. REND <-PC T1<- PCL PCL <- SALU FC <- COUT T1 <- PCH PCH<- SALU IR <- RDAD T1 <-A T2 <-B A <- SALU FC<-COUT OPER. INC (T1) S. CON RD RD #RD #RD #RD #RD #RD #RD #RD #RD #RD P. END. +1 +1 +2 SE FC=0 +1 +1 +1 IR +1 +1 BUSCA = 0 +1 CLK* 11 TCLK*  5,5 TCLK MICROINSTRUÇÃO DE DELAY


Carregar ppt "OTIMIZAÇÃO DE DESEMPENHO"

Apresentações semelhantes


Anúncios Google