You are on page 1of 44

Universidade Federal de Campina Grande

DSC/CCT/UFCG

Organizao e Arquitetura de Computadores I


O Nvel da Arquitetura do Conjunto das Instrues (ISA)
(Parte I)
Prof.: Joseana Macdo Fechine
joseana@dsc.ufcg.edu.br

Departamento de Sistemas e Computao

Carga Horria: 60 horas

Mquinas Modernas

Multinveis

O Nvel ISA

DSC/CCT/UFCG

Org. e Arq. de Computadores I

O Nvel ISA

Nvel ISA a interface entre o software e o hardware Identificao atual: a arquitetura da mquina Metodologia empregada pelos Arquitetos de Sistemas Aceita-se programas em diversas linguagens de Alto Nvel Traduz-se a linguagem para uma linguagem intermediria - o nvel ISA Constri-se um hardware, com ou sem microprogramao, que executa instrues do nvel ISA. Nesse nvel est definida a interface entre os compiladores e o hardware.
Org. e Arq. de Computadores I

DSC/CCT/UFCG

O Nvel ISA
Nvel ISA - interface entre os compiladores e o hardware

Java
Java

DSC/CCT/UFCG

Org. e Arq. de Computadores I

O Nvel ISA

O Nvel ISA depende de uma negociao entre os projetistas de compiladores e os engenheiros de Hardware.

As novas mquinas devem ser compatveis com: Antigos Sistemas Operacionais Aplicaes j desenvolvidas O desafio construir mquinas melhores e compatveis com as anteriores

DSC/CCT/UFCG

Org. e Arq. de Computadores I

O Nvel ISA
Quais as caractersticas que uma boa ISA deve ter?
1.

Ser implementada com eficincia, tanto nas tecnologias atuais como nas futuras hardware mais simples hardware com melhor tecnologia disponvel Facilidade de se gerar cdigo para a ISA.

2.

DSC/CCT/UFCG

Org. e Arq. de Computadores I

O Nvel ISA
Viso Geral do Nvel
1.

Propriedades do Nvel ISA

O nvel ISA define o aspecto da mquina para um programador de linguagem de mquina


Para gerar cdigo para o nvel ISA o projetista do compilador deve conhecer:
o modelo de memria da mquina quais os registradores que esto implementados os tipos de dados e de instrues disponveis

DSC/CCT/UFCG

Org. e Arq. de Computadores I

O Nvel ISA
Viso Geral do Nvel
1.

Propriedades do Nvel ISA


Tambm afetam o desempenho e devem ser visveis ao projetista do compilador: se a mquina microprogramada ou hardwired se projetada ou no em pipeline superescalar ou no

Para algumas arquiteturas no existe uma documentao formal de especificao fabricante no quer clones de sua mquina (ex: Pentium-Intel)
Org. e Arq. de Computadores I

DSC/CCT/UFCG

O Nvel ISA
Viso Geral do Nvel
1.

Propriedades do Nvel ISA


Para outras arquiteturas o nvel ISA especificado por um documento formal permitindo que diferentes implementadores construam mquinas distintas, rodando o mesmo software (chips funcionalmente idnticos com diferenas em preo e desempenho) O documento formal contm
sees normativas sees informativas conjuntos de testes

DSC/CCT/UFCG

Org. e Arq. de Computadores I

O Nvel ISA
Viso Geral do Nvel
1.

Propriedades do Nvel ISA

Existncia de, no mnimo, dois modos de execuo:


Modo kernel (ou supervisor) usado para executar

o sistema operacional e, portanto, permite que qualquer instruo da mquina seja executada no mesmo.
Modo usurio usado para executar programas de

aplicao e no permite que certas instrues mais sensveis executem no mesmo.

DSC/CCT/UFCG

Org. e Arq. de Computadores I

10

O Nvel ISA
Viso Geral do Nvel
1.

Propriedades do Nvel ISA


O documento com as definies deve informar: O modelo de memria adotado Quantos e quais registradores esto implementados O que cada instruo faz

DSC/CCT/UFCG

Org. e Arq. de Computadores I

11

O Nvel ISA
Modelos de memria

Todos os computadores dividem suas memrias em um conjunto de clulas que tm endereos consecutivos. O tamanho mais comum das clulas de 8 bits (byte).
Os bytes so em geral agrupados em palavras de 4 bytes (32 bits) ou de 8 bytes (64 bits) As palavras de 4 ou 8 bytes podem estar alinhadas ou no alinhadas com as fronteiras naturais da memria.

DSC/CCT/UFCG

Org. e Arq. de Computadores I

12

O Nvel ISA

Endereos

Endereos

Palavra de 8 bytes, alinhada, armazenada no endereo 8

Palavra de 8 bytes, no-alinhada, armazenada no endereo 12

Uma palavra de 8 bytes em uma memria little-endian. (a) Alinhada (b) No Alinhada. Algumas mquinas exigem que as palavras da memria sejam alinhadas.

DSC/CCT/UFCG

Org. e Arq. de Computadores I

13

O Nvel ISA
Modelos de memria

O acesso a memrias alinhadas so mais eficientes.

A leitura de um endereo arbitrrio requer um hardware mais sofisticado e mais caro

Mesmo quando alinhadas, os acessos a memria podem ser no alinhados.

Manuteno de compatibilidade com arquiteturas antigas (mquinas de 8 ou 16 bits)

Semntica

natural esperar que uma instruo LOAD que seja executada aps uma instruo STORE, referenciando o mesmo endereo, retorne o valor que acabou de ser armazenado Porm, existem projetos em que as microinstrues so reordenadas.
14

DSC/CCT/UFCG

Org. e Arq. de Computadores I

O Nvel ISA
Registradores

Memrias rpidas usadas em execuo de instrues dentro do processador (objetivo: minimizar os acessos s memrias externas ao processador). Todos os processadores tm um conjunto de registradores visveis no nvel ISA. Existem para controlar a execuo do programa, para guardar resultados temporrios e para outros propsitos. Em geral, os registradores visveis no nvel de microarquitetura (ex.: TOS e MAR), no so visveis para o nvel ISA. H excees (ex.: PC e SP visveis em ambos os nveis). Os registradores visveis no nvel ISA so sempre visveis no nvel da microarquitetura, uma vez que l que so implementados.
Org. e Arq. de Computadores I

DSC/CCT/UFCG

15

O Nvel ISA
Registradores
Podem ser divididos grosseiramente em 2 categorias

Registradores de propsito especficos


cumprem funes especficas (exemplo o PC e o SP) alguns s so usados pelo processador

Registradores de propsito geral


usados para armazenar variveis locais e resultados intermedirios so, em geral, simtricos e intercambiveis (usados indistintamente)
16

DSC/CCT/UFCG

Org. e Arq. de Computadores I

O Nvel ISA
Registradores

Alm dos registradores do nvel ISA visveis aos programas de usurio, existe sempre um nmero substancial de registradores de propsito especfico disponveis somente no modo kernel. Esses registradores controlam as caches, a memria, os dispositivos de E/S, etc. Registrador de controle hbrido (visvel no modo kernel e no nvel do usurio) PSW (Program Status Word Palavra de Status do Programa) guarda um conjunto diversificado de bits que so necessrios a operao do processador.
Org. e Arq. de Computadores I

DSC/CCT/UFCG

17

O Nvel ISA
Registradores

PSW cdigos de condio


N igual 1, resultado da UAL Negativo Z igual 1, resultado da UAL Zero V - igual 1, ltima operao da UAL gerou oVerflow C - igual 1, ltima operao da UAL gerou vai-um para o bit mais esquerda (Carry) A - igual 1, quando o bit 3 gerou Vai-um para (carry Auxiliar) P - igual 1, ltimo resultado da UAL apresentar Paridade par

DSC/CCT/UFCG

Org. e Arq. de Computadores I

18

O Nvel ISA
Registradores

PSW

Tem mais do que simples cdigos de condio, mas o seu contedo exato varia de mquina para mquina Outros campos tpicos: modo de execuo da mquina (modo kernel ou modo usurio), um bit para especificar o trace (usado para depurar programas), um campo para especificar o nvel de prioridade do processador e um campo para habilitar interrupes. Os campos do PSW podem ser lidos no modo usurio, mas a atualizao de alguns s pode ser realizada no modo kernel.

DSC/CCT/UFCG

Org. e Arq. de Computadores I

19

O Nvel ISA

Os principais registradores do Pentium II

DSC/CCT/UFCG

Org. e Arq. de Computadores I

20

O Nvel ISA
Instrues

O conjunto de instrues controla tudo o que a mquina pode fazer.


Tipos de instrues tpicas:
LOAD, STORE - realizam o movimento de dados e

instrues entre memria e registradores MOVE - realizam cpia de valores entre registros ADD, SUB, MULT,... - realizam operaes aritmticas AND, OR, XOR, ... - realizam operaes lgicas EQ, NEQ, LEQ,... - realizam operaes de comparao GOTO - operao de desvio
21

DSC/CCT/UFCG

Org. e Arq. de Computadores I

O Nvel ISA
Tipos de Dados - Numricos

Inteiros
Comumente de 8, 16, 32 e 64 bits, com sinal e sem

sinal Muitas vezes representados em complemento de 2 Exemplo: Para o caso de 32 bits sem sinal 232 valores inteiros Exemplo: Para caso de 32 bits com sinal 231 valores inteiros mais o sinal

DSC/CCT/UFCG

Org. e Arq. de Computadores I

22

O Nvel ISA
Tipos de Dados - Numricos

Ponto Flutuante
Comumente de

32, 64 e 128 bits, com sinal e

sem sinal Considera-se o sinal, a parte inteira e a parte decimal Podem existir registradores especficos para esses tipos de dados

DSC/CCT/UFCG

Org. e Arq. de Computadores I

23

O Nvel ISA
Inteiro com sinal Inteiro sem sinal Inteiro decimal codificado em binrio Ponto flutuante

Tipos de dados numricos suportados pelo Pentium II


Inteiro com sinal Inteiro sem sinal Inteiro decimal codificado em binrio

Ponto flutuante

Tipos de dados numricos suportados pelo UltraSPARC II


Inteiro com sinal Inteiro sem sinal Inteiro decimal codificado em binrio Ponto flutuante

Tipos de dados numricos suportados pelo JVM


DSC/CCT/UFCG

Org. e Arq. de Computadores I

24

O Nvel ISA
Tipos de Dados No Numricos

Textos ou alfanumricos
Tipicamente usados em processadores de texto,

planilhas e banco de dados Cdigos mais usados atualmente: ASCII (8 bits) e UNICODE (16bits)

DSC/CCT/UFCG

Org. e Arq. de Computadores I

25

O Nvel ISA
Formato de Instrues

Uma instruo formada por:


um cdigo de operao (obrigatrio) informaes a respeito da fonte e do destino de seus

operandos (facultativo) um, dois ou trs endereos.

DSC/CCT/UFCG

Org. e Arq. de Computadores I

26

O Nvel ISA

Quatro formatos de instrues muito comuns: (a) Instruo sem endereo. (b) Instruo com um endereo. (c) Instruo com dois endereos. (d) instruo com trs endereos.

Obs.: OPCODE Cdigo de operao, ADDRESS, ADDR - Endereo


DSC/CCT/UFCG

Org. e Arq. de Computadores I

27

O Nvel ISA

O cdigo de operao informa ao hardware o que deve ser feito quando de sua execuo. As instrues
podem

ter tamanhos diversos (complica o projeto mas tem-se economia de memria) ou podem ser todas de tamanhos iguais (simplifica o projeto, mas desperdia espao. Porque?)

DSC/CCT/UFCG

Org. e Arq. de Computadores I

28

O Nvel ISA

1 palavra Instruo Instruo Instruo Instruo

1 palavra

1 palavra Instruo Instruo Instruo

Instruo
Instruo Instruo Instruo

Instruo
Instruo Instruo Instruo

Algumas das relaes possveis entre o tamanho das instrues e o tamanho das palavras de memria.
Instruo

DSC/CCT/UFCG

Org. e Arq. de Computadores I

29

O Nvel ISA
Critrios para Determinao do Formato de Instrues

Para uma arquitetura ter sucesso comercial


Pode-se querer que ela dure 20 anos ou mais,

mantendo compatibilidades O ISA deve ter a capacidade de suportar o acrscimo de novas instrues O ISA deve ser capaz de explorar novidades ao longo do tempo de vida Algumas decises tomadas quando do projeto ISA podem revelar-se inadequadas ao longo do tempo, principalmente se a tecnologia for incompatvel com a implementao do ISA

DSC/CCT/UFCG

Org. e Arq. de Computadores I

30

O Nvel ISA
Critrios para Determinao do Formato de Instrues

Em geral as instrues pequenas so mais atraentes do que as grandes. Porque?


A banda passante (nmero de bits por segundo que a

memria capaz de liberar) da memria tem crescido menos que a velocidade dos processadores. As memrias atuais no tm a capacidade de suprir instrues e operandos na velocidade que o processador pode consum-las. Um programa feito com instrues de 16 bits gasta metade do espao de memria de um programa com instrues de 32 bits. Deve-se considerar, tambm, a taxa de crescimento do preo de memria e a taxa de crescimento do tamanho dos programas.
DSC/CCT/UFCG

Org. e Arq. de Computadores I

31

O Nvel ISA
Critrios para Determinao do Formato de Instrues

Por outro lado, a minimizao do tamanho das instrues pode dificultar muito a sua decodificao. O projetista obrigado a usar um conjunto restrito de cdigos para as instrues e o projeto pode no ser flexvel para aumento da quantidade de instrues

DSC/CCT/UFCG

Org. e Arq. de Computadores I

32

O Nvel ISA
Importante:
1.

2.

3.

O tamanho ideal de uma instruo deve considerar, alm do preo da memria, o tempo de decodificao e de execuo de uma instruo. Como os processadores modernos so capazes de executar vrias instrues no mesmo ciclo de clock, torna-se imperativo um mecanismo de busca de vrias instrues em cada ciclo de clock (memrias cache) Quando uma instruo tem endereos, o tamanho do endereo deve ser compatvel com o tamanho mximo da memria do computador. Mas, memrias maiores requerem endereos mais longos resultando em instrues maiores.
Org. e Arq. de Computadores I

DSC/CCT/UFCG

33

O Nvel ISA

Formatos de instruo do Pentium II

DSC/CCT/UFCG

Org. e Arq. de Computadores I

34

O Nvel ISA

Formatos de instruo da arquitetura SPARC original

DSC/CCT/UFCG

Org. e Arq. de Computadores I

35

O Nvel ISA

Formatos de instruo da arquitetura JVM


DSC/CCT/UFCG

Org. e Arq. de Computadores I

36

O Nvel ISA
Modos de Endereamento

Como os bits de endereamento so interpretados no processo de localizao do operando?


Endereamento Imediato Endereamento Direto Endereamento Via Registrador Endereamento Indireto Via Registrador


DSC/CCT/UFCG

Endereamento Indexado
Endereamento Base_Indexado Endereamento Via Estrutura de Pilha
37

Org. e Arq. de Computadores I

O Nvel ISA
Endereamento Imediato

O campo de instruo de endereamento contm o valor do operando Esse operando conhecido como operando imediato, pois ele trazido automaticamente da memria, na prpria operao de busca da instruo. Mais usado para especificar constantes de valor pequeno. Porque?

Instruo com operando imediato, para carregar o valor 4 no registrador 1.


DSC/CCT/UFCG

Org. e Arq. de Computadores I

38

O Nvel ISA
Endereamento Direto

O operando armazenado na memria informado pelo seu endereo completo Esse modo de endereamento conhecido como modo de endereamento direto. O endereamento direto s pode ser usado para acessar variveis globais cujo endereo seja conhecido em tempo de compilao. Porque?

DSC/CCT/UFCG

Org. e Arq. de Computadores I

39

O Nvel ISA
Endereamento Via Registrador

, conceitualmente, idntico ao endereamento direto, mas especifica um registrador em vez de um endereo de memria. o modo de endereamento mais usado na maioria dos processadores (mantm-se as variveis mais usadas no processamento e aproveita-se o baixo tempo de acesso e o nmero de bits reduzido dos registradores) no pode ser usado em operaes de carga (LOAD) e armazenamento (STORE) envolvendo memria principal.
40

DSC/CCT/UFCG

Org. e Arq. de Computadores I

O Nvel ISA
Endereamento Indireto Via Registrador

o operando especificado vem da memria ou vai para a memria, mas seu endereo no est gravado na instruo, (como no endereamento direto). O endereo obtido indiretamente a partir do endereo de um registrador de referncia.

por exemplo, quando se tem um loop de manipulao de um array usa-se o endereo do incio do array como referncia e os demais so obtidos indiretamente com base nessa referncia.

DSC/CCT/UFCG

Org. e Arq. de Computadores I

41

O Nvel ISA
Endereamento Indexado

Endereamento de memria a partir do contedo de um registrador (implcito ou explcito) somado a um deslocamento constante.

Endereamento Base-Indexado

Modo de endereamento segundo o qual o endereo de memria calculado somando-se o contedo de dois registradores com um deslocamento (opcional). Um dos registradores o registrador base e o outro o registrador ndice.
Org. e Arq. de Computadores I

DSC/CCT/UFCG

42

O Nvel ISA
Endereamento Via Estrutura de Pilha

Instrues sem endereos explcitos (Exemplo: IADD) so possveis de serem definidas desde que sua execuo esteja associada a uma estrutura de pilha.

DSC/CCT/UFCG

Org. e Arq. de Computadores I

43

O Nvel ISA

Modo de endereamento Imediato Direto Via registrador

Indireto via Registrador


Indexado Base-Indexado Via estrutura de pilha

Comparao de modos de endereamento.

DSC/CCT/UFCG

Org. e Arq. de Computadores I

44

You might also like