Вы находитесь на странице: 1из 3

Nível da Arquitetura do Conjunto de Instruções ISA.

S.O
.
I.S.A Historicamente foi um dos primeiros a ser desenvolvido.

Microarquitetura

Lógica Digital

Interface:

Software
I.S.A
Hardware

Programas em ¥ L.A.N.

Tradução Rodar as instruções do nível ISA

I.L. I.S.A Hardware

O nível ISA providencia um compilador para as camadas superiores (sistema


operacional e aplicações) dando suporte a uma Máquina Virtual. No processo de
compilação, é gerada um I.L. que será executado pelo hardware (C.P.U).
Em termos ideais, ao se projetar uma nova máquina, os arquitetos devem conversar
tanto com os projetistas do compilador quanto com os engenheiros de hardware, para
descobrir quais novas funcionalidades devem ser acrescentadas ao nível ISA.
Se o pessoal responsável pelo compilador desejar alguma coisa que os engenheiros não
possam implementar (sem ferir a relação custo-benefício) esta característica não será
implementada.

Ex: desvie – rode – folha – pgto.

Do mesmo modo, se o pessoal do hardware descobrir uma nova ULA com acesso mais
rápido às células de endereço ímpar, para o qual pessoal do ISA não puder escrever
código correspondente, este novo circuito não sairá do projeto.

Exemplo de instrução no nível ISA:

ADD R1,R2,R3
FADD R1,R2,R3
Após muita negociação entre as partes, surgirá uma ISA otimizada. Essa é a teoria.
Agora, vem a realidade:
Quando uma nova máquina chega ao mercado surgem as questões:

1) Essa máquina é compatível com o anterior?


2) Meu SO antigo roda nessa máquina?
3) Preciso mudar os meus programas?

Logo, surge o seguinte desafio: como construir máquinas melhores, mas compatíveis
com as antigas.
Para projetos equivalentes, ISAs de arquiteturas diferentes podem responder por
diferenças de performance de 25%.

Que boas características deve ter o nível ISA?

Existem 2 fatores que levam a um bom projeto.

1) Um bom projeto do nível ISA deve possuir um conjunto de instruções que possa
ser implementado tanto nas tecnologias antigas quanto nas novas.

Um projeto com nível ISA não muito elaborado é mais difícil de ser implementado,
exigindo mais portas lógicas para implementar o processador que rode o seu conjunto
de instruções. Ou, este processador pode usar mais memórias para executar os seus
programas.

2) Um bom projeto do nível ISA fornece um bom alvo para o código do


compilador: ou seja, o objetivo do projeto deve ser bem definido.

Um bom nível ISA deve satisfazer a turma do hardware (pela facilidade de ser
implementada) e a turma do software (pela facilidade de se gerar código para ela).

Agora, vamos fornecer uma definição mais concreta do nível ISA.

ISA Modelo de
Memória,
Registradores
Instruções.

O nível ISA define o aspecto da máquina para um programador de linguagem de


máquina.
No entanto, nenhuma pessoa normal programa em linguagem de máquina. Vamos
redefinir este conceito.
As instruções do nível ISA são aquelas para as quais o compilador deve gerar código
na I.L.
Para fazer com que o compilador gere código para o nível ISA, o projetista do
compilador deve conhecer muito bem o modelo de memória da máquina, a quantidade e
tipos de registradores, etc.
O conjunto de todas essas informações define o nível ISA.
O nível ISA é especificado por um documento formal, elaborado por um consórcio de
empresas, à exceção da Intel.

Вам также может понравиться