Plano de rigging para a Movimentação de cargas - Manual de Instruções
ARQUITETURA DE COMPUTADORES SOFTWARE PROGRAMA ------------------- ------------------...
Transcript of ARQUITETURA DE COMPUTADORES SOFTWARE PROGRAMA ------------------- ------------------...
ARQUITETURA DE COMPUTADORES
SOFTWARE
PROGRAMA
-------------------
------------------
-------------------
SEQUENCIA DE INSTRUÇÕES
TIPOS DE INSTRUÇÕESMOVIMENTAÇÃO DE DADOS
ARITMETICAS E LOGICAS
DESVIO
CHAMADA E RETORNO DE ROTINAS
ARQUITETURA DE COMPUTADORES
SISTEMAS
EMBUTIDOS OU DEDICADOS
CPU
MEM
E/S
PROGRAMAFIRMWARE
MAQUINA A SER CONTROLADA
NÃO VOLATIL
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
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
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
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
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
RDWR
20
8 BITS
16 BITS
+X16
SS RASC1 T3
= , +1, -1
IP SP SI DI RASC2
CX DX T1 T2 IRAX
ALU
UNID. DE CONTROLE
B. 1
16
8
16
8
820 BITS
1 BIT
B. 2
B. 3B. 4
MOV BX,AX
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
RDWR
20
8 BITS
16 BITS
+X16
SS RASC1 T3
= , +1, -1
IP SP SI DI RASC2
CX DX T1 T2 IRAX
ALU
UNID. DE CONTROLE
B. 1
16
8
16
8
820 BITS
1 BIT
B. 2
B. 3B. 4
MOV CX,[BX]
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
RDWR
20
8 BITS
16 BITS
+X16
SS RASC1 T3
= , +1, -1
IP SP SI DI RASC2
CX DX T1 T2 IRAX
ALU
UNID. DE CONTROLE
B. 1
16
8
16
8
820 BITS
1 BIT
B. 2
B. 3B. 4
MOV CL,37H
ARQUITETURA DE COMPUTADORES
ARITMETICAS E LOGICAS
CS DS ES
BX
FC
B.END
B.DADOS
R.END
R.DADOS
UNID.
DE
INTERF.
MEMORIA
RDWR
20
8 BITS
16 BITS
+X16
SS RASC1 T3
= , +1, -1
IP SP SI DI RASC2
CX DX T1 T2 IRAX
ALU
UNID. DE CONTROLE
B. 1
16
8
16
8
820 BITS
1 BIT
B. 2
B. 3B. 4
ADD AL,BL
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
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
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
CONDIÇÃO INICIAL
AH ALVAR1
BHVAR4
BLVAR3
CHVAR2
CL DH DL
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
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
CONDIÇÃO INICIAL
AHVAR1
ALVAR3
BH BL CHVAR2
CL DH DL
VAR1 = VAR1 + VAR2;
VAR3 = VAR3 – VAR1;
C SOMA E SUBTRAÇÃO DE VARIAVEIS
ADD AH,CH
SUB AL,AH
A
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
CONDIÇÃO INICIAL
AHTEMP
AL BHVAR1
BLVAR2
CHVAR3
CLVAR4
DHVAR5
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
CPU
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
ESTRUTURA DE DADOS
ESCALARES
VETOR
REGISTRADOR
DADOS
MEMORIAREG
DADOS NA MEM. EM END´s CONSECUTIVOS
CPU
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
CONDIÇÃO INICIAL
AH AL BXBASE DO VETOR
CHVAR1
CL DH DL
VAR1 = VAR[12] + VAR[8] + VAR1;
C SOMA DE ELEMENTOS DE VETOR COM ESCALAR
ADD CH,[BX][12]
ADD CH,[BX][8]
A
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
CONDIÇÃO INICIAL
AH AL BXBASE DO VETOR
CHVAR1
CL DH DL SII : INDICE
VAR1 = VAR1 + VAR[I];
C SOMA DE ELEMENTO DE VETOR COM ESCALAR OBS:
INDICE É UMA VARIAVEL
ADD CH,[BX][SI]
A
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
CONDIÇÃO INICIAL
AHI
ALJ
BHF
BLG
CH CLH
DH DL
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:
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
CONDIÇÃO INICIAL
AHI
ALJ
BHF
BLG
CH CLH
DH DL
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
AJMP L2
L1: MOV BH,BL
SUB BH,CL
L2:
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
CONDIÇÃO INICIAL
AXJ
BXEND. BASE
CXH
DH DLG
SII
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
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
CONDIÇÃO INICIAL
AXJ
BXEND. BASE
CX DH DLK
SII
WHILE (SAVE[I] = = K)
I = I + J;
C LOOP WHILE
DLOOP:
CMP [BX][SI],DL
JP NZ SEGUE
ADD SI,AX
AJMP DLOOP
SEGUE:
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
CONDIÇÃO INICIAL
AHF
ALI
BX CHJ
CLH
DH DLTEMP
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
SIk
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
SUB DX,DX ; TEMP =0
ADD SI, DX ; SE K < 0 -> FS =1
JP S D_EXITSWITCH
MOV DX,4
CMP SI,DX ; SE K < 4 -> 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:
ARQUITETURA DE COMPUTADORES
SUPORTE A FUNÇÕES PELO HARDWARE
FUNÇÃO OU SUB-ROTINA: CODIGO REUTILIZAVEL
PROGR. FICA MAIS INTELIGIVELOCUPAÇÃO DE MEM. DIMINUEPROGR. 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
2
34
XXXXXXXXXX
2END. RET. PROGR1
3
4
ARQUITETURA DE COMPUTADORES
SUPORTE A FUNÇÕES PELO HARDWARE
LOCALIZAÇÃO DA LIFO
CPU MEMORIA
LIFOLIFO
MAIS COMUM
LOCALIZAÇÃO DO REG MARCADOR DE TOPO
CPU
TOPO
CPU
NOME DO REG MARCADOR DE TOPO
STACK POINTER (SP)
ARQUITETURA DE COMPUTADORES
SP NA CPU (8080 – SIMPLIFICADA)
PC DC SP
RA VI IR
A B
T1 T2
ALU
FC
UNID. DE CONTROLE
REG´s
B.END
B.DADOS
R.END
R.DADOS
UNID. DE INTERFACE
MEMORIA
RDWR
16
8
8 BITS
16 BITS
CONTR. CONEXÃO
1 BIT
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
RDWR
20
8 BITS
16 BITS
+X16
SS RASC1 T3
= , +1, -1
IP SP SI DI RASC2
CX DX T1 T2 IRAX
ALU
UNID. DE CONTROLE
B. 1
16
8
16
8
820 BITS
1 BIT
B. 2
B. 3B. 4
ARQUITETURA DE COMPUTADORES
INSTRUÇÕES DE CHAMADA E RETORNO DE ROTINA
CHAMADA
CALL NHNL
RETORNO
RET
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
CONDIÇÃO INICIAL
AHF
AL BH BLG
CHH
CLI
DHJ
DLG
SPX
INT EXEMPLO (INT G, INT H, INT I, INT J)
{
INT F;
F = (G + H) – ( I + J);
RETURN F
}
C FUNÇÃO NÃO RECURSIVAPUSH DX
PUSH CX
ADD DL, CH
ADD CL, DH
SUB DL, CL
MOV AH,DL
POP CX
POP DX
RET
A
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
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
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 1O PARAMETRO
PILHA (STACK) LIFO(LAST IN FIRST OUT)
END. 1O PARAMETRO.
END. RET PROGR. SP
BP
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.
RDWR
20
8 BITS
16 BITS
+X16
SS RASC1 T3
= , +1, -1
IP SP SI DI RASC2
CX DX T1 T2 IRAX
ALU
UNID. DE CONTROLE
B. 1
16
8
16
8
820 BITS
1 BIT
B. 2
B. 3B. 4
BP
AH
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
CONDIÇÃO INICIAL
BH BL CHTEMP
CLN
DHJ
DLFACT
SPX
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
ALTEMP1
DESVIO:
SUB CL,1
CALL FACT
ADD CL,1
MOV AL,CL
MUL DL
MOV DL,AL
POP AX
POP CX
RET
ARQUITETURA DE COMPUTADORES
LINGUAGEM C X LINGUAGEM ASSEMBLY
OBS:
N 1
CMP CL,CH ; N <1 FC =1
MUL DL ; AX AL x DL
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
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 =
XX-2X-4X-6X-8X-10X-12X-14X-16X-18X-20X-22X-24
LIFO
SP = X
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 =
XX-2X-4X-6X-8X-10X-12X-14X-16X-18X-20X-22X-24
LIFO
SP =
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 =
XX-2X-4X-6X-8X-10X-12X-14X-16X-18X-20X-22X-24
LIFO
SP =
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
XX-2X-4X-6X-8X-10X-12X-14X-16X-18X-20X-22X-24
LIFO
SP =
POP AX
POP CX
RET
ARQUITETURA DE COMPUTADORES
EXERCICIO 11 CONTINUAÇÃO
ADD CL,1
CL =
MOV AL,CL
AL =
MUL DL
AL =
MOVDL,AL
DL =
XX-2X-4X-6X-8X-10X-12X-14X-16X-18X-20X-22X-24
LIFO
SP =
POP AX
POP CX
CL =
RET
ARQUITETURA DE COMPUTADORES
EXERCICIO 11 CONTINUAÇÃO
ADD CL,1
CL =
MOV AL,CL
AL =
MUL DL
AL =
MOVDL,AL
DL =
XX-2X-4X-6X-8X-10X-12X-14X-16X-18X-20X-22X-24
LIFO
SP =
POP AX
POP CX
CL =
RET
ARQUITETURA DE COMPUTADORES
EXERCICIO 11 CONTINUAÇÃO
ADD CL,1
CL =
MOV AL,CL
AL =
MUL DL
AL =
MOVDL,AL
DL =
XX-2X-4X-6X-8X-10X-12X-14X-16X-18X-20X-22X-24
LIFO
SP =
POP AX
POP CX
CL =
RET