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
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