Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdu�c~ao � Um computador digital �e uma m�aquina capaz de solucionar problemas atrav�es da execu�c~ao de instru�c~oes. � Uma seque^ncia de instru�c~oes que descreve como executar uma tarefa denomina-se Programa. � Os circuitos do computador executam um conjunto limitado de instru�c~oes simples: { Somar dois n�umeros. { Veri�car se um n�umero �e zero. { Mover um dado de uma parte da mem�oria para outra. � As instru�c~oes primitivas do computador formam uma linguagem denominada linguagem de m�aquina. � As linguagens de m�aquina s~ao muito simples, tornando a programa�c~ao dif��cil e tediosa. Por isto projeta-se um novo conjunto de instru�c~oes, mais conveniente do que a linguagem de m�aquina. � Como exemplo, podemos considerar este novo conjunto de instru�c~oes de linguagem L2 e a linguagem de m�aquina de L1. � Os programas escritos em L2 n~ao podem ser executados diretamente no computador. Somente programas escritos em L1 podem ser executados diretamente. � Para que um programa em L2 possa ser executado no computador deve-se utilizar : { Tradu�c~ao: Consiste em substituir cada instru�c~ao de L2 por uma seque^ncia equivalente de L1. O programa resultante �e composto de instru�c~oes de L1. Este programa resultante �e que ser�a executado. { Interpreta�c~ao: Um programa escrito em L1 (interpretador) recebe um programa em L2 como dados de entrada e o executa examinando uma instru�c~ao de cada vez, executando a seque^ncia equivalente de instru�c~oes L1 diretamente. push ax push bx mov ax,5h mov bx,12h int 10h mov ax,bx mov dx,cx add ax,dx mov [bp],ax mov ax,5h mov bx,12h int 10h mov ax,bx mov dx,cx mul ax,dx mov [bp],ax mov ax,15h mov cx,1h int 12h Read (A,B) C := A + B D := A * B Write(E) Programa em L2 Programa correspondente em L1 1 Introdu�c~ao � Ao inv�es de pensar em termos de tradu�c~ao e interpreta�c~ao, pode-se imaginar uma m�aquina virtual cuja linguagem de m�aquina seja L2. � Uma m�aquina virtual M1 suporta a linguagem L1 e a m�aquina virtual M2 suporta a lin- guagem L2. � Computadores modernos consistem de uma s�erie de m�aquinas virtuais, aonde cada uma prove^ progressivamente um n��vel maior de abstra�c~ao. � Em cada n��vel ou m�aquina virtual, decis~oes de projeto necessitam ser feitas para serem incor- poradas. � Isto tamb�em �e verdadeiro nos n��veis mais baixos para determinar o que deveria ser implemen- tado por hardware ou software. Hardware e software s~ao logicamente equivalentes. � M�aquinas Multin��veis Contempora^neas. { A maioria dos computadores modernos possui dois ou mais n��veis. { As m�aquinas de seis n��veis s~ao mais comuns. { N��vel 0 - N��vel da L�ogica Digital. � Constitu��do de portas l�ogicas. � Cada porta possui uma ou mais entradas digitais (sinais representando 0 ou 1). � Cada porta �e constituida por no m�aximo por um punhado de transistores. { N��vel 1 - N��vel de Microprograma�c~ao. � Verdadeiro n��vel de linguagem de m�aquina. � Existe um microprograma, cuja fun�c~ao �e interpretar as instru�c~oes de n��vel 2. 2 Introdu�c~ao � M�aquinas Multin��veis Contempora^neas(Cont.). { N��vel 2 - N��vel de M�aquina Convencional. � Cada microprograma de�ne implicitamente uma linguagem de n��vel 2. � M�aquinas de n��vel 2 de fabricantes diferentes te^m mais semelhan�cas do que diferen�cas. � Fabricantes de computadores publicam "Manual de Refere^ncia da Linguagem de M�aquina". � Quando eles descrevem o conjunto de instru�c~oes de m�aquina, est~ao, de fato, de- screvendo as instru�c~oes interpretadas pelo microprograma, e n~ao as pr�oprias in- stru�c~oes de hardware. { N��vel 3 - N��vel de Sistema Operacional. � N��vel H��brido. A maior parte das instru�c~oes desta linguagem est�a tamb�em na lin- guagem de n��vel 2. � As novas facilidade adicionadas ao n��vel 3 s~ao efetuadas por um intepretador em execu�c~ao no n��vel 2, que historicamente tem sido denominado sistema operacional. � Instru�c~oes de n��vel 3 ide^nticas �as do n��vel 2 s~ao executadas diretamente pelo micro- programa, e n~ao pelo sistema operacional. { N��vel 4 -N��vel de Linguagem de Montagem. � uma forma simb�olica para uma linguagem subjacente. � Prove^ um m�etodo para as pessoas escreverem programas para os n��veis 1, 2 e 3 de uma maneira nem t~ao desagrad�avel quanto as pr�oprias linguagens de m�aquina virtual. � Os programas em linguagem de montagem s~ao primeiramente traduzidos para a linguagem de n��vel 1, 2 ou 3, e ent~ao s~ao interpretados pela m�aquina virtual ou real apropriada. O programa que executa a tradu�c~ao �e denominado montador. { N��vel 5 - N��vel de Linguagens de Alto N��vel. � Consiste de linguagens projetadas para serem utilizadas por programadores de aplica�c~ao. Tais linguagens s~ao denominadas linguagens de alto n��vel (C, COBOL, PASCAL, ETC.). � Os programas escritos nestas linguagens s~ao geralmente traduzidos para o n��vel 3 ou 4 por tradutores conhecidos como compiladores, embora ocasionalmente eles sejam interpretados. Nível 5 Read(A, B) Nível 4 push ax push bx mov ax, 5h mov bx, 12h int 10h Nível 3 EA0100 EA0101 EB0010010 EB011001 int 10h Nível 2 EA0100 EA0101 EB0010010 EB011001 CD01011011 FA0101101 Nível 1 Acionar barramento de controle. Colocar dados do registrador BX no barramento de dados. Enviar para a ULA dados do registrador AX. Indicar leitura de memória Enviar sinal para temporizador Nível 0 3 Introdu�c~ao � M�aquinas Multin��veis Contempora^neas. { Os n��veis 2 e 3 s~ao interpretados. { Os n��veis 4, 5 e superiores s~ao geralmente suportados por tradu�c~ao. { As linguagens de n��veis 1, 2 e 3 s~ao num�ericas, consistindo de longas s�eries num�ericas. { A partir do n��vel 4 as linguagens cont�em palavras e abreviaturas. { O conjunto de tipos de dados, opera�c~oes e caracter��sticas de cada n��vel �e denominado sua arquitetura. { O estudo do projeto das partes de um computador vis��veis ao programador denomina-se arquitetura de computadores. � Hardware, Software e M�aquinas Multin��veis. { Hardware - Composto de objetos tang��veis (Circuitos integrados, placas de circuito im- presso, cabos, fontes de alimenta�c~ao, mem�orias, impressoras terminais, etc). { Software - Consiste em Algoritmos (instru�c~oes detalhadas que dizem como fazer algo) e suas representa~oes para o computador, ou seja, os programas. { Firmware - Forma intermedi�aria entre o hardware e o software. Consiste no software embutido em dispositivos eletro^nicos. Em muitos computadores o microprograma est�a no �rmware. { Hardware e software s~ao logicamente equivalentes, isto �e, qualquer opera�c~ao executada pelo software pode ser implementada pelo hardware e vice-versa. A decis~ao se baseia em fatores tais como: custo, velocidade, con�abilidade e freque^ncia esperada de altera�c~oes. { Nos primeiros computadores, O hardware executava algumas instru�c~oes simples tais como ADD(somar) ou JUMP(Saltar para), e tudo mais era programado explicitamente. { Com o passar do tempo, tornou-se claro que certas opera�c~oes eram executadas com uma freque^ncia su�ciente para justi�car a constru�c~ao de circuitos especiais para execut�a-las diretamente pelo hardware(para torn�a-las mais r�apidas). 4 Introdu�c~ao � Hardware, Software e M�aquinas Multin��veis(Cont.). { Com a chegada da microprograma�c~ao e de computadores multin��veis a tende^ncia oposta tamb�em ocorreu. Nos primeiros computadores a instru�c~ao ADD era executada pelo hardware. Em um computador microprogramado, a instru�c~ao ADD era interpretada atrav�es de um microprograma. { Algumas caracter��sticas de certos computadores modernos s~ao agora executadas pelo hardware ou pelo microprograma, masque originalmente foram programadas explicita- mente no n��vel de m�aquina convencional. Dentre elas est~ao inclu��das: � Instru�c~oes para multiplica�c~ao e divis~ao de inteiros. � Instru�c~oes aritm�eticas de ponto- utuante. � Instru�c~oes para acelerar la�cos (looping). � Instru�c~oes de contagem (somar 1 a uma vari�avel). � Arquitetura de Von Neumann. � M�aquinas com Barramento. 5
Compartilhar