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

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

ARQUITETURA DE COMPUTADORES SOFTWARE PROGRAMA ------------------- ------------------ ------------------- SEQUENCIA DE INSTRUÇÕES TIPOS DE INSTRUÇÕES MOVIMENTAÇÃO.

Apresentações semelhantes


Apresentação em tema: "ARQUITETURA DE COMPUTADORES SOFTWARE PROGRAMA ------------------- ------------------ ------------------- SEQUENCIA DE INSTRUÇÕES TIPOS DE INSTRUÇÕES MOVIMENTAÇÃO."— Transcrição da apresentação:

1 ARQUITETURA DE COMPUTADORES SOFTWARE PROGRAMA SEQUENCIA DE INSTRUÇÕES TIPOS DE INSTRUÇÕES MOVIMENTAÇÃO DE DADOS ARITMETICAS E LOGICAS DESVIO CHAMADA E RETORNO DE ROTINAS

2 ARQUITETURA DE COMPUTADORES SISTEMAS EMBUTIDOS OU DEDICADOS CPU MEM E/S PROGRAMA FIRMWARE MAQUINA A SER CONTROLADA NÃO VOLATIL

3 ARQUITETURA DE COMPUTADORES SISTEMAS PROPOSITO GERAL CPU MEM E/S BIOS PROGRAMAS FLASH, NÃO VOLATIL MEMORIA SEMICONDUTORA ESTATICA, DINAMICA, VOLATIL DISCO RIGIDO SIST. OPERACIONAL APLICATIVOS REDE MODEM TECLADO MONITOR MOUSE

4 ARQUITETURA DE COMPUTADORES APLICATIVOS GERAÇÃO BAIXO NIVEL PROGRAMA EDITADO EM LING. ASSEMBLY* PROGRAMA ASSEMBLER CODIGO DE MAQUINA * NESTA LINGUAGEM,CADA COMANDO CORRESPONDE A UM CODIGO DE MAQUINA

5 ARQUITETURA DE COMPUTADORES APLICATIVOS GERAÇÃO ALTO NIVEL PROGRAMA EDITADO, ( POR EXEMPLO ), EM LING. C* PROGRAMA COMPILADOR C CODIGO DE MAQUINA * NESTA LINGUAGEM,CADA COMANDO CORRESPONDE A VARIOS CODIGOS DE MAQUINA

6 ARQUITETURA DE COMPUTADORES INSTRUÇÕES MOVIMENTAÇÃO DE DADOS ARITMETICAS LOGICAS DESVIO CHAMADA DE ROTINA RETORNO DE ROTINA MANIPULAÇÃO DE PILHA ENTRADA E SAIDA ESPECIAIS

7 ARQUITETURA DE COMPUTADORES MOVIMENTAÇÃO DE DADOS – ENTRE REG`s CS DS ES BX FC B.END B.DADOS R.END R.DADOS UNID. DE INTERF. MEMORIA RD WR 20 8 BITS 16 BITS + X16 SS RASC1 T3 =, +1, - 1 IPSPSIDI RASC2 CXDXT1T2IRAX ALU UNID. DE CONTROLE B BITS 1 BIT B. 2 B. 3 B. 4 MOV BX,AX

8 ARQUITETURA DE COMPUTADORES MOV. DE DADOS – ENTRE REG E MEMORIA CS DS ES BX FC B.END B.DADOS R.END R.DADOS UNID. DE INTERF. MEMORIA RD WR 20 8 BITS 16 BITS + X16 SS RASC1 T3 =, +1, - 1 IPSPSIDI RASC2 CXDXT1T2IRAX ALU UNID. DE CONTROLE B BITS 1 BIT B. 2 B. 3 B. 4 MOV CX,[BX]

9 ARQUITETURA DE COMPUTADORES MOV. DE DADOS – DADO IMEDIATO CS DS ES BX FC B.END B.DADOS R.END R.DADOS UNID. DE INTERF. MEMORIA RD WR 20 8 BITS 16 BITS + X16 SS RASC1 T3 =, +1, - 1 IPSPSIDI RASC2 CXDXT1T2IRAX ALU UNID. DE CONTROLE B BITS 1 BIT B. 2 B. 3 B. 4 MOV CL,37H

10 ARQUITETURA DE COMPUTADORES ARITMETICAS E LOGICAS CS DS ES BX FC B.END B.DADOS R.END R.DADOS UNID. DE INTERF. MEMORIA RD WR 20 8 BITS 16 BITS + X16 SS RASC1 T3 =, +1, - 1 IPSPSIDI RASC2 CXDXT1T2IRAX ALU UNID. DE CONTROLE B BITS 1 BIT B. 2 B. 3 B. 4 ADD AL,BL

11 ARQUITETURA DE COMPUTADORES DESVIO – CONDICIONAL E INCONDICIONAL INSTRUÇÕES FLAG DE CARRY (FC) ALTERADO JP C NHNL NHNL FC=1 JMP XHXL FC=0 XHXL

12 ARQUITETURA DE COMPUTADORES CHAMADA DE ROTINA / RETORNO DE ROTINA INSTRUÇÕES CALL NHNL NHNL RET NA CHAMADA DA ROTINA O ENDEREÇO DE RETORNO DEVE SER PRESERVADO

13 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AHAL VAR1 BH VAR4 BL VAR3 CH VAR2 CLDHDL VAR1 = VAR1 + VAR2 + VAR3 + VAR4; C SOMA DE VARIAVEIS ADD AL,CH ADD AL,BL ADD AL,BH A OBS: POR SIMPLICIDADE, NÃO FOI LEVADO EM CONTA OS CARRY´s GERADOS PELAS SOMAS

14 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH VAR1 AL VAR3 BHBLCH VAR2 CLDHDL VAR1 = VAR1 + VAR2; VAR3 = VAR3 – VAR1; C SOMA E SUBTRAÇÃO DE VARIAVEIS ADD AH,CH SUB AL,AH A

15 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH TEMP ALBH VAR1 BL VAR2 CH VAR3 CL VAR4 DH VAR5 DL VAR5 = (VAR1 + VAR2) – (VAR3 + VAR4); C SOMA E SUBTRAÇÃO DE VARIAVEIS, OBEDECENDO A PRECEDENCIA. OBS: AS VARIAVEIS DEVEM SER PRESERVADAS MOV DH,BH ADD DH,BL MOV AH,CH ADD AH,CL SUB DH,AH A

16 CPU ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY ESTRUTURA DE DADOS ESCALARES VETOR REGISTRADOR DADOS MEMORIA REG DADOS NA MEM. EM END´s CONSECUTIVOS CPU

17 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AHALBX BASE DO VETOR CH VAR1 CLDHDL VAR1 = VAR[12] + VAR[8] + VAR1; C SOMA DE ELEMENTOS DE VETOR COM ESCALAR ADD CH,[BX][12] ADD CH,[BX][8] A

18 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AHALBX BASE DO VETOR CH VAR1 CLDHDLSI I : INDICE VAR1 = VAR1 + VAR[I]; C SOMA DE ELEMENTO DE VETOR COM ESCALAR OBS: INDICE É UMA VARIAVEL ADD CH,[BX][SI] A

19 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH I AL J BH F BL G CHCL H DHDL IF (I = = J) GOTO L1; F = G + H; L1: F = G – H; C DESVIO CONDICIONAL CMP AH,AL JP NZ L1 A LABEL OU ROTULO I = J FZ =1 I J FZ = 0 MOV BH,BL ADD BH,CL JMP L2 L1: MOV BH,BL SUB BH,CL L2:

20 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH I AL J BH F BL G CHCL H DHDL IF (I= = J) F = G + H; ELSE F = G - H; C IF THEN ELSE CMP AH,AL JP NZ L1 MOV BH,BL ADD BH,CL A JMP L2 L1: MOV BH,BL SUB BH,CL L2:

21 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AX J BX END. BASE CX H DHDL G SI I LOOP:G = G + A[I]; I = I + J; IF(I != H) GOTO LOOP; C LOOP COM ELEM. DE VETOR INDEXADO ADD DL,[BX][SI] ADD SI,AX A CMP SI,CX JP NZ LOOP

22 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AX J BX END. BASE CXDHDL K SI I WHILE (SAVE[I] = = K) I = I + J; C LOOP WHILE DLOOP: CMP [BX][SI],DL JP NZ SEGUE ADD SI,AX A JMP DLOOP SEGUE:

23 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH F AL I BXCH J CL H DHDL TEMP SWITCH(K) { CASE 0 : F = I + J; BREAK CASE 1 : F = J + H; BREAK CASE 2 : F =J - H; BREAK CASE 3 : F = I - J; BREAK } C SWITCH CASE L2 (2BYTES) L1 (2BYTES) L0 (2BYTES) L3 (2BYTES) END BASE DA TAB DE DESVIO MEMORIA SI k

24 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY SUB DX,DX ; TEMP =0 ADD SI, DX ; SE K FS =1 JP S D_EXITSWITCH MOV DX,4 CMP SI,DX ; SE K FC = 1 JP NC D_EXITSWITCH JMP [BX] [ 2 * SI] L0: MOV AH,AL ADD AH,CL JMP D_EXITSWITCH A L1: MOV AH,CH ADD AH,CL JMP D_EXITSWITCH L2: MOV AH,CH SUB AH,CL JMP D_EXITSWITCH L3: MOV AH,AL SUB AH,CH JMP D_EXITSWITCH D_EXITSWITCH:

25 ARQUITETURA DE COMPUTADORES SUPORTE A FUNÇÕES PELO HARDWARE FUNÇÃO OU SUB-ROTINA: CODIGO REUTILIZAVEL PROGR. FICA MAIS INTELIGIVEL OCUPAÇÃO DE MEM. DIMINUE PROGR. FICA MAIS LENTO MEMORIA PROGRAMA CALL FUNÇÃO1 PILHA (STACK) LIFO (LAST IN FIRST OUT) TOPO END. RET. FUNÇÃO1 MEMORIA FUNÇÃO1 CALL FUNÇÃO2 RET 1 MEMORIA FUNÇÃO2 RET XXXXXXXXXX 2 END. RET. PROGR 1 3 4

26 ARQUITETURA DE COMPUTADORES SUPORTE A FUNÇÕES PELO HARDWARE LOCALIZAÇÃO DA LIFO CPU MEMORIA LIFO MAIS COMUM LOCALIZAÇÃO DO REG MARCADOR DE TOPO CPU TOPO CPU NOME DO REG MARCADOR DE TOPO STACK POINTER (SP)

27 ARQUITETURA DE COMPUTADORES SP NA CPU (8080 – SIMPLIFICADA ) PC DC SP RA VIIR AB T1T2 ALU FC UNID. DE CONTROLE REG´s B.END B.DADOS R.END R.DADOS UNID. DE INTERFACE MEMORIA RD WR BITS 16 BITS CONTR. CONEXÃO 1 BIT

28 ARQUITETURA DE COMPUTADORES SP NA CPU (8088 – SIMPLIFICADA ) CS DS ES BX FC REG´s B.END B.DADOS R.END R.DADOS UNID. DE INTERF. MEMORIA RD WR 20 8 BITS 16 BITS + X16 SS RASC1 T3 =, +1, - 1 IPSPSIDI RASC2 CXDXT1T2IRAX ALU UNID. DE CONTROLE B BITS 1 BIT B. 2 B. 3 B. 4

29 ARQUITETURA DE COMPUTADORES INSTRUÇÕES DE CHAMADA E RETORNO DE ROTINA CHAMADA CALL NHNL RETORNO RET

30 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL AH F ALBHBL G CH H CL I DH J DL G SP X INT EXEMPLO (INT G, INT H, INT I, INT J) { INT F; F = (G + H) – ( I + J); RETURN F } C FUNÇÃO NÃO RECURSIVA PUSH DX PUSH CX ADD DL, CH ADD CL, DH SUB DL, CL MOV AH,DL POP CX POP DX RET A

31 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CHAMADA DA FUNÇÃO EXEMPLO (G, H, I,J) C FUNÇÃO NÃO RECURSIVA CALL EXEMPLO A

32 ARQUITETURA DE COMPUTADORES INSTRUÇÕES DE MANIPULAÇÃO DE PILHA ARMAZENAR NA PILHA PUSH REG (16 bits) RETIRAR DA PILHA POP REG (16 bits) USO : PRESERVAR O CONTEUDO DE REGISTRADORES DO PROGRAMA CHAMADOR QUE TAMBEM SÃO UTILIZADOS PELA ROTINA CHAMADA OBS: POP´s NA ORDEM INVERSA DOS PUSH´s

33 ARQUITETURA DE COMPUTADORES PASSAGEM DE PARAMETROS PELA PILHA QUANDO O NUMERO DE PARAMETROS É MAIOR DO QUE O NUMERO DE REGISTRADORES DA CPU, O PROGRAMA CHAMADOR COLOCA OS PARAMETROS NA PILHA E ARMAZENA NO REGISTRADOR BP( BASE POINTER) DA CPU O ENDEREÇO DA PILHA RELATIVO AO 1 O PARAMETRO PILHA (STACK) LIFO(LAST IN FIRST OUT) END. 1 O PARAMETRO. END. RET PROGR. SP BP

34 ARQUITETURA DE COMPUTADORES BP NA CPU (8088 – SIMPLIFICADA ) CS DS ES BX FC REG´s B.END B.DADOS R.END R.DADOS UNID. DE INTERF. RD WR 20 8 BITS 16 BITS + X16 SS RASC1 T3 =, +1, - 1 IPSPSIDI RASC2 CXDXT1T2IRAX ALU UNID. DE CONTROLE B BITS 1 BIT B. 2 B. 3 B. 4 BP

35 AH ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY CONDIÇÃO INICIAL BHBLCH TEMP CL N DH J DL FACT SP X INT FACT (INT N) { IF ( N< 1) RETURN (1) ELSE RETURN (N X FACT(N-1); } C FUNÇÃO RECURSIVA: FATORIAL FACT: PUSH CX PUSH AX MOV CH,1 CMP CL,CH JP NC DESVIO MOV DL,1 POP AX POP CX RET A AL TEMP1 DESVIO: SUB CL,1 CALL FACT ADD CL,1 MOV AL,CL MUL DL MOV DL,AL POP AX POP CX RET

36 ARQUITETURA DE COMPUTADORES LINGUAGEM C X LINGUAGEM ASSEMBLY OBS: N 1 CMP CL,CH ; N <1 FC =1 MUL DL ; AX AL x DL

37 ARQUITETURA DE COMPUTADORES EXERCICIO 11 PREENCHA OS QUADROS ABAIXO A MEDIDA QUE A ROTINA FACT ESTIVER SENDO EXECUTADA PARA N=3, DESDE A SUA CHAMADA. OBS: FACT(0)= 1, FACT(1) = 1x FACT(0) = 1, FACT(2) = 2x FACT(1) = 2, FACT(3) = 3x FACT(2) = 6 CL =3 DL = FACT SP =X

38 ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO CALL FACT CL = 3 PUSH CX PUSH AX MOV CH,1 CH = 1 CMP CL,CH FC = JNC DESVIO SUB CL,1 CL = X X-2 X-4 X-6 X-8 X-10 X-12 X-14 X-16 X-18 X-20 X-22 X-24 LIFO SP = X

39 ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO CALL FACT CL = PUSH CX PUSH AX MOV CH,1 CH = 1 CMP CL,CH FC = JNC DESVIO SUB CL,1 CL = X X-2 X-4 X-6 X-8 X-10 X-12 X-14 X-16 X-18 X-20 X-22 X-24 LIFO SP =

40 ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO CALL FACT CL = PUSH CX PUSH AX MOV CH,1 CH = 1 CMP CL,CH FC = JNC DESVIO SUB CL,1 CL = X X-2 X-4 X-6 X-8 X-10 X-12 X-14 X-16 X-18 X-20 X-22 X-24 LIFO SP =

41 ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO CALL FACT CL = PUSH CX PUSH AX MOV CH,1 CH= 1 CMP CL,CH FC = JNC DESVIO MOV DL,1 DL = 1 X X-2 X-4 X-6 X-8 X-10 X-12 X-14 X-16 X-18 X-20 X-22 X-24 LIFO SP = POP AX POP CX RET

42 ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO ADD CL,1 CL = MOV AL,CL AL = MUL DL AL = MOVDL,AL DL = X X-2 X-4 X-6 X-8 X-10 X-12 X-14 X-16 X-18 X-20 X-22 X-24 LIFO SP = POP AX POP CX CL = RET

43 ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO ADD CL,1 CL = MOV AL,CL AL = MUL DL AL = MOVDL,AL DL = X X-2 X-4 X-6 X-8 X-10 X-12 X-14 X-16 X-18 X-20 X-22 X-24 LIFO SP = POP AX POP CX CL = RET

44 ARQUITETURA DE COMPUTADORES EXERCICIO 11 CONTINUAÇÃO ADD CL,1 CL = MOV AL,CL AL = MUL DL AL = MOVDL,AL DL = X X-2 X-4 X-6 X-8 X-10 X-12 X-14 X-16 X-18 X-20 X-22 X-24 LIFO SP = POP AX POP CX CL = RET


Carregar ppt "ARQUITETURA DE COMPUTADORES SOFTWARE PROGRAMA ------------------- ------------------ ------------------- SEQUENCIA DE INSTRUÇÕES TIPOS DE INSTRUÇÕES MOVIMENTAÇÃO."

Apresentações semelhantes


Anúncios Google