Introdução
Fortaleza-CE, Brasil
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Sumário
1 Disciplina
Objetivos
Ementa
Bibliografia
2 Conteúdo Programático
3 Introdução
Definições
4 Máquinas Multinı́veis
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Objetivos
Ementa
Subsistema de Interconexão:
Estrutura;
Tipos;
Questões de Projeto.
Subsistema de Entrada/Saı́da (I/O)
Módulos;
Técnicas de E/S
Subsistema de Memória
Organização;
Tipos;
Caracterı́sticas.
2a AV: Quinta-feira.
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Computador
Computador
Máquina capaz de sistematicamente coletar, manipular e fornecer os
resultados da manipulação de informações para um ou mais objetivos, ou
seja, um equipamento de processamento de dados
Definição alternativa:
Máquina capaz de resolver problemas executando instruções que lhe são
dadas
Exemplos
microcomputadores de um único chip à supercomputadores.
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Funções do Computador
Definições
Introdução
Um sistema computacional
consiste no conjunto de componentes eletrônicos (memória, processador,
controladores de entrada e saı́da, interfaces de rede) associados a um
conjunto de programas.
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Introdução
Hardware precisa de um Software
Isoladamente, os componentes estão apenas ligados fisicamente e há a
necessidade de gerenciá-los e usá-los de maneira apropriada.
Princı́pio da Equivalência
Observação
Arquitetura de computadores
Stallings
refere-se às caracterı́sticas visı́veis pelo programador, em outras palavras, aos atributos
que têm impacto direto sobre a execução lógica de um programa.
NULL
enfoca o comportamento do computador e como a estrutura afeta o funcionamento de
um programa.
Exemplo
número de bits de dados - inteiro de 16 bits ou de 64 bits é permitido / Conjunto de
instruções / tipos de dados.
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Organização de computadores
Stallings
diz respeito à como são implementadas as unidades operacionais e suas
interconexões que implementam as especificações de sua arquitetura.
Null
Compreende todos aspectos fı́sicos do computador, tornado possı́vel
entender como funciona o mesmo.
Exemplo
quais são os detalhes dos processadores, sinais de controle, interfaces,
tecnologia de memória.
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Arquitetura Organização
conjunto de instruções estrutura interna do
conjunto de registradores processador
Exemplo
Compatibilidade
Todo INTEL da famı́lia x86 compartilham a mesma arquitetura básica
Os programas que rodam nos 486 rodam num core2duo.
Conclusão:
uma organização deve ser projetada para implementar uma especificação
particular de arquitetura.
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Comparação
Projeto de arquitetura:
Decisão de definir se um computador deve ou não ter uma instrução de
multiplicacao
Organização
Decisao de definir se essa instrução será implementada por uma unidade
especial de multiplicacao ou por um mecanismo que utiliza repetidamente
sua unidade de soma.
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Abstração:
habilidade de se ignorar os aspectos de
assuntos não relevantes para o propósito
em questão.
Organização de Computadores:
Através da abstração pode-se imaginar
uma máquina construı́da em uma
hierarquia de nı́veis, em que cada nı́vel tem
uma função especı́fica e existe como uma
máquina hipotética distinta
Linguagem
conjunto de instruções utilizadas para se
construir programas
Figura 3: nı́veis de abstração do projeto de
componentes.. Fonte: [4]
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Máquinas Multinı́veis
Em outras palavras
É como se existisse uma máquina
hipotética para cada camada, em que cada
uma delas tem sua função e solicita às
camadas mais baixas para realizarem as
tarefas que são necessárias.
Máquinas Multinı́veis
Máquina virtual
Um computador com n nı́veis pode ser considerado como n diferentes
máquinas virtuais, cada uma delas com uma diferente linguagem de
máquina.
Funcionamento
A máquina Mi , mais simples, interpreta ou traduz instruções ou
programas da máquina Mi +1 , mais complexa. De modo geral:
Nı́veis baixos: linguagens de natureza numérica, interpretadas.
Nı́veis altos: linguagens de natureza simbólica, traduzidas.
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Diferentes Linguagens
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Linguagem de Máquina
Caracterı́sticas:
Linguagem que a máquina é capaz de “entender” sem precisar ser
traduzida;
Programas em linguagens de máquina são compostos por
sequências de bits (códigos numéricos);
Ex.:000110110
As sequências de bits referem-se a instruções e dados a serem
executados.
Tradução:
substituição de cada instrução de um programa em L1 por uma seqüência equivalente
de instruções em L0, obtendo um novo programa em L0 que pode ser executado no
computador real
Interpretação:
execução de um programa em L1 por outro programa (interpretador) em L0; o
programa em L1 é input para o interpretador, que examina cada instrução em L1 e
executa uma seqüência equivalente de instruções em L0
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Comparação
Compilação:
Traduz linguagem de alto nı́vel para código de máquina;
Tradução lenta
Execução rápida
Ex.: C, C++;
Interpretação Pura:
Não há tradução;
Execução lenta;
Tornando-se rara;
Ex.: Scheme, Matlab;
Interpretação Parcial.
Custo de tradução pequeno;
Velocidade de execução média;
Perl: compila o código parcialmente para detectar erros antes
da interpretação;
Java: geração dos bytecodes.
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Máquina Contemporânea
Camadas I
0:Nı́vel Lógico
Nı́vel mais baixo da estrutura;
Objetos de interesse são as portas lógicas onde são realizadas as
implementações da lógica matemática;
Cada porta lógica possui 1 ou mais entradas digitais (aceitam 0 ou
1) e calculam funções lógicas simples sobre essas entradas.
Exemplos: AND, OR, XOR,...;
Portas lógicas são combinadas para formar memórias de um bit →
registradores → o processador → principal dispositivo do
computador.
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Camadas II
1: Nı́vel de Microarquitetura
assegura de que as instruções sejam decodificadas e executadas
adequadamente e de que os dados sejam movidos para onde e
quando eles devem ser;
Principais componentes:
Unidade Lógica Aritmética (ULA) que realiza operações
aritméticas muito simples.
Registradores conectados a Unidade Lógica Aritmética (ULA)
formando o caminho dos dados.
Operações são controladas por um microprograma que busca,
decodifica e executa as instruções, uma a uma, usando o
caminho de dados para a realização desta tarefa ou é
implementada em hardware
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Camadas III
Camadas IV
4: Nı́vel do montador
Linguagens compiladas de alto nı́vel são primeiro traduzidas para
linguagem simbólica a qual, então, é diretamente traduzida para
linguagem de máquina através de um programa chamado assembler.
Exemplo de tradução: MOV AX,0F79 == B8790F = 1011 1000 0111
1001 0000 1111.
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Camadas V
Abreviaturas I
E/S Entrada/Saı́da
ISA Arquitetura de Conjunto de Instruções(Instruction Set Architeture)
SO Sistema Operacional
ULA Unidade Lógica Aritmética
Disciplina Conteúdo Introdução Máquinas Multinı́veis Referências
Referências I