Professional Documents
Culture Documents
DSC/CCT/UFCG
Mquinas Modernas
Multinveis
O Nvel ISA
DSC/CCT/UFCG
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
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
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
O Nvel ISA
Viso Geral do Nvel
1.
DSC/CCT/UFCG
O Nvel ISA
Viso Geral do Nvel
1.
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.
DSC/CCT/UFCG
O Nvel ISA
Viso Geral do Nvel
1.
o sistema operacional e, portanto, permite que qualquer instruo da mquina seja executada no mesmo.
Modo usurio usado para executar programas de
DSC/CCT/UFCG
10
O Nvel ISA
Viso Geral do Nvel
1.
DSC/CCT/UFCG
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
12
O Nvel ISA
Endereos
Endereos
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
13
O Nvel ISA
Modelos de memria
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
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
usados para armazenar variveis locais e resultados intermedirios so, em geral, simtricos e intercambiveis (usados indistintamente)
16
DSC/CCT/UFCG
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
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
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
19
O Nvel ISA
DSC/CCT/UFCG
20
O Nvel ISA
Instrues
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
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
22
O Nvel ISA
Tipos de Dados - Numricos
Ponto Flutuante
Comumente de
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
23
O Nvel ISA
Inteiro com sinal Inteiro sem sinal Inteiro decimal codificado em binrio Ponto flutuante
Ponto flutuante
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
25
O Nvel ISA
Formato de Instrues
DSC/CCT/UFCG
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.
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
28
O Nvel ISA
1 palavra
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
29
O Nvel ISA
Critrios para Determinao do Formato de Instrues
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
30
O Nvel ISA
Critrios para Determinao do Formato de Instrues
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
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
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
DSC/CCT/UFCG
34
O Nvel ISA
DSC/CCT/UFCG
35
O Nvel ISA
36
O Nvel ISA
Modos de Endereamento
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
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?
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
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
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
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
43
O Nvel ISA
DSC/CCT/UFCG
44