Software Básico
Evolução das Máquinas Multiníveis
Capítulo 1
Mitsuo Takaki
http://www.cin.ufpe.br/~mt2/
[email protected]
Evolução das Máquinas Multiníveis
• Nos primeiros computadores, a fronteira entre
hardware e software era bem definida.
• À medida que as máquinas foram evoluindo,
esta fronteira se tornou difícil de separar.
• Software e hardware são logicamente
equivalentes.
Evolução das Máquinas Multiníveis
• O que pode ser feito em hardware, pode ser
feito em software e vice-versa.
• A decisão de por certas funções em hardware
e outras em software é baseada em fatores
como custo, velocidade, confiabilidade e
frequência de mudanças esperadas.
– Mudam com o passar do tempo, com fatores
econômicos e tecnológicos.
A Invenção da Microprogramação
• Os primeiros computadores eram compostos
de dois níveis:
– ISA, onde era feita a programação.
– Lógico digital, executava os programas.
A Invenção da Microprogramação
• A criação de um novo nível foi essencial para a
simplificação do hardware.
– Seria necessário um conjunto menor de
instruções.
– Existia um interpretador embutido e imutável que
executava os programas do nível ISA.
– Hardware executava apenas microprogramas.
A Invenção do Sistema Operacional
• O SO foi criado para otimizar a utilização dos
computadores.
• Rodava
constantemente
e
reduzia
drasticamente o esforço necessário para rodar
programas.
A Invenção do Sistema Operacional
• Os desenvolvimento dos SOs cresceu com o
passar do tempo.
– Novas instruções foram adicionadas ao nível ISA.
– Estas novas instruções ficaram conhecidas como
macros de SO ou chamadas do supervisor.
• Hoje é conhecido como chamada do sistema.
Migração de Funcionalidade para
Microcódigo
• Os projetistas perceberam que podiam introduzir
novas instruções ampliando o microcódigo.
• Desta forma poderia “ampliar” o hardware por
programação.
• Várias instruções desnecessárias foram criadas.
– Exemplo do INC que realizava ação semelhante a ADD,
apesar de ser mais rápido.
Eliminação da Microprogramação
• Com o aumento descontrolado dos
microprogramas, os computadores foram se
tornando mais lentos.
• Pesquisadores perceberam que fazendo com que
as instruções fossem executadas diretamente os
computadores ficariam mais rápidos.
– Sem o controle do caminho de dados por software.
Eliminação da Microprogramação
• Com isto, voltaram ao estado anterior a
criação de microcódigo.
• O que é hardware hoje, pode ser software
amanhã.
– Exemplo: Java.
Download

Evolução das Máquinas Multiníveis