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

Slides:



Advertisements
Apresentações semelhantes
Parte 1: Organização de Computadores
Advertisements

Modelos de Microprocessadores
Arquitetura de Computadores
Nível de arquitetura do conjunto de instrução
Arquitetura e organização de computadores.
Execução de Programas Partes de um programa: ‣ Dados
Arquitetura de Computadores
SOFTWARE BÁSICO.
O Conjunto de Instruções
1 O Conjunto de Instruções ISA – Instruction Set Architecture.
0. Introdução.
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 03: Computador.
Software Básico Silvio Fernandes
Unidade Lógica e Aritmética Introdução à Ciência da Computação
ARQUITETURAS RISC E CISC
Arquitetura dos Microprocessadores 8086 e 8088
Arquitetura dos Microprocessadores 8086 e 8088 Sistemas Embarcados.
Arquitetura dos Microprocessadores 8086 e 8088
Arquitetura de Sistemas Operacionais
Processador Intel Itanium
Daniel M. Aquino, Marcelo C. Perez, Thais A. B. Fernandes
Sistemas Operacionais
Professor: Erivelto Tschoeke – UDESC/CEPLAN
O MICROPROCESSADOR INTEL 8080
Sistemas Digitais Microprocessados
REPRESENTAÇÃO DE INSTRUÇÕES
Arquitetura de Sistemas Operacionais
Assembly x86.
Autor: Fernando de Mesentier Silva
A arquitectura IA32 A arquitectura de um processador é caracterizada pelo conjunto de atributos que são visíveis ao programador. Tamanho da palavra Número.
Instruções: A Linguagem de Máquina – Aula 01
Processadores – Aula 3 Professor: André Luis Meneses Silva
Processadores – Aula 3 Professor: André Luis Meneses Silva
Sistemas Operacionais I
Linguagem de Montagem.
Representação de Instruções
Unidade Central de Processamento UCP
ORGANIZAÇÃO DE COMPUTADORES
Sistemas Operacionais I
Prática de Programação Assembly 8086
Organização e Arquitetura de Computadores
Organização e Arquitetura de Computadores
Processamento de dados na UCP e memória UCP
Unidade Central De Processamento: Processador
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Unidade Central De Processamento: Processador
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Arquitetura de Computadores
Organização e Arquitetura de Computadores
Microprocesadores x Microcontroladores
8088 Assembly Software Básico Mitsuo Takaki.
Arquitetura de Computadores 2009 Infra-estrutura Hardware
8 - 1 Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM A pilha e subrotinas.
Nível ISA.
Parte 3 Seção de Dados e Unidade de Controle
1. Introdução O processador é o componente vital do sistema de computação, responsável pela realização das operações de processamento (os cálculos matemáticos.
Arquitetura de Computadores
Existem 8 registos principais de 32 bits no processador (existem mais como %EIP): %EAX %EBX %ECX %EDX %ESI %EDI %EBP %ESP Os registos são armazenados em.
Afonso Ferreira Miguel
Arquitetura de computadores
Arquitetura de Sistemas Operacionais
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
A linguagem de Máquina – Instruções Básicas
Arquitetura do ARM RISC (Reduced Instruction Set Computer) – Conjunto relativamente grande de registradores – Modelo “load/store “de processamento Operações.
Introdução ao Processamento Vetorial
 Evolução constante das linguagens de programação de alto nível (LAN) desde o Fortran (primeira LAN)  Surgimento de novos paradigmas como a OO, Orientação.
Ney Laert Vilar Calazans Exemplo de Apresentação de TP1 Descrição Resumida de uma Arquitetura de Processador: o estudo de caso do Intel 8086 ORGANIZAÇÃO.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Construção de Via de dados Trabalho Avaliativo do Primeiro Bimestre. Marcos André de Sena Silva.
Transcrição da apresentação:

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

Instruções do Pentium II Tipos de dados 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 II Tipos de Dados Dados com vírgula flutuante – reconhecem conjuntos de reais, inteiros e dados decimais inteiros

Instruções Pentium II Endereçamento dos operandos: Operandos imediatos 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 Registos 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 II Registos Registos de segmentos: CS, DS, SS, ES, FS, GS

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

Instruções Pentium II Instruções lógicas: Instruções de comparação: 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

3. Introdução ao PowerPC MPC750 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 do PowerPC 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 PowerPC Níveis da arquitectura PowerPC UISA – user instruction architecture VEA – virtual environment architecture OEA – operating environment architecture

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

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

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

Registos UISA XER – XER register Indica as condições de overflow 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

Registos UISA LR – linker register CTR –counter register Registo de 32/64 bits para implementações de 32/64 bits CTR –counter register

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

Registos OEA Abrange todos os registos que existem na arquitectura PowerPC

Conjunto de Registos do PowerPC

Conjuntos de Instruções do 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

Conjunto 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

Unidades de execução do MPC750 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 e instruções adicionais ao MPC750 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 ao MPC750 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)

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

Fluxo de Instruções

4. Pentium II versus MPC750 Uma situação quotidiana ... 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

Um exemplo real – a adição 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.

5. Conclusão Pentium II MPC750 Qualquer instrução pode referenciar a memória (register-memory) Muitas instruções e muitos modos de endereçamento MPC750 Só carregamentos e armazenamentos podem referenciar a memória (load-store) Poucas instruções e poucos modos de endereçamento

5. Conclusão (cont.) Instruções complexas que fazem uso de vários ciclos de relógio Instruções interpretadas por microprogramas Sem uso (ou muito pouco) do pipeline Instruções simples que fazem uso de um só ciclo de relógio Instruções executadas por hardware Grande uso do pipeline

5. Conclusão (cont.) Pequeno conjunto de registos A complexidade apresenta-se no microprograma Poucas instruções para a concretização de um objectivo Grande conjunto de registos A complexidade apresenta-se no compilador Muitas instruções para a concretização de um objectivo

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