430 likes | 596 Views
Comparação de Conjuntos de Instruções Intel Pentium / Motorola PowerPC. Ana Paula Martins rop64367@mail.telepac.pt Susana Cristina Dias Ribeiro suribeiro@mail.telepac.pt. Tópicos . Introdução Introdução ao Intel – Pentium II Introdução ao PowerPC – MPC750
E N D
Comparação de Conjuntos de InstruçõesIntel Pentium / Motorola PowerPC • Ana Paula Martins rop64367@mail.telepac.pt • Susana Cristina Dias Ribeiro suribeiro@mail.telepac.pt
Tópicos • Introdução • Introdução ao Intel –Pentium II • Introdução ao PowerPC – MPC750 • Pentium II versus MPC750 • Conclusão • Bibliografia
1. Introdução • Estudo do número de instruções, tipo de instruções, modos de endereçamento e número de ciclos de relógio • Intel Pentium II : CISC • Motorola PowerPC MPC750: RISC
2. Introdução ao IntelPentium II Características: • Poucos registos em muitas situações só o acumulador e alguns registos general-purpose • Instruções complexas • Tamanho variável de instruções, onde a instrução é seguida pela informação necessária • Vários modos de acesso à memória (modos de endereçamento)
Instruções do Pentium II • Operandos das instruções mnemónica arg1, arg2, arg3 • Números binários e hexadecimais • Endereços segmentados
Tipos fundamentais de dados: Palavras, palavras duplas e palavras quadruplas Alinhamento de palavras, palavras duplas e palavras quadruplas – não necessitam de serem ordenados na memória Outros tipos de dados numéricos: valores inteiros, inteiros sem sinal, inteiros BCD apontadores: apontadores de 32 bits e apontadores de 48 bits campos de bits: sequência contígua de segmentos de bits (máximo de 32 bits) strings de dados Instruções do Pentium IITipos de dados
Dados com vírgula flutuante – reconhecem conjuntos de reais, inteiros e dados decimais inteiros Instruções do Pentium IITipos de Dados
Endereçamento dos operandos: Colocado em: Na própria instrução No registo Numa posição da memória Numa porta de entrada/saída Especificados implícita e explicitamente na instrução Operandos imediatos Operandos que estão codificados na própria instrução Valor máximo é sempre menor que o valor máximo de uma palavra inteira sem sinal Instruções Pentium II
Instruções Pentium IIRegistos • General-purpose registers • 32 bits: EAX, EBX, ECX, EDX, EBP, ESI, EDI, ESP • 16 bits: AX, BX, CX, DX, SI, DI, SP, BP • 8 bits: AH, BH, CH, DH, AL, BL, CL, DL
Instruções Pentium IIRegistos • Registos de segmentos: CS, DS, SS, ES, FS, GS
Instruções Pentium IIRegistos • Registos EFLAGS • Registo de 32 bits • Contém um grupo de: • flags de estado • flags de controlo • flags de sistema
Instruções lógicas: and Al,imm8 Instruções de comparação: cmp AX,imm16 Instruções de chamadas de procedimento: Guarda o procedimento que liga a informação contida na pilha ao procedimento especificado no operando de destino call rel16 Instruções Pentium II
Instruções de carregamento: lea Instruções de transferência de dados: mov Instruções de controlo e transferência: jmp Instruções aritméticas binárias: add Instruções Pentium II
Instruções de bit e de byte: btr Instruções de armazenamento: fst Instruções de manipulação da pilha: pop Instruções de conversão: Instruções de conversão simples Instruções de deslocamento e de conversão Instruções Pentium II
Instruções aritméticas decimais: Transforma o resultado de uma operação aritmética binária num decimal Instruções de rotação e deslocamento: Reorganizam os bits dentro do operando rcr InstruçõesPentium II
3.Introdução ao PowerPCMPC750 • Desenvolvido por: Apple – IBM – Motorola • Baseado em: arquitectura Power (IBM) - projectada para workstations cientificas - optimizada para operações matemáticas inteiras e de vírgula flutuante - incorpora branch processor
Características doPowerPC • Baixo custo de fabrico quando comparado com o do Power • Arquitectura RISC de elevada performance • Arquitectura load/store (registo-registo) • Conjunto simples de instruções • Modo de endereçamento simples • Grande conjunto de registos
Conjunto de registos do PowerPCNíveis da arquitectura PowerPC • UISA – user instruction architecture • VEA – virtual environment architecture • OEA – operating environment architecture
RegistosUISA • GPRs – general-purpose registers: • Registos de origem ou de destino para todas as instruções de inteiros • Conjunto de 32 GPRs: GPR0-GPR31 • Registo de 32/64 bits para implementações de 32/64 bits
RegistosUISA • FPRs – floating-point registers • Registos de emissão e recepção para todas as instruções de vírgula flutuante • Conjunto de 32 FPRs: FPR0-FPR31 • Registo de 64 bits
RegistosUISA • CR – condition register • Mostram o resultado de certas operações aritméticas e fornecem um mecanismo de teste e propagação • Registo de 32 bits, dividido em 8 campos de 4 bits: CR0-CR7
Registos UISA • FPSCR – floating-point status and control register • Contem todas as interrupções signal bit, summary bits, enable bits e bits de controle necessários à concordância com a norma IEEE754 • Registo de 32 bits
RegistosUISA • XER – XER register • Indica as condições deoverflow e carry para as operações de inteiros, e o número de bytes que são transferidos pelas instruções indexadas de carregamento/armaze-namento • Registo de 32 bits
RegistosUISA • LR – linker register • Registo de 32/64 bits para implementações de 32/64 bits • CTR –counter register • Registo de 32/64 bits para implementações de 32/64 bits
RegistosVEA • Registos UISA • TB – time base (for reading) • Registo de 64 bits, dividido em duas estruturas de 32 bits, TBU e TBL
RegistosOEA • Abrange todos os registos que existem na arquitectura PowerPC
Instruções Inteiras aritméticas de comparação lógicas de rotação e deslocamento add rD,rA,rB Instruções de vírgula flutuante aritméticas multiplicação/adição arredondamento e conversão comparação de estado e controlo fsel frD,frA,frC,frB Conjuntos de Instruções do PowerPC
Instruções carregamento/armaze- namento carregamento e armazenamento de inteiros carregamento e armazenamento múltiplos carregamento e armazenamento de armazenamento de vírgulas flutuantes Primitivas usadas para a construção atómica de operações de memória lbz rD,d(rA) Conjunto de Instruções do PowerPC
Instruções de propagação e de controle de fluxo instruções branching e trap instruções lógicas da condição de registo b target_addr Instruções de controle do processador move de / para SPR move de / para MSR (machine state register) sincronismo carregamento/armaze-namento mfspr rD,SPR Conjunto de Instruções do PowerPC
Instruções de controle de memória de gestão da cache a nível do supervisor da cache a nível de utilizador de manipulação do registo de segmentos de gestão do buffer mtsr SR,rS Conjunto de Instruções do PowerPC
Instruções inteiras Instruções de vírgula flutuante Instruções de carregamento e de armazenamento (load/store) Instruções de propagação e de controle de fluxo Instruções de controle de processador Instruções de controle de memória Conjunto de Instruções do PowerPC
Unidades de execução doMPC750 • FPU - floating-point unit • BPU - branch processing unit • SRU - system register unit • LSU - load / store unit • IU - integer unit • IU1 – executa todas as instruções inteiras • IU2 – executa todas as instruções inteiras com a excepção das instruções de multiplicação e divisão
Registos instruction address breakpoint register (IABR) hardware implementation-dependent register 0 (HID0) hardware implementation-dependent register 1 (HID1) performance monitor registers (MMCR0, UMMCR0, MMCR1, UMMCR1, PMC1-PMC4, UPMC1-UPMC4, SIA, USIA, SDA, USDA) Registos e instruções adicionais aoMPC750
Instruções external control in word indexed,(eciwx) external control out word indexed, (ecowx) floating select, (fsel) floating reciprocal estimate single-precision, (fres) floating reciprocal square root estimate, (frsqrte) store floating-point as integer word, (stfiwx) Registos e instruções adicionais aoMPC750
O Pipeline e o MPC750 Etapas do pipeline: • Captura (fetch) • Descodificação / Despacho (decode/dispach) • Execução (execute) • Conclusão (complete)
Pentium II (CISC) Deixa o restaurante e desce a rua Vira à direita, e em seguida à esquerda Sobe a rua, e entra no último edifício MPC750 (RISC) Deixa o restaurante Desce a rua Vira à direita Vira à esquerda Sobe a rua Entra no último edifício 4. Pentium II versus MPC750Uma situação quotidiana ...
Pentium II add 6,r1 Lê-se o conteúdo de r1, realiza--se a adição, coloca-se o resultado em r1. Se outra instrução requerer o valor original de r1, o valor deste registo deverá ter sido guardado antes de realizar a operação de adição, e então carregado na memória. MPC750 add r3,r2,r1 r1 e r2 são adicionados e o seu resultado é colocado em r3. Como r1 e r2 não são alterados, facilmente podem ser reutilizados. Um exemplo real – a adição
6. Bibliografia • [1] David A. Patterson and John L. Hennessy, Computer Organization & Design – The hardware/software interfece – 2nd edition, Morgan Kaufmann • [2] Intel, Intel Architecture Software Developer’s Manual – Volume 1: Basic Architecture, Intel 1999 • [3] Intel, Intel Architecture Software Developer’s Manual – Volume 2:Instruction Set Reference, Intel 1999 • [4] Motorola, PowerPC Microprocessor Family: The Programming Environments for 32-Bit Microprocessors, Motorola 1997 • [5] Motorola, MPC750 – RISC Microprocessor User’s manual, Motorola 1997 • [6]Página da Motorola: http://www.motorola.com • [7] Página da Intel: http://www.intel.com