Disciplina: Organização de Computadores
Carga Horária – 60 horas/aula
Prof. Glauco Paparoto
1
Bibliografia
•
Monteiro, Mário A. Introdução à Organização
de Computadores. 4ª Ed. Rio de Janeiro, LTC,
2001
•
Tanembaum, Andrew S. Organização
Estruturada de Computadores. 4ª Ed. Rio de
Janeiro, LTC, 2001
•
STALLINGS, W. Arquitetura e organização de
computadores. 5.ed, São Paulo, Pearson: 2002
2
Avaliações
• A avaliação será obtida por meio de provas, trabalhos e seminários, dentre outros, bem como pela participação do aluno durante as aulas e demais atividades, a critério do professor e em conformidade com o respectivo plano de ensino. Serão feitas avaliações, assim distribuídas:
• Duas Notas do Professor (NP) para as atividades curriculares, com peso 4 (quatro) cada uma, na composição da nota semestral de cada disciplina;
• Uma nota referente ao Projeto Integrado Multidisciplinar (PIM), com peso 2 (dois) no cálculo da Média Semestral (MS) de cada disciplina. Esse Projeto será desenvolvido durante o semestre.
• A MS será: (NP1 x 4 + PIM x 2 + NP2 x 4) / 10. Para a aprovação, a MS deverá ser igual ou superior a 5,0; é exigida a freqüência mínima de 75%. O desempenho do aluno é avaliado numa escala de 0 (zero) a 10 (dez).
Ementa:
• Conceituação de Organização e Arquitetura de
Computadores e Máquinas Multiníveis.
• Organização de Sistemas Computacionais: CPU,
Memória, Entradas e Multimídia e Barramentos.
• Nível Lógico Digital: Unidade Lógica e Aritmética,
Organização de Memória, Clock e Registradores.
• Nível de Microarquitetura: Fluxos de Dados,
Temporização do Fluxo de Dados, Operação de Memória, Microinstruções, O Mic-1, Exemplo de
Macroarquitetura e Projeto do Nível de
Microarquitetura (forma introdutória).
4
Objetivos
•
Conhecer
a
organização
interna
dos
computadores, para análise da otimização do
uso de seus componentes em aplicações das
áreas
de
informação,
comunicação
e
processos de controle.
5
Conteúdo Programático
1- Organização estruturada de computador:• Máquinas multiníveis contemporâneas: nível de lógica digital, nível de microarquitetura, nível de arquitetura de conjunto de instruções, nível de máquina de sistema operacional, nível de linguagem Assembly, nível de linguagem orientada ao problema.
• Evolução das máquinas multiníveis: microprograma, a invenção do sistema operacional, microcódigo, a eliminação da microprogramação.
• Exercícios relacionados com o material apresentado.
Conteúdo Programático
(cont.)2- Organização de sistemas computacionais:
• Processadores: organização da CPU, execução de instrução, princípios de projetos para computadores modernos, paralelismo no nível de instrução, paralelismo no nível de processador
• Exercícios relacionados com o material apresentado.
• Memória primária: endereços, ordenação dos bytes, códigos de correção de erros.
• Memória secundária
• Exercícios relacionados com o material apresentado.
• Entrada e saída: barramentos
• Exercícios relacionados com o material apresentado.
7
Conteúdo Programático
(cont.)3- Nível de lógica digital:
• Introdução à portas lógicas
• Clocks • RAMs, ROMs • Chips de memória • Organização de memória • Chips de CPU • Exemplos de microprocessadores
• Barramentos: largura, temporização, operação
• Exemplos de barramentos: ISA, PCI, USB
• Interfaceamento de E/S: chips de E/S, decodificação de endereço
8
Conteúdo Programático
(cont.)4- Nível de microarquitetura (microprogramação):
• Exemplo de microarquitetura: fluxo de dados, temporização do fluxo de dados
Arquitetura dos Computadores
• Refere-se aos atributos de um sistema, ao Hardware
(gabinete, memórias, HD, mecanismos de E/S,
processador, placa mãe, placa de rede, placa de vídeo, placa de som, cd rom, etc), ou seja, tudo o que for visível para o programador. Incluem também o barramento que é o conjunto de linhas de comunicação que permitem a interligação entre dispositivos, como oCPU, amemóriae outrosperiféricose conjunto de instruções, o número de bits usados para representar os vários tipos de dados (números, caracteres), ou seja, a linguagem de máquina (0 e 1).
10
Organização dos computadores
•
Lida com os relacionamentos estruturais que não
são vistos pelo programador, ou seja, a forma
como se estrutura o sistema.
•
Incluem também os detalhes de Hardware
transparentes ao programador, tais como os
sinais
de
controle,
as
interfaces
entre
o
computador e os periféricos e a tecnologia de
memória e disco utilizada.
11
Breve História
•
Marcos da arquitetura de computadores:
12
Ano Nome Construído por Comentários 1943 Colossus Zuse Primeiro computador eletrônico 1946 ENIAC Eckert /
Mauchley
A história moderna dos computadores começa aqui 1949 EDSAC Wilkes Primeiro computador com programa
armazenado 1952 IAS Von Neumann A maioria das máquinas atuais usa esse
projeto 1978 VAX DEC Primeiro superminicomputador de 32 bits 1981 IBM PC IBM Deu início àera moderna do computador
pessoal 1981 Osborne-1 Osborne Primeiro computador portátil 1985 386 Intel Primeiro ancestral de 32 bits da linha Pentium 1992 Alpha DEC Primeiro computador pessoal de 64 bits 1993 Newton Apple Primeiro computador palmtop
•
Marcos da arquitetura de computadores:
13
Colossus (1943)- Tubos de vácuo armazenavam o conteúdo de uma fita de papel que era alimentada na máquina, e os cálculos aconteciam entre os tubos de vácuo e uma segunda fita lida pela máquina. A programação era feita com placas de conexão de fios.
1848–O inglês matemático George Boole inventa a álgebra binária booleana, abrindo o caminho para o desenvolvimento de computadores quase 100 anos depois.
•ENIAC (1946) - que consistia em 18.000 tubos de vácuo que eram a seção computacional da máquina. Programas e dados eram introduzidos por meio de interruptores e troca de cabos. Ocupava uma sala de 140 m². Executava 5 mil adições por segundo.
Breve História
14
Breve História
A primeira geração de computadores – Válvulas (1945 – 1955)
A segunda geração de computadores – Transistores (1955-1965)
A terceira geração – Circuitos Integrados (1965-1980) A quarta geração – Integração em Escala Muito Grande (1980 - ?)
A quinta geração - Computadores Invisíveis
O modelo de Von Neumann
• Computador de programa armazenado;
• Iniciou em 1946 e terminou em 1952;
• Consiste em cinco componentes principais: (1) unidade de entrada; (2) unidade de saída; (3) unidade de lógica aritmética; (4) unidade da memória; (5) unidade de controle.
Setas grossas representam o caminho dos dados; setas finas, o caminho de controle
O modelo de Von Neumann
• (1)unidade de entrada (teclado, scanner, mouse, etc)
provê instruções e dados ao sistema, que são
subsequentemente armazenados na (4)unidade de memória. As instruções e os dados são processados pela (3)unidade aritmética e lógica (adição, subtração, or, and) sob a supervisão da (5)unidade de controle (Quem decide a seqüência de instruções corretas, ou seja, como fazer esses cálculos). Os resultados são enviados para a (2)unidade de saída (monitor, impressora, caixas de som); A ALU e a unidade de controle são
frequentemente chamadas de forma coletiva de
unidade central de processamento (Central processing unit - CPU)
16
O modelo de Von Neumann
• O modelo de Von Neumann foi modernizado, conforme
ilustrado abaixo:
17
Barramentos (Bus): Conjunto de fios que fazem a ligação física entre as diversas unidades.
O modelo de Von Neumann
18
Barramento de Endereços: Tráfego de endereços; Barramento de Dados: Tráfego dos dados;
Barramento de Controle: Tráfego dos sinais de controle; OBS:
A CPU gera endereços que são colocados no barramento de endereços, e a memória e os dispositivos de E/S recebem endereços do barramento de endereços. A memória nunca gera endereços, e a CPU nunca recebe endereços e desta forma não existem conexões correspondentes a estas direções.
Linguagens, Níveis e Máquinas
Reais
• Os componentes (circuitos eletrônicos de um
computador) podem executar um número limitado de instruções simples, como por exemplo: soma de dois números, cópia de dados; verificação;
• Ao conjunto de instruções primitivas que torna possível às pessoas se comunicarem com os computadores, dá-se o nome de linguagem de máquina;
• Programa: sequência de instruções que descreve como
executar uma determinada tarefa.
19
Linguagens, Níveis e Máquinas
Reais
20
•
LO – Linguagem de Máquina
•
L1 – Conjunto de instruções mais conveniente
para as pessoas;
•
Para executar um programa escrito em L1, é
necessário substituir cada instrução por uma
sequência de instruções em LO. O resultado será
um programa inteiramente em LO.
•
O computador executa o programa LO ao invés do
L1. Essa técnica é denominada TRADUÇÃO.
Linguagens, Níveis e Máquinas
Reais
•
Uma outra maneira é escrever um programa em
L0 que utilize programas L1 como dados de
entrada;
•
O
programa
as
executa
examinando
cada
instrução por vez e executando diretamente a
sequência equivalente de instruções LO. Nessa
técnica não existe a geração prévia de um novo
programa em LO;
Linguagens, Níveis e Máquinas
Reais
22
•
Para simplificar, ao invés de pensarmos em
TRADUÇÃO e INTERPRETAÇÃO, vamos imaginar
uma máquina real (M1), cuja linguagem de
máquina seja L1;
•
Vamos
denominar
M0
a
maquina
real,
correspondente a linguagem L0;
•
Na prática, LO e L1 não devem ser muito
diferentes, ou seja, L1 embora melhor que LO,
ainda estará longe de ser o ideal para a maioria
das aplicações;
Linguagens, Níveis e Máquinas
Reais
23
•
Nessa mesma linha de raciocínio, teremos que ter
um novo conjunto de mais alto nível (mais
dirigido as pessoas) do que as máquinas, do que a
linguagem anterior. A este terceiro nível de
linguagem, chamaremos L2, com máquina real
M2;
•
A criação de outras linguagens mais dirigido a
pessoas e menos a máquinas pode continuar
indefinidamente, até que se chegue a uma
adequada (Mn / Ln).
Linguagens, Níveis e Máquinas
Reais
24
•
Cada linguagem usa sua antecessora como base,
de
modo
que
podemos
considerar
um
computador que use essa técnica como uma série
de níveis (ou camadas), como mostra a figura a
seguir;
•
Somente programas escritos em L0 podem ser
executadas
diretamente
pelos
circuitos
eletrônicos, sem a necessidade de TRADUÇÃO ou
INTERPRETAÇÃO;
25
Linguagens, Níveis e Máquinas
Reais
Microprogramação
26
Os primeiros computadores (anos 40) possuíam somente dois níveis:
- Nível de Arquitetura de Conjunto de Instruções (ISA), no qual era feita toda a programação, e;
- Nível de Lógica Digital, que era complicado, difícil de entender e construir, e de baixa confiabilidade, que executava esses programas.
Em 1951, Maurice Wilkes sugeriu a introdução de um nível intermediário para simplificar o hardware: um interpretador (microprograma) imutável para executar as instruções no nível ISA por interpretação.
Microprogramação
Microprogramação é uma programação por linguagem de máquina inserida em um hardware com um microprocessador. Como consequência disso, houve a diminuição do número de circuitos (hardware mais simples), aumentando a confiabilidade da máquina (já que na época, os circuitos eram a válvula e pouco confiáveis).
Em torno de 1970, a idéia de interpretar o nível ISA por um microprograma em vez de diretamente por meios eletrônicos era dominante. Todas as principais máquinas de época utilizavam.
A invenção do Sistema Operacional
28
A invenção do sistema operacional
Por volta de 1960, foi criado um programa – sistema operacional – que ficaria constantemente em execução no computador com a função de automatizar o trabalho do operador do computador: iniciar um novo job, carregar o compilador de FORTRAN, carregar o programa a ser compilado, executar o programa resultante da compilação, entrar os dados para o programa, imprimir os resultados do programa...
A invenção do Sistema Operacional
29
Nos anos subsequentes os sistemas operacionais tornaram-se cada vez mais sofisticados, com novas instruções, facilidades e características adicionadas ao nível ISA, até que ele começou a parecer como um novo nível.
Algumas instruções eram idênticas às instruções no nível ISA, mas outras completamente diferentes (E/S)
Qual a função do Microcódigo?
30
“Ensinar” ao processador o que fazer, é como um guia passo a passo para cada instrução.
Exemplo: somar a+b
seu microcódigo dirá à unidade de decodificação que são necessários dois parâmetros, a e b.
Qual a função do Microcódigo?
31
A unidade de decodificação requisita que a unidade de busca pegue a informação presente nas duas posições de memória seguintes, que seja compatível com os valores para a e b.
Depois que a unidade de decodificação “traduziu” a instrução e coletou todas as informações necessárias para executar a instrução, ela irá passar todas as informações e o “guia passo-a-passo” sobre como executar aquela instrução para a unidade de execução.
A eliminação da Microprogramação
32
Os projetistas perceberam que podiam acrescentar novas instruções apenas ampliando o microprograma (como se pudessem acrescentar HW, ou seja, novas instruções de máquina por programação).
Microprogramas grandes = tendência a ficar mais lentos.
Voltou a idéia de eliminar o microprograma, promovendo uma drástica redução no conjunto de instruções e funcionalidades e fazendo com que as instruções restantes fossem executadas diretamente, pelo Hardware, que deixaria a máquina mais rápida.
Conclusões
A fronteira entre hardware e software pode ser
arbitrária;
O software de hoje pode ser o hardware de
amanhã, e vice-versa;
Programador de um nível, em geral, não deve se
preocupar com implementações de níveis
inferiores.
Revisão dos Conceitos
• Programa:seqüência de instruções que descreve comoexecutar uma determinada tarefa.
• Linguagem de máquina: linguagem formada por um conjunto de instruções primitivas que torna possível às pessoas se comunicarem com os computadores. • Tradução: Método de execução de programa que
substitui cada instrução da linguagem L1 (linguagem de alto nível) pela linguagem L0 (linguagem de baixo nível).
34
Revisão de Conceitos
• Interpretação: Método de execução de programa queexecuta a linguagem L1 sem a geração de um novo código, executando a seqüência equivalente de instruções L0 diretamente.
• Cada linguagem utiliza sua predecessora como base, e então pode-se visualizar um computador como uma série deníveis ou camadas.
• Linguagens de Alto Nível:Linguagens projetadas para serem utilizadas por programadores. Ex. C/C++, Visual Basic, PHP, etc... 35
Organização Estruturada de
Computador
•
Processadores
•Execuções de Instruções•Organização da CPU, Execução Paralela de Instruções
•
Memória
•Bits , Endereços de Memória, Memória Secundária
•
Entrada/Saída
•Mouses, Terminais, Mouse, Impressoras.
Máquina Multinível
• Conforme os conceitos que vimos anteriormente, uma máquina pode ser vista como tendo vários níveis, cada um capaz de executar um conjunto de instruções específicas. Isto é, cada nível possui linguagens apropriadas para descrever as instruções que nele podem ser executadas.
• A maioria dos computadores possui dois ou mais
níveis. Descreveremos a organização de uma
máquina com seis níveis (máquinas mais atuais).
37
38
Máquina Multinível
Você verá agora os
Seis Níveis
Presentes na maioria
dos computadores
Nível de linguagem orientada ao problema Nível de linguagem Assembly Nível de máquina de sistema operacional Nível de arquitetura de conjunto de instruções
Nível de Microarquitetura (microprogramação) Nível de lógica digital
TRADUÇÃO (Compilador)
TRADUÇÃO (Montador)
Interpretação Parcial (Sistema Operacional)
INTERPRETAÇÃO (Microprograma)
Os microprogramas são executados diretamente pelo hardware
0 1 2 3 4 5 Dispositivos 40
Níveis das Máquinas
•
Nível de lógica digital,
•
Nível de microarquitetura,
•
Nível
de
arquitetura
de
conjunto
de
instruções,
•
Nível de máquina de sistema operacional,
•
Nível de linguagem Assembly,
•
Nível de linguagem orientada ao problema.
41
Nível 0 - Lógica Digital
• Chamado de Nível 0, mas, na verdade, existe um outro nível abaixo do nível 0, que é o nível de dispositivos, o qual situa-se no campo da engenharia elétrica (fora de nosso escopo).
• No nível de lógica digital, os objetos são denominados portas
Nível 0 - Lógica Digital
(cont.)• Seus circuitos executam os programas em linguagem de máquina de nível 1;
• Este nível consiste somente em componentes elétricos (transistores e fios – os quais as portas lógicas são feitas);
• As portas lógicas são combinadas para formar o processador;
• Tem uma ou mais entradas digitais (0 ou 1)e computa como saída alguma função simples (AND ou OR).
43
Nível 1 - Microarquitetura
•
Nível 1
– Conhecido também como nível dasunidades funcionais. É o verdadeiro nível de linguagem de máquina.
• A Função deste nível é interpretar as instruções de nível 2.
• Poucas são as máquinas que têm mais de 20 instruções neste nível.
• Conjunto de registradores (8 a 32) que formam uma memória local e um circuito chamado ULA (Unidade Lógica Aritmética)
44
Nível 1 - Microarquitetura
(cont.)• Os registradores são conectados à ULA para formar um caminho de dados (onde os dados transitam);
• Máquinas em que o caminho de dados é
controlado por software,o microprograma é um
interpretador p/ as instruções do nível 2.
• Máquinas c/ controle incorporado do caminho de
dados,ocorreriam etapas semelhantes, mas sem
um programa explícito armazenado p/ controlar a interpretação das instruções do nível 2.
Nível 2 - arquitetura de conjunto de
instruções (ISA)
• Conhecida também como nível de controle;
• É a interface entre o software e o hardware;
• Nível mais próximo ao hardware onde o usuário pode programar;
• Em determinadas máquinas o caminho de dados é controlado por um programa denominado microprograma. Em outras é diretamente pelo HW.
• Antigamente este nível chamava-se nível de microprogramação porque ele era quase sempre um interpretador de software.
46
Nível 2 - arquitetura de conjunto
de instruções (ISA)
• Nível 2 -Mas pode ser nível 1 quando não existir o nível de microprogramação. Neste caso, as instruções são executadas diretamente pelo nível de circuitos eletrônicos.
• Manual de fabricantes de computadores fazem referência a este nível.
47
•
Formatos de Instruções
•
Endereçamento
•
Tipos de Instruções
•
Fluxo de Controle
48Nível 2 - arquitetura de conjunto
de instruções (ISA)
Nível 3 - Sistema Operacional
• Nível 3 -Algumas instruções deste nível sãointerpretadas pelo próprio sistema operacional (SO), outras são interpretadas pelo microprograma.
• Isto é o que se quer dizer por híbrido.
49
Nível 3 - Sistema Operacional
• Conhecido também como nível de linguagem de montagem ou de código de máquina;
• Este nível é a fronteira entre o hardware e o software;
• Os usuários deste nível podem ser programas do nível 4 ou usuários humanos.
50
Nível 3 - Sistema Operacional
Memória Virtual• Técnica implementada em diversos SO que faz com que a máquina aparentemente possua mais memória do que ela realmente possui.
• Programas grandes x memória pequena => Divisão do programa em blocos, armazenados em memória secundária, chamados overlays. => Responsabilidade do programador em gerenciar a execução dos blocos.
• Método para executar o processo de overlay automaticamente, sem a percepção do programador => memória virtual.
Nível 3- Sistema Operacional
Instruções de Entrada/Saída Virtual
As instruções de E/S do nível ISA permitem acessar detalhes de hardware dos dispositivos de E/S. Por exemplo:
•ler/escrever dados armazenados em discos quaisquer
•checar se um disco está funcionando totalmente correto.
•escrever em terminais de outros usuários, etc...
52
Nível 3 - sistema Operacional
–São necessárias algumas instruções virtuais para que diversos processos possam trabalhar juntos, em paralelo.
•Objetivo principal: diminuir tempo de execução das instruções –O processamento paralelo:
• pode ser realizado por vários processadores.
•ou por um único processador realizando processamento paralelo
simulado.
–Mesmo quando o paralelismo é simulado, podemos considerar que cada processo tem seu próprio processador virtual (O processador real é compartilhado pelos processos).
–Importante: Os problemas de comunicação entre processos são os mesmos tanto no paralelismo verdadeiro quanto no simulado.
53
Instruções Virtuais usadas em processamento paralelo
Nível 4- Linguagem Assembly ou de
Montagem
• são dirigidos à execução dos interpretadores e tradutores para dar suporte a níveis mais altos;
• Fornece um método para as pessoas escreverem programas para os níveis 1, 2 e 3 em forma que não seja tão desagradável quanto as linguagens de máquina;
• Programas em linguagem de montagem são primeiro traduzidos para linguagem de nível 1, 2 ou 3, e em seguida interpretados pela máquina real.
• O programa que realiza a tradução é denominado
Nível 4 - Linguagem Assembly ou
de Montagem
O que é uma linguagem Assembly ?
• Linguagem na qual cada comando produz exatamente uma instrução de máquina => correspondência direta entre as instruções de máquina e os comandos do programa em assembly.
• Muito mais fácil trabalhar com assembly do que com a linguagem máquina diretamente.
• O programador em assembly possui acesso a todas as características e instruções disponíveis na máquina alvo.
• Tudo o que pode ser feito pela linguagem de máquina pode ser feito na linguagem assembly.
• Um programa em linguagem assembly só pode ser executado em uma família de máquinas.
55
Nível 4 - Linguagem Assembly ou
de Montagem
Por que utilizar a linguagem Assembly ?
• − Performance
• − Acesso total a máquina
56
Nível 5 - Linguagem
Orientada ao problema
• Consiste em linguagens projetadas para serem utilizadas por programadores de aplicação com problemas a serem resolvidos.
• Tais linguagens são denominadas linguagens de alto nível, como C, Pascal, C++, Cobol, Fortran, Basic dentre outras.
• Programas são geralmente traduzidos para os níveis 3 e 4 por compiladores
• Alguns são interpretados: Exemplo: programas em Java, MatLab, ...
Máquina Multinível
linguagem orientada ao problema linguagem de Assembly sistema operacional Conjunto de instruções Microarquitetura lógica digital dispositivos 58 • Formado pelos transistores individuais
• Tensão, corrente, circuitos, etc.
Máquina Multinível
linguagem orientada ao problema linguagem de Assembly
sistema operacional Conjunto de instruções
Microarquitetura lógica digital – Nível 0
dispositivos
59 • Portas lógicas e CI. • Implementam a manipulação de sinais executando funções lógicas básicas: AND, OR, NOT, deslocamento de bits, etc.
Máquina Multinível
linguagem orientada ao problema linguagem de Assembly sistema operacional Conjunto de instruções Microarquitetura – Nível 1 lógica digital dispositivos 60 • Microprogramas que
controlam a entrada e saída de
sinais para os vários
dispositivos e controlam as várias portas lógicas. • Instruções binárias.
Máquina Multinível
linguagem orientada ao problema linguagem de Assembly
sistema operacional Conjunto de instruções – Nível 2
Microarquitetura lógica digital dispositivos
61 • Comandos para executar funções específicas da máquina: formato de instruções endereçamento, interrupções, dependente da arquitetura utilizada. MOV 0 ACC; ADD 03FC;
Máquina Multinível
linguagem orientada ao problema linguagem de Assembly Sistema Operacional –Nìvel 3
Conjunto de instruções Microarquitetura
lógica digital dispositivos
62 Comandos para executar funções específicas da máquina:
•Gerenciamento de tarefas, Sistema de arquivos, Memória virtual e paginação.
Máquina Multinível
linguagem orientada ao problema linguagem de Assembly – Nível 4
sistema operacional Conjunto de instruções Microarquitetura lógica digital dispositivos Assembly
Cada comando corresponde exatamente a uma instrução a ser executada. Utiliza-se mnemônicos e endereços simbólicos. MOV 0 ACC; MOV 0 R1; ... GTO A R1
Máquina Multinível
linguagem orientada ao problema –Nível 5 linguagem de Assembly sistema operacional Conjunto de instruções Microarquitetura lógica digital dispositivos 64 C, C++, Pascal, Cobol Aux:= 0; do print(Aux); Aux:= Aux + 1; while Aux <= 10;
Máquina Multinível
65 swap: muli $2, $5, 4 add $2, $4, $2 lw $15, 0($2) lw $16, 4($2) sw $16, 0($2) sw $15, 4($2) jr $31Swap (int v[], int k) {int temp: temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; } 00000000101000010000000000011000 00000000100011100001100000100001 10001100011000100000000000000000 10001100111100100000000000000100 10101100111100100000000000000000 Código Executável Linguagem C Linguagem Assembly
Observações Finais
66•Computadores são projetados como uma série de níveis; • Cada nível representa uma abstração distinta, com diferentes objetos e operações ;
• A abstração permite ignorar, "abstrair",
temporariamente detalhes irrelevantes, de níveis mais baixos, reduzindo uma questão complexa a algo muito mais fácil de ser entendido;
• Não há uma definição demasiadamente rígida sobre o que está presente em cada nível.
• Cabe aos projetistas decidirem o que colocar em cada nível.
Questões
67
1. Explique com suas palavras: 1. Tradutor;
2. Interpretador; 3. Máquina Real;
2. Qual a diferença entre interpretação e tradução? 3. Em uma máquina multinível, quais as principais
características do nível de arquitetura de conjunto de instruções?
4. O que é a linguagem assembly e onde é utilizada? 5. Baseando-se nos conceitos vistos até agora, como