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

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

ARQUITETURA DE COMPUTADORES OTIMIZAÇÃO DE DESEMPENHO ESCALABILIDADE TECNICA QUE PERMITE A EXECUÇÃO SIMULTANEA DE VARIAS INSTRUÇÕES MODULO DE BUSCA DE INSTRUÇÃO.

Apresentações semelhantes


Apresentação em tema: "ARQUITETURA DE COMPUTADORES OTIMIZAÇÃO DE DESEMPENHO ESCALABILIDADE TECNICA QUE PERMITE A EXECUÇÃO SIMULTANEA DE VARIAS INSTRUÇÕES MODULO DE BUSCA DE INSTRUÇÃO."— Transcrição da apresentação:

1 ARQUITETURA DE COMPUTADORES OTIMIZAÇÃO DE DESEMPENHO ESCALABILIDADE TECNICA QUE PERMITE A EXECUÇÃO SIMULTANEA DE VARIAS INSTRUÇÕES MODULO DE BUSCA DE INSTRUÇÃO MEMORIA MODULO 1 DE EXECUÇÃO DE INSTRUÇÃO MODULO 2 DE EXECUÇÃO DE INSTRUÇÃO MODULO N DE EXECUÇÃO DE INSTRUÇÃO

2 ARQUITETURA DE COMPUTADORES ESCALABILIDADE CPU ( NÃO ESCALAR) REG AREG BREG CREG D REG T1REG T2ALU MEM PROGRAMA ADD A,B ADD C,D MEM CONTROLE T1 <- A T2 <- B A <- SALU, SOMA T1 <- C T2 <- D C <- SALU, SOMA MEM PROGRAMA ADD A,B ADD C,A MEM CONTROLE T1 <- A T2 <- B A <- SALU, SOMA T1 <- C T2 <- A C <- SALU, SOMA

3 ARQUITETURA DE COMPUTADORES ESCALABILIDADE 2 CPU ( ESCALAR) REG A1REG B1REG C1REG D1 REG T11REG T21ALU1 MEM PROGRAMA ADD A,B ADD C,D REG AREG BREG CREG D REG A2REG B2REG C2REG D2 REG T12REG T22ALU2 MEM CONTROLE A1<- A, B1<-B T11 <- A1 T21 <- B1 A1 <- SALU1, SOMA A <- A1 MEM CONTROLE C2<- C, D2<-D T12 <- C2 T22 <- D2 C2 <- SALU1, SOMA C <- C2 20% MELHOR

4 ARQUITETURA DE COMPUTADORES ESCALABILIDADE 2 CPU ( ESCALAR) REG A1REG B1REG C1REG D1 REG T11REG T21ALU1 MEM CONTROLE A1<- A,B1 <-B T11 <- A1 T21 <- B1 A1 <- SALU1, SOMA A<- A1 C1<- C,D1 <´D T11 <- C1 T21 <- D1 C1 <- SALU1, SOMA C<- C1 REG AREG BREG CREG D REG A2REG B2REG C2REG D2 REG T12REG T22ALU2 MEM PROGRAMA ADD A,B ADD C,A SOFTWARE NÃO OTIMIZADO RODANDO EM UMA CPU OTIMIZADA PODE TER UM DESEMPENHO PIOR!!! NÃO PODEM SER EXECUTADAS SIMULTANEAMENTE

5 ARQUITETURA DE COMPUTADORES EXECUÇÃO FORA DE ORDEM EXISTINDO MAIS DE UM MODULO, NÃO SE DEVE DEIXAR NENHUM OCIOSO. EXEMPLO COM ESCALABILIDADE 2 PROGR. ADD A,B ADD C,A ADD D,D t MODULO 1 MODULO 2 MODULO 1 EXECUÇÃO FOI FORA DE ORDEM, MAIS OS RESULTADOS DEVEM SER ORDENADOS 2 1 3

6 ARQUITETURA DE COMPUTADORES PARALELISMO NO PROCESSAMENTO DE DADOS MOTIVAÇÃO: PROCESSAMENTO DE IMAGENS = 3 x x 3 6 = 3 x x REGISTRADORES ESPECIAIS INSTR. ESPECIAL : UMA UNICA INSTRUÇÃO TRABALHANDO COM VARIOS PARES DE OPERANDOS SIMULTANEAMENTE X

7 ARQUITETURA DE COMPUTADORES PARALELISMO NO PROCESSAMENTO DE DADOS IMPLEMENTAÇÃO CRIAÇÃO DE UM NOVO CONJUNTO DE INSTRUÇÕES. INSTRUÇÕES QUE POSSAM TRABALHAR COM, POR EXEMPLO, ATÉ 4 PARES DE OPERANDOS AO MESMO TEMPO.INSTRUÇÕES QUE POSSAM TRABALHAR COM BYTES, WORDS E D-WORDS, COM ARITMETICA DE SATURAÇÃO E TRUNCAMENTO. CRIAÇÃO DE UM NOVO CONJUNTO DE REGISTRADORES. CRIAÇÃO DE UM NOVO CONJUNTO DE OPERADORES.

8 ARQUITETURA DE COMPUTADORES PARALELISMO NO PROCESSAMENTO DE DADOS REG1 REG2 REG3 REGN 32 BITS INSTRUÇÕES DO TIPO SIMD OPERANDO COM 4 PARES DE BYTES OPERANDO COM 2 PARES DE WORDS OPERANDO COM 1 PAR DE D-WORDS

9 ARQUITETURA DE COMPUTADORES PARALELISMO NO PROCESSAMENTO DE DADOS REGISTRADOR ALU 3 ALU 2 ALU 1 ALU 0 DECOD. INSTRUÇÃO NOVOS OPERADORES

10 ARQUITETURA DE COMPUTADORES PARALELISMO NO PROCESSAMENTO DE DADOS ARITMETICA DE SATURAÇÃO E TRUNCAMENTO TRUNCAMENTO SATURAÇÃO COR CODIGO

11 ARQUITETURA DE COMPUTADORES MICROROTINAS UMA MICROROTINA É UM MICROPROGRAMA QUE PODE SER REUTILIZADO MAIS DE UMA VEZ POR OUTRO MICROPROGRAMA OU QUE PODE SER UTILIZADO POR VARIOS OUTROS MICROPROGRAMAS. VANTAGEM: ECONOMIZA ESPAÇO NA MEM. DA UNID. DE CONTROLE DESVANTAGEM: PIORA O DESEMPENHO

12 ARQUITETURA DE COMPUTADORES MICROROTINAS EXEMPLO: UMA MICROROTINA QUE IMPLEMENTA RASC <- AX – BX É UTILIZADA COMO PARTE DO MICROPROGRAMA QUE REALIZA RASC <- MAX(AX,BX) E DO MICROPROGRAMA QUE REALIZA AX<- AX –BX NA CPU DO TIPO 8088 MICROPROGRAMA AX <- AX - BX CHAMADA DA uROTINA AL <- RASCL AH <- RASCH MICROROTINA RASC <- AX - BX T1 < - AL T2 <- BL RASCL <- SALU, FC <- BORROW, SUB T1 < - AH T2 <- BH RASCH <- SALU, FC <- BORROW, SUB B RET MICROROTINA RASC <- MAX(AX,BX) CHAMADA uROTINA RASCL <-AL RASCH <- AH, FS=0? RASCL <- BL FS =0 ? RASCH <- BH

13 ARQUITETURA DE COMPUTADORES MICROROTINAS EXERCICIO FAÇA AS ALTERAÇÕES NA MEMORIA E NO SEQUENCIADOR DA UNIDADE DE CONTROLE DE MODO QUE UM MICROPROGRAMA POSSA UTILIZAR UMA UNICA MICROROTINA DISPONIBILIZADA

14 ARQUITETURA DE COMPUTADORES MICROROTINAS ANINHADAS EXEMPLO EXERCICIO: FAÇA ALTERAÇÕES MA MEM. E NO SEQUENCIADOR DA UNID. DE CONTROLE DE MODO QUE SEJAM PERMITIDAS 3 MICROROTINAS E QUE ELAS POSSAM SER ANINHADAS. UM MICROPROGRAMA QUE REALIZA AX <- MAX(AX,BX) CHAMA UMA MICROROTINA QUE IMPLEMENTA RASC <- MAX(AX,BX) QUE POR SUA VEZ CHAMA UMA MICROROTINA QUE IMPLEMENTA RASC <- AX -BX MICROPROGRAMA AX <- MAX(AX,BX) CHAMADA DA uROTINA AL <- RASCL AH <- RASCH MICROROTINA RASC <- MAX(AX,BX) CHAMADA uROTINA RASCL <-AL RASCH <- AH, FS=0? RASCL <- BL FS =0 ? RASCH <- BH RET MICROROTINA RASC <- AX - BX T1 < - AL T2 <- BL RASCL <- SALU, FC <- BORROW, SUB T1 < - AH T2 <- BH RASCH <- SALU, FC <- BORROW, SUB B RET

15 ARQUITETURA DE COMPUTADORES SINAIS ADICIONAIS NO BARRAMENTO DE CONTROLE BREQ (BUS REQUEST) ALGUMAS CPU´s SÃO PROJETADAS PARA TRABALHAR EM UM AMBIENTE COM MULTIPROCESSAMENTO E MEMORIA COMPARTILHADA CPU1CPU2CPU3CPUN MEMORIA BUS DE END., DADO E CONTROLE PROBLEMA: BRIGA PARA ACESSAR A MEMORIA BUS DE END., DADO E CONTROLE

16 ARQUITETURA DE COMPUTADORES SINAIS ADICIONAIS NO BARRAMENTO DE CONTROLE PARA ACABAR COM O CONFLITO É NECESSARIO UM ARBITRADOR DE USO DO BARRAMENTO CPU1CPU2CPU3 MEMORIA ARBITRADOR CPUN BREQ1 BREQ2 BREQ3 BREQN O ARBITRADOR RECEBE PEDIDOS DE BUS (SIMULTANEOS OU NÃO) E CONECTA A MEM. COM A CPU DE MAIOR PRIORIDADE QUE FEZ PEDIDO DE USO DE BUS. AS OUTRAS CPU`s, QUE TAMBEM FIZERAM UM PEDIDO, FICAM AGUARDANDO A SUA VEZ DE USAR O BUS

17 ARQUITETURA DE COMPUTADORES SINAIS ADICIONAIS NO BARRAMENTO DE CONTROLE LOCK CPU1CPU2CPU3 MEMORIA ARBITRADOR CPUN BREQ1 BREQ2 BREQ3 BREQN LOCK1 LOCK2LOCK3 LOCKN SEMAFORO REGISTRO COMPARTILHAMENTO DE DADOS

18 ARQUITETURA DE COMPUTADORES SINAIS ADICIONAIS NO BARRAMENTO DE CONTROLE LOCK PARA ACESSAR A AREA DE MEMORIA CHAMADA DE REGISTRO, ASSOCIADA AO SEMAFORO, UMA CPU DEVE LER O SEMAFORO, VERIFICAR SE ELE ESTA LIVRE E COLOCA-LO COMO OCUPADO, PARA ENTÃO ACESSAR A AREA DE REGISTRO SEM CONCORRENCIA. OUTRA CPU SE QUISER ACESSAR A AREA COMUM DE REGISTRO DEVE, ANTES, LER O SEMAFORO,QUE, NO CASO,ESTARÁ NO ESTADO OCUPADO. ISTO FARÁ COM QUE ESTA OUTRA CPU AGUARDE SUA VEZ. A OPERAÇÃO, POR PARTE DA CPU, DE LER O ESTADO DO SEMAFORO, ALTERAR O ESTADO E ESCREVER O ESTADO ALTERADO NA MEMORIA DEVE SER ATOMICA (INDIVISIVEL), PARA EVITAR QUE ENQUANTO ELA ESTIVER ALTERANDO INTERNAMENTE O ESTADO DO SEMAFORO, POR CONSEGUINTE O BUS ESTARÁ LIVRE, OUTRA CPU TENTE LER O SEMAFORO PARA, ENTÃO, TAMBEM ALTERA-LO, E ACESSAR, TAMBEM, A AREA DE REGISTRO SIMULTANEAMENTE.

19 ARQUITETURA DE COMPUTADORES SINAIS ADICIONAIS NO BARRAMENTO DE CONTROLE LOCK ACESSO ATOMICO ACESSO NÃO ATOMICO PARA ATOMIZAR O ACESSO A MEM. FOI CRIADO O SINAL LOCK (CADEADO). ENQUANTO O LOCK DA CPU QUE GANHOU O BUS PERMANECER ATIVO, O ARBITRADOR NÃO CEDE O BUS PARA OUTRA CPU, MESMO QUE A QUE OBTEVE O BUS NÃO O ESTEJA UTILIZANDO NO MOMENTOO. CPU1 LÊ SEMAFORO (USA O BUS) CPU1 ALTERA SEMAFORO (NÃO USA O BUS) CPU1 ESCR. NO SEMAFORO ( USA O BUS) t CPU1 LÊ SEMAFORO (USA O BUS) CPU1 ALTERA SEMAFORO (NÃO USA O BUS) CPU2 LÊ SEMAFORO ( USA O BUS) CPU1 ESCR. NO SEMAFORO ( USA O BUS) CPU2 ALTERA SEMAFORO (NÃO USA O BUS) CPU2 ESCR. NO SEMAF. ( USA O BUS)

20 ARQUITETURA DE COMPUTADORES SINAIS DA CPU VISTOS ATÉ AGORA CPU BUS END. BUS DADOS MEMRD MEMWR BREQ LOCK HOLD RESET HLDA CLK WAIT

21 ARQUITETURA DE COMPUTADORES CPU CISC x CPU RISC CISC: COMPUTADOR COM CONJUNTO DE INSTRUÇÕES COMPLEXAS CPU SUBSIST. CONTR. SEQUENCIADORMEMORIA CONTR. SUBSIST. DADOS IR

22 ARQUITETURA DE COMPUTADORES CPU CISC x CPU RISC RISC: COMPUTADOR COM CONJUNTO DE INSTRUÇÕES SIMPLES CPU SUBSIST. CONTR. MAQ. DE ESTADOS CONVENCIONAL SUBSIST. DADOS IR DECODIFICADOR

23 ARQUITETURA DE COMPUTADORES CPU CISC x CPU RISC CISC INSTRUÇÕES COMPLEXAS PROGRAMAS MENORES RISC INSTRUÇÕES SIMPLES MAIOR PARALELISMO NA EXECUÇÃO DE INSTRUÇÕES MELHOR DESEMPENHO

24 ARQUITETURA DE COMPUTADORES TRABALHO: PROJETO DE UM MICROCONTROLDOR PIC VDD PB0 VSS PB1 CLKIN PB2 CLKOUT PB3 PA0 PB4 PA1 PB5 PA2 PB6 PA3 PB7 PA4 RESET

25 ARQUITETURA DE COMPUTADORES TRABALHO: PROJETO DE MICROCONTROLADOR PIC ESPECIFICAÇÃO: CPU: RISC MEMORIAS: NÃO VOLATIL PARA PROGRAMA VOLATIL PARA DADOS NÃO VOLATIL PARA DADOS NUMERO DE INSTUÇÕES: 35 PC: PC = PC +1 ; PC= END. DE ROTINA OU END. DE PROGRAMA; PC = END. DE RETORNO NUMERO DE BITS DA INSTUÇÃO : 16 INSTR. ARITM. E LOGICAS: ARQ(1) = ARQ(1) OP ARQ(I) OU ARQ(I) = ARQ(1) OP ARQ(I) I: 0, INSTRUÇÃO DE DADO IMEDIATO: ARQ(1) = DADO IMEDIATO FLAGS: C,Z,D(DECIMAL), E( MEM NÃO VOLATIL DE DADOS OCUPADA COM ESCRITA) BARRAMENTO DE DADOS : 8 BITS

26 ARQUITETURA DE COMPUTADORES TRABALHO: PROJETO DE MICROCONTROLADOR PIC COMPONENTES: 1.MEMORIA DE PROGRAMA: 1K x 16 NÃO VOLATIL FLASH 2.MEMORIA DECODIFICADORA DE INSTRUÇÃO: 64 X 4O BITS 3.REGISTRADOR PARA PC: 10 BITS 4.MUX 4x 1: 10 BITS 5.PILHA LIFO: 8 X 12 BITS, RDPILHA, WRPILHA 6.MEMORIA DE DADOS VOLATIL( ARQUIVO DE REGISTRADORES 1 ENTRADA E 2 SAIDAS): 64 X 8, WARQ, 1 SAIDA SEMPRE FIXA 7. ALU: 8 BITS, 16 OPERAÇÕES 8. MEMORIA NÃO VOLATIL : 64 X 8. RD, WR(ESCRITA LENTA FLAG E), EEPROM 9. REG END. MEM. NÃO VOLATIL: 8 BITS ARQ(62) 10.REG DADOS MEM. NÃO VOLATIL : 8 BITS ARQ(63) 11.PORTA A: 5 BITS ARQ(4) 12.PORTA B : 8 BITS ARQ(5)

27 ARQUITETURA DE COMPUTADORES TRABALHO: PROJETO DE MICROCONTROLADOR PIC PEDE-SE: 1.O PROJETO DO SUBSISTEMA DE DADOS E DO SUBSISTEMA DE CONTROLE 2.O PROJETO DO ARQUIVO DE REGISTRADORES 3.O CAMPO DE CONEXÃO COMPLETAMENTE DECODIFICADO OBS: COMEÇANDO DO BIT 39, EM ORDEM ALFABETICA E COM A SEGUINTE NOTAÇÃO NOME DO BIT(E OU S) 4O CAMPO DE OPERAÇÃO OBS: CONTINUANDO A NUMERAÇÃO 5.O CAMPO DE SINAIS DE CONTROLE OBS:CONTINUANDO A NUMERAÇÃO 6. A MICROINSTRUÇÃO DA INSTRUÇÃO ARQ(1) = ARQ(1) + ARQ(6). EM CASOS DE NÃO IMPORTA, PREENCHA OS BITS COM ZEROS 7. A MICROINSTRUÇÃO DE DESVIO INCONDICIONAL PARA O ENDEREÇO 047H 8. O ACRESCIMO DE UM CIRCUITO E SEU RESPECTIVO CONTROLE DE MODO QUE INSTRUÇÕES DE DESVIO CONDICIONAL RELATIVAS AOS FLAGS C E Z POSSAM SER IMPLEMENTADAS

28 ARQUITETURA DE COMPUTADORES TRABALHO: PROJETO DE MICROCONTROLADOR PIC PEDE-SE: 9. O TCLK, SABENDO QUE O TEMPO DE ACESSO DO ARQ. DE REG´s É DE 30NS PARA LEITURA OU ESCRITA, O TEMPO DE RESPOSTA DA ALU É DE 30NS E O TEMPO DE ACESSO DA MEM. DE PROGRAMA É DE 60NS. 10.IMPLEMENTE UM PIPELINE, DE MODO QUE ENQUANTO UMA INSTRUÇÃO ESTIVER SENDO EXECUTADA, UMA OUTRA DEVE ESSTAR SENDO LIDA DA MEMORIADE PROGRAMA.QUAL É O NOVO PERIODO DE CLK? AO SER DADO O RESET, QUAIS REGISTRADORES DEVEM SER INICIALIZADOS E COM QUE TIPO DE INFORMAÇÃO? 11.COM PIPELINE QUAL A TECNICA QUE DEVE SER UTILIZADA EM CASOS DE DESVIO, DELAY OU ABORTO ? JUSTIFIQUE. 12.O CIRCUITO QUE POSSIBILITA A IMPLEMENTAÇÃO DA TECNICA DE ABORTO.

29 13. O TEMPO GASTO PARA EXECUTAR O PROGRAMA ABAIXO, SEM PIPELINE E COM PIPELINE, SABENDO QUE A(08) = 33H: ARQUITETURA DE COMPUTADORES TRABALHO: PROJETO DE MICROCONTROLADOR PIC W 20H A(07) W W A(08) + W BTFSC C (PULA PROXIMA INSTRUÇÃO SE O FLAG DE CARRY ESTIVER ZERADO) W # W A(08) W


Carregar ppt "ARQUITETURA DE COMPUTADORES OTIMIZAÇÃO DE DESEMPENHO ESCALABILIDADE TECNICA QUE PERMITE A EXECUÇÃO SIMULTANEA DE VARIAS INSTRUÇÕES MODULO DE BUSCA DE INSTRUÇÃO."

Apresentações semelhantes


Anúncios Google