1 / 43

Comparação de Conjuntos de Instruções Intel Pentium / Motorola PowerPC

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

cliff
Download Presentation

Comparação de Conjuntos de Instruções Intel Pentium / Motorola PowerPC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Tópicos • Introdução • Introdução ao Intel –Pentium II • Introdução ao PowerPC – MPC750 • Pentium II versus MPC750 • Conclusão • Bibliografia

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

  4. 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)

  5. Instruções do Pentium II • Operandos das instruções mnemónica arg1, arg2, arg3 • Números binários e hexadecimais • Endereços segmentados

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

  7. Dados com vírgula flutuante – reconhecem conjuntos de reais, inteiros e dados decimais inteiros Instruções do Pentium IITipos de Dados

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

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

  10. Instruções Pentium IIRegistos • Registos de segmentos: CS, DS, SS, ES, FS, GS

  11. Instruções Pentium IIRegistos • Registos EFLAGS • Registo de 32 bits • Contém um grupo de: • flags de estado • flags de controlo • flags de sistema

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

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

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

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

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

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

  18. Conjunto de registos do PowerPCNíveis da arquitectura PowerPC • UISA – user instruction architecture • VEA – virtual environment architecture • OEA – operating environment architecture

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

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

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

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

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

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

  25. RegistosVEA • Registos UISA • TB – time base (for reading) • Registo de 64 bits, dividido em duas estruturas de 32 bits, TBU e TBL

  26. RegistosOEA • Abrange todos os registos que existem na arquitectura PowerPC

  27. Conjunto de Registos do PowerPC

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

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

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

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

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

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

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

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

  36. O Pipeline e o MPC750 Etapas do pipeline: • Captura (fetch) • Descodificação / Despacho (decode/dispach) • Execução (execute) • Conclusão (complete)

  37. Fluxo de Instruções

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

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

  40. 5. Conclusão

  41. 5. Conclusão (cont.)

  42. 5. Conclusão (cont.)

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

More Related