Estrutura do tema ISC 1. Representação de informação num

Transcrição

Estrutura do tema ISC 1. Representação de informação num
Introdução aos
Sistemas de Computação (4)
Componentes (físicos) a analisar:
–  a unidade de processamento / o processador:
Estrutura do tema ISC
1. 
2. 
3. 
4. 
5. 
6. 
Análise de componentes
num computador
! o nível ISA (Instruction Set Architecture):
Representação de informação num computador
Organização e estrutura interna dum computador
Execução de programas num computador
O processador e a memória num computador
Da comunicação de dados às redes
Evolução da tecnologia e da eficiência
AJProença, Sistemas de Computação, UMinho, 2014/15
1
tipos e formatos de instruções, acesso a operandos, ...
•  CISC versus RISC
•  paralelismo no processador: pipeline, super-escalaridade, ...
•  paralelismo fora do processador: on-chip e off-chip
–  a hierarquia de memória:
cache, memória virtual, ...
–  periféricos:
•  interfaces humano-computador (HCI)
•  arquivo de informação
•  comunicações (no tema 5...)
AJProença, Sistemas de Computação, UMinho, 2014/15
O processador: análise do nível ISA
(Instruction Set Architecture) (1)
Ex. de código C
Mesmo código em assembly
int sum(int x, int y)
{
int t = x+y;
return t;
}
_sum:
pushl
movl
movl
addl
movl
popl
ret
•  operações num processador?
•  como aceder a operandos?
•  registos visíveis ao programador?
%ebp
%esp,%ebp
12(%ebp),%eax
8(%ebp),%eax
%ebp,%esp
%ebp
O processador: análise do nível ISA
(Instruction Set Architecture) (2)
Operações lógicas/aritméticas num processador
–  nº de operandos em cada instrução
•  3-operandos
•  2-operandos
•  1-operando
•  0-operandos
(RISC, ... )
(IA-32, ... )
(microcontroladores, ...)
(stack-machine, ...)
–  localização dos operandos
•  tipos de instruções presentes num processador?
•  formatos de instruções em linguagem máquina?
•  variáveis escalares (registos...)
•  variáveis estruturadas (memória...)
•  instruções de input/output ?
•  escalares multi-byte em memória?
AJProença, Sistemas de Computação, UMinho, 2014/15
2
3
AJProença, Sistemas de Computação, UMinho, 2014/15
4
O processador: análise do nível ISA
(Instruction Set Architecture) (3)
Modos de aceder a operandos
– em arquiteturas RISC
•  em operações aritméticas/lógicas, operandos sempre em registo
•  em load/store usando 1 ou 2 modos de endereço à memória
O processador: análise do nível ISA
(Instruction Set Architecture) (4)
Registos visíveis ao programador (inteiros)
–  em arquiteturas RISC (32 registos genéricos...)
–  no IA-32
– no IA-32
%bx
AJProença, Sistemas de Computação, UMinho, 2014/15
5
AJProença, Sistemas de Computação, UMinho, 2014/15
O processador: análise do nível ISA
(Instruction Set Architecture) (5)
O processador: análise do nível ISA
(Instruction Set Architecture) (6)
Ex: instruções de transferência de info no IA-32
Tipos de instruções presentes num processador
–  transferência de informação
•  de/para registos/memória, ...
–  operações aritméticas e lógicas
•  soma, subtração, multiplicação, divisão, ...
•  AND, OR, NOT, XOR, comparação, ...
•  deslocamento de bits, ...
–  controlo do fluxo de execução
•  para apoio a estruturas de controlo
•  para apoio à invocação de procedimentos/funções
–  outras...
AJProença, Sistemas de Computação, UMinho, 2014/15
6
mov
S, D
movzbl S, D
movsbl S, D
D"S
D"ZeroExtend(S)
D"SignExtend(S)
push
pop
S
D
%esp " %esp - 4; Mem[%esp] " S
D"Mem[%esp]; %esp "%esp+ 4
lea
S, D
D" &S
D – destino [Reg | Mem]
Move (byte,word,long_word)
Move Zero-Extended Byte
Move Sign-Extended Byte
Push
Pop
Load Effective Address
S – source, fonte [Imm | Reg | Mem]
D e S não podem ser ambos operandos em memória no IA-32
7
AJProença, Sistemas de Computação, UMinho, 2014/15
8
O processador: análise do nível ISA
(Instruction Set Architecture) (7)
Ex: instruções aritméticas/lógicas no IA-32
inc
dec
neg
not
D
D
D
D
D" D +1
D" D –1
D" -D
D" ˜D
Increment
Decrement
Negate
Complement
add
sub
imul
S, D
S, D
S, D
D" D + S
D" D – S
D" D * S
Add
Subtract
32 bit Multiply
and
or
xor
S, D
S, D
S, D
D" D & S
D" D | S
D" D ˆ S
And
Or
Exclusive-Or
shl
sar
shr
k, D
k, D
k, D
D" D << k
D" D >> k
D" D >> k
Left Shift
Arithmetic Right Shift
Logical Right Shift
AJProença, Sistemas de Computação, UMinho, 2014/15
Ex: instruções de controlo de fluxo no IA-32
9
O processador: análise do nível ISA
(Instruction Set Architecture) (9)
Formatos de instruções em linguagem máquina
–  campos duma instrução
OpCode
jmp
Label
je
js
jg
jge
ja
Label
Label
Label
Label
Label
call
ret
Label
%eip " Label
Unconditional jump
Jump if Zero/Equal
Jump if Negative
Jump if Greater (signed >)
Jump if Greater or equal (signed >=)
Jump if Above (unsigned >)
pushl %eip; %eip " Label
popl %eip
Procedure call
Procedure return
AJProença, Sistemas de Computação, UMinho, 2014/15
10
O processador: análise do nível ISA
(Instruction Set Architecture) (10)
Formatos de instruções no Pentium
OpCode Operando (valor/localiz.)
(a)
OpCode Operndo1
O processador: análise do nível ISA
(Instruction Set Architecture) (8)
(b)
Operndo2
OpCode Opndo1 Opndo2 Opndo3
(c)
(d)
–  comprimento das instruções
•  variável (prós e contras; IA-32...)
•  fixo
(prós e contras; RISC...)
–  exemplos de formatos de instruções
AJProença, Sistemas de Computação, UMinho, 2014/15
11
AJProença, Sistemas de Computação, UMinho, 2014/15
12
O processador: análise do nível ISA
(Instruction Set Architecture) (11)
O processador: análise do nível ISA
(Instruction Set Architecture) (12)
Instruções de input/output
Formatos de instruções no MIPS (RISC)
–  finalidade
–  escrita de comandos
–  leitura de estado
–  escrita/leitura de dados
–  específicas (requer sinais de controlo no bus...) ; ou
–  idênticas ao acesso à memória
»  memory mapped I/O
Escalares multi-byte em memória (como ordená-los)
–  little-endian
–  big-endian
AJProença, Sistemas de Computação, UMinho, 2014/15
13
AJProença, Sistemas de Computação, UMinho, 2014/15
14

Documentos relacionados

Slides - boscojr.com

Slides - boscojr.com Hardware (nível da logica digital) executa a instrução Instruções de tamanho fixo Poucas instruções e modo de endereçamento Complexidade esta no compilador Muitos conjuntos de registradores

Leia mais

ISC_6

ISC_6 Componentes (físicos) a analisar: –  a unidade de processamento / o processador:

Leia mais