Você está na página 1de 13

TEMA: PROCESSADORES.

ORGANIZAÇÃO E FUNCIONAMENTO
INTERNO. O CICLO DE INSTRUÇÃO. INSTRUÇÕES DE MÁQUINA.

EXECUÇÃO DE PROGRAMAS

DISCIPLINA: SISTEMAS DE COMPUTAÇÃO MODERNOS


Tema 4

I - Objetivo
Pode-se afirmar que todos os módulos básicos de hardware de um computador (Processador – Memória –
Entrada-Saída) sejam imprescindíveis, pois não há sistema funcional sem Entrada ou sem Saída ou ainda
sem Memória ou Processador. No entanto, o Processador é o elemento mais importante, pois todas as
atividades de Memória (armazenamento ou recuperação de dados) ou de E/S são, no mínimo, iniciadas (e
muitas atividades são completamente controladas) pelo Processador, daí o nome de Unidade Central
de Processamento (UCP) ou Central Processor Unit (CPU).
Anteriormente, mostrou-se algumas características muito simples sobre os processadores, com o propósito
de desde logo iniciar o leitor no conhecimento de componente tão importante.

Bons estudos!

A final do estudo deste assunto, espera-se que o aluno possa:

a) Compreender a organização e o funcionamento dos processadores.


b) Diferenciar os conceitos de instrução de máquina, conjunto de instruções e ciclo de instrução
Entender as etapas de execução de um programa
RESUMO DESCRITIVO - Parte A - Estrutura Organizacional de um Processador
Conforme mencionado no Tema 2, um sistema de computação é constituído de um conjunto de dispositivos
físicos, o hardware e um conjunto de programas de controle daqueles dispositivos, o software básico (sistema
operacional e seus componentes auxiliares). O sistema como um todo tem por objetivo computar aplicações do
usuário.
Nessa disciplina, o propósito maior é descrever a arquitetura da parte de hardware. Assim, já foram descritas as
características dos componentes de Entrada/Saída (E/S) – Tema 2 - e do sistema de Armazenamento (memórias) –
Tema 3.

Neste texto serão descritas as características, organização e parâmetros dos processadores, enquanto no próximo e
último tópico (Tema 5) serão apresentadas considerações sobre as arquiteturas modernas. Essas arquiteturas, para
fazer frente aos crescentes desafios em termos de capacidade e rapidez de processamento dos vastos volumes de
dados atualmente produzidos pelos sistemas de multimidia, streaming, jogos e outros semelhantes, empregam o
conceito de paralelismo para aumentar o desempenho dos sistemas de computação. Arquiteturas paralelas,
arquiteturas de 64 bits e o exemplo da arquitetura ARM para sistemas móveis são o tópico do próximo Tema.

O assunto atual, Processadores, será mostrado em partes, a saber:

 Organização
 Instruções de Máquina e o Ciclo de Instrução
 Dispositivos básicos internos para realizar o Ciclo de Instrução
 Fases e métodos de Execução de programas

ORGANIZAÇÃO DOS PROCESSADORES

Qual a função de um Processador ou Unidade Central de Processamento (UCP)? Para que serve este
componente de um computador? Conforme mostrado no Tema 2, sobre um processador pode-se afirmar:

a) objetivo funcional: executar operações muito simples (tais como somar 2 números, mover um número
deum local para outro, transferir um número de um dispositivo de entrada para a memória principal e
assim por diante);
b) essas operações são previamente definidas e programadas no hardware pelo fabricante, sendo
formalizadas para o processador por uma sequência de bits, sendo esta sequência chamada Instrução
de Máquina (IM);
c) A efetiva execução da Instrução de Máquina (IM) é realizada, etapa por etapa, por um algoritmo
conhecido como Ciclo de Instrução. O ciclo pode ser compreendido com atividades em duas categorias:
as cerebrais (de interpretação e emissão dos sinais de controle apropriados para execução) e as de
execução de uma operação propriamente dita.
d) A execução de uma IM seguida de outra caracteriza o processamento de um programa executável (que
nada mais é do que um conjunto de IM).

No item seguinte, serão descritos os passos do Ciclo de Instrução bem como os dispositivos internos do
Processador requeridos para realização do tal Ciclo. Em seguida apresenta-se detalhes de uma IM.

Ainda sobre a organização de um Processador, mostra-se na figura 1, alguns dispositivos internos do referido
componente, projetados para executar instruções de máquina. Todos os dispositivos internos de um processador
tem algum propósito na interpretação e execução de uma instrução de máquina, conforme pode-se comprovar
ao compreender a execução de um Ciclo de Instrução.
Em última análise, um Processador é projetado e funciona exclusivamente para executar Ciclos de Instruções,
bilhões deles por segundo, mas somente isso, desde quando se liga a alimentação da máquina até se desliga-la
ou reinicializá-la (“boot”)

Na organização mostrada na figura 1 observa-se a unidade que realiza a atividade fim de um processador, a ULA
– unidade lógica e aritmética, projetada para executar operações matemáticas, sejam aritméticas ou lógicas.

Processador

Reg Dados
ULA
1 01 1 01 1 1 1 0 0 ........1 0 0 1

UC Instrução de Máquina

Figura 1- exemplo simples de uma organização

Também são mostrados os registradores de dados, que servem como auxílio direto da ULA, armazenando os
dados que serão manipulados em uma operação (instrução) e também o resultado da operação. À esquerda é
mostrada, sem legendas e ainda sem explicações, elementos da área de controle, a parte “cerebral” do
processador, cujo componente principal é a UC – unidade de controle.

Já se mencionou diversas vezes que a análise das funções de um processador, conclui que elas (funções) podem
ser classificadas do tipo “cerebrais” e do tipo “muscular” (por semelhança com as atividades do corpo humano).
E que em conjunto, são realizadas pelo algoritmo chamado CICLO DE INSTRUÇÂO (ver figura 2).

O tipo “cerebral” corresponde a: Área de controle e o tipo “muscular” corresponde a Área de execução (ou
processamento), atualmente mais conhecida como Caminho de Dados “Data Path”).

Figura 2- Etapas de um ciclo de instrução


RESUMO DESCRITIVO - Parte B - O Ciclo de uma Instrução e os Dispositivos necessários
Já se mencionou aqui e é sempre bom reforçar que o projeto da Arquitetura de um processador tem por
objetivo a execução de Instruções de Máquina, uma a uma (um programa executável é constituido de o conjunto
delas, conforme o programador criou o código fonte). E também, que uma instrução é executada por meio da
realização do passo a passo do ciclo de instrução, igual ao da figura 2.

Então, para se conhecer o funcionamento interno do processador, identificar seus componentes básicos e a
função de cada um, é preciso ir analisando etapa por etapa do referido ciclo.

A figura 3 mostra um pouco mais detalhe do ciclo completo da figura 2. Ao analisar cada etapa, pode-se
compreender seu significado e as atividades envolvidas e deduzir, assim, que dispositivo (s) é(são) envolvido(s)
no processo de cada etapa.

Figura 3- O ciclo de Instrução em etapas

Na figura 3 observa-se as etapas e sua associação às áreas lógicas de uma processador, sendo as etapas 1-2 e 3
associadas à área de controle (“cerebral”) e as etapas 4-5-6 associadas à área de processamento (caminho de
dados).
Pode-se também observar que o ciclo é um algoritmo SEM PARADA, isto é, tem Início, quando se liga o sistema
(ou reinicia) e ininterruptamente ele executa instrução por instrução. Inclusive, o sistema “salta” de um programa
para outro (entende-se este processo quando se estuda as funções dos Sistemas Operacionais), sem que o usuário
perceba essas alterações.
Etapa 1 - Busca da Instrução a ser executada.

Analisando o funcionamento do processador, observe a etapa 1 (ver figura 3). O ciclo inicia com uma operação de
leitura (transferência do valor binário-dado ou instrução-da memória para o processador), onde o processador irá
buscar uma cópia da instrução armazenada na memória principal (MP).
Para isso, como se sabe, ele precisará do seu endereço, o qual se encontra armazenado em um registrador
chamado CI-Contador de Instrução (PC – program counter ou IP-Instruction Pointer). O Sistema Operacional é que
armazena o endereço da 1ª instrução do programa executável para iniciar sua execução, daí em diante
automática.
A cópia da IM é armazenada no processador para ser interpretada e executada. Processadores mais antigos
(processamento sequencial) usavam um registrador especial para armazenar a cópia da IM, chamado RI-
Registrador de Instrução (IR-instruction register).
Atualmente, os processadores usam métodos mais avançados de funcionamento (como, por exemplo, Pipelining
– a ser descrito no Tema seguinte)e podem ter armazenados em dado instante mais de uma IM e, nesse caso,
precisam de pequena memória para armazená-las em vez do RI.

Em resumo: verifica-se a necessidade de dois dispositivos para esta etapa:


CI (ou PC ou IP) e RI (ou IR ou pequena memória).

Etapa 2-Atualização do valor do CI (endereço da próxima instrução)

Conforme aprendeu-se nos Textos dos Temas 1 e 2, a enorme vantagem dos computadores deve-se ao fato, entre
outras coisas, de ser um dispositivo automático, isto é, basta iniciar uma sequência de instruções (pela primeira)
e, sem intervenção externa executa a seguinte e a seguinte e a seguinte.
E como ocorre esta automatização?
O mecanismo para se obter a referida automatização se concentra no uso do CI e na atualização de seu valor por
meio de uma programação contruida na fabricação do processador.
Em outras palavras, depois de utilizar o endereço para busca de uma IM na memória, o processador é programado
para somar um valor N ao seu conteúdo e, assim, o resultado passa a ser o endereço da próxima instrução. Desse
modo, assim que ele termina uma execução, inicia a execução seguinte, buscando a nova instrução pois seu
endereço já está armazenado no CI. E assim por diante.
A figura 4 mostra um exemplo deste processo.

Na figura, mostra-se um processador, com o CI e RI (omitiu-se o REM e RDM para não atrapalhar a explicação),
estando inicialmente o CI com o valor 47 armazenado. Este valor, é o endereço da instrução a ser executada no
momento (instrução 1) conforme se observa ao lado com a imagem da memória, contendo alguns endereços e
instruções.

Processador Memória

47 Instr 1 Figura 4 - Exemplo


48 de um acesso do
Instr 2
processador à
49 Instr 3 memória para busca
RI CI da instrução a ser
50
Instr 1 47 48 executada
Conforme etapa 1 do ciclo de instrução o processador busca cópia da Instrução 1 e armazena-se no RI. Em
seguida, o CI é automaticamente incrementado (passa de 47 para 48), o que o faz agora armazenar o endereço
da instrução seguinte na sequência (instrução 2) – lembre-se do Princípio da Localidade em que se aprendeu que
o processador usualmente executa um bloco de instruções contíguas. Dai o CI ser incrementado desta forma, para
apontar para a instrução seguinte (etapa 2.

Esta sucessão de incrementos do CI, instrução por instrução é que faz a execução do programa ser AUTOMÁTICA,
como se vem mencionando desde o Tema 1.

Etapa 3- Decodificação - Interpretação de qual operação será realizada-

Prosseguindo com a execução do ciclo de instrução, e ainda observando a mesma figura 3, chega-se a etapa 3, de
interpretação de qual instrução o processador executará, etapa crucial de execução. E nesta etapa aparece a
necessidade de um novo dispositivo a ser analisado, o Decodificador de Instrução.

Para se compreender melhor a função desse dispositivo deve-se conhecer o formato básico de uma Instrução de
Máquina, já mostrado no Tema 2 e que será descrito em mais detalhes no item seguinte (parte C – Instruções de
Máquina).

Basicamente, uma IM é o elemento (conjunto de bits) com que o processador é capaz de interpretar e executar
um determinada operação, escolhida entre as que foram definidas no projeto e programadas internamente no
processador. Um das partes do binário IM chama-se Código da Operação (C.Op), que indica a específica instrução
a ser executada. Cada IM possui um C.Op.

Codigo de Operação Operando(s)


Figura 5- Formato básico de uma IM

A interpretação (decodificação) desse código definirá qual operação será executada naquele momento.

Desse modo, a etapa de Decodificação é realizada pelo dispositivo Decodificador de Instrução. Ele possui n
entradas, sendo n = C.Op e 2n saídas, cada uma apontando para o correspondente algoritmo de execução de
uma das operações existentes no processador. Este dispositivo foi mostrado no texto anterior de Portas Lógicas.

Como se descreveu no texto anterior, o decodificador gera UMA ÙNICA saída válida (bit 1) em cada uso, saída
esta correspondente ao valor de entrada. Esta saída apontará, em outro componente, a UC-unidade de controle,
qual o algoritmo a ser executado (qual operação será executada (uma soma ou uma subtração ou uma operação
de movimento , etc, conforme mostrado no item seguinte deste texto (Instrução de Máquina).

Por exemplo, se fosse usado um decodificador 2 x 4 (dois fios de entrada e quatro saídas), as saídas possíveis
seriam 00 -01 -10 -11; se, em dada execução, o C.Op fosse 10, este valor seria entrada do decodificador e
apareceria um valor 1 APENAS na saída 10, o qual se conectaria na UC para executar a correspondente operação
(identificada pelo código 10).

Para completar os componentes básicos dessa área de controle, resta mencionar o uso do Relógio. Os pulsos
gerados por este componente, dentro da programação prévia das atividades do ciclo vão comandar todo o
processo, sincronizando ações e cadenciando (dando o ritmo, a velocidade) das atividades.

Relógio - dispositivo que produz uma sequência de pulsos em uma frequência determinada, os quais servem para
sincronizar e cadenciar as diversas microoperações do processador.
Há um único relógio físico no sistema, que passa por uma distribuidor (multiplica ou divide a quantidade de pulsos)
e os envia, na sequência requerida para: processador (maior velocidade); barramentos.

Veloc= 1MHz = 1 * 106 .

Intervalo entre pulsos (ciclo do relógio) = 1 / 1 * 106 = 1 microseg ou 10-6

A figura 6 mostra um diagrama com os mencionados componentes da área de controle.

Figura 6 – Componentes da área de controle

Etapas 4-5 e 6- Processamento-Execução da operação

Para concluir, resta mostrar as etapas 4, 5 e 6 do ciclo de instrução (figura 2), cujas atividades pertencem a outra
área lógica, área de processamento, também e mais comumente chamada de Caminho de dados.
Em resumo e extraindo da figura:

4. Se houver operando(s) buscar na memória.


5. Executar a operação na unidade de cálculo
6. Escrever resultado (se houver)

Decorrente da decodificação do C.Op de uma determinada instrução, a UC emite os sinais correspondentes (cuja
sequência está previamente programada naquela unidade) para execução das etapas 4 – buscar operandos na
memória ou registradores e leva-los a ULA-Unidade Lógica e Aritmética.

Em seguida, são emitidos os sinais para efetiva realização da operação matemática (aritmética ou lógica) e concluir
com o armazenamento do resultado, de forma parcial (para ser usado em operação seguinte) ou definitiva (etapa
6 do ciclo).

Então, além da ULA-Unidade Lógica e Aritmética, os processadores possuem uma memória auxiliar da ULA, os
registradores de dados e um ou mais registradores de controle (algumas vezes chamados Flags) para auxiliar o
sistema operacional e as execuções seguintes.

A figura 7 mostra exemplo dos componentes básicos da área de processamento ou caminho de dados.
Figura 7 – Componentes da área de processamento ou caminho de dados

Unidade Lógica e Aritmética- componente que representa a atividade fim de um processador, onde são
executadas as operações matemáticas programadas. Ela recebe os dados dos registradores e retorna o resultado
da operação a eles.

Registradores de Dados - armazenam os dados a serem manipulados pelas unidades de cálculo. Possuem mesmo
tamanho da palavra do processador (32 ou 64 bits). Nos processadores atuais armazenam números inteiros
enquanto outros registradores (com 64 bits ou 128 bits de largura armazenam números em ponto flutuante

Registrador de Controle – armazena elementos de ajuda na interpretação de ocorrências em operações (bit de


overflow, bit de underflow, bit de “vai 1” em operações de soma, bit indicador de resultado zero, etc)

Arquitetura de um Processador
Todo o conjunto de dispositivos existente em um processador (decodificadores, unidades de cálculo,
registradores, etc) servem para executar as instruções. Na realidade, servem para realizar as etapas de um ciclo
de instrução.

Principalmente o conjunto de instruções e os registradores de dados formam a ARQUITETURA DO PROCESSADOR


(podem servir a mais de um modelo de processador); lembre-se da explicação sobre Arquitetura x
Implementação, no Tema 1.
A Arquitetura de qualquer Processador é projetada para executar Instruções de Máquina.

Na fábrica, os engenheiros projetistas definem quais operações serão realizadas diretamente pelo Hardware. As
operações são implementadas por sequências binárias denominadas ,

Exemplos de Arquiteturas conhecidas: Intel X86, AMD 64, ARM, Power PC


RESUMO DESCRITIVO - Parte C – Instruções de Máquina
Observando-se a descrição do Ciclo de Instrução, em cada etapa aparece a palavra INSTRUÇÃO ou OPERAÇÃO
(expressada por uma instrução). Ou seja:

etapa 1. buscar a....Instrução


etapa 2. ...apontar para próxima......Instrução
etapa 3. decodificar código da.....operação
etapa 4. buscar operando(s)...para uma...operação
etapa 5. executar a....operação.

Então, para realmente compreender o funcionamento de um processador, por meio de seu Ciclo de Instrução,
deve-se basicamente entender o formato e funcionalidade de uma Instrução de Máquina. O nome já mostra que
se trata de um elemento específico de uma máquina (um processador) , não sendo comum a todos. Por exemplo,
as instruções do processador Intel (família X 86), como o Pentium 4, não são as mesmas do processador Cell da
IBM, nem dos processadores SPARC da SUN. Mas uma linguagem de alto nível como C, pode ser usada (com
pequenas modificações) nesses três processadores. Para cada processador haverá um programa compilador C,
que converterá o código C em código da máquina específica (Pentium ou Sparc ou Cell).

Uma Instrução de Máquina é, pois, um conjunto de bits que identifica uma determinada operação primitiva a ser
realizada diretamente pelo HW, bem como direciona os demais dispositivos (por meio de sinais de controle) para
cada um executar sua parte no processo.

Há alguma semelhança com os movimentos do corpo humano, com suas duas áreas:
 área do cérebro, que interpreta e controla execução dos movimentos de nosso corpo-semelhante a área
de controle, UC dos processadores
 área de movimento, constituída de nossos membros, cordas vocais, ouvido, etc-semelhante á área de
processamento (caminho de dados) dos processadores.

Assim, se desejamos levantar um braço ou falar, por exemplo, nosso cérebro percebe esta vontade (como a
interpretação de uma instrução pelo processador) e emite uma série de sinais (que caminham pelos nossos
nervos) para acionar o braço ou movimentar nossas cordas vocais.
Da mesma forma, o decodificador produz um sinal único de saída, conforme o C.Op recebido e aciona a sequência
de execução da operação por meio de uma série de sinais de controle.

Exemplos de operações primitivas:

 Operações aritméticas – somar, subtrair, multiplicar e dividir


 Operações lógicas – AND, OR, XOR
 Operações de entrada e saída de dados
 Operações de movimentação de dados
 Operações de desvio de controle

Formato das Instruções de Máquina


Embora cada processador (ou família de processadores de uma dada Arquitetura) possua suas próprias instruções
de máquina, com formatos, tamanho, etc, todas elas seguem um consenso de formato, necessários para
funcionamento dos processadores, já que todos funcionam mais ou menos dentro dos mesmos conceitos iniciais
(embora muito aperfeiçoados atualmente).
Usualmente, uma Instrução de Máquina deve conter um grupo de bits que identifica a operação (denomina-se
CÓDIGO DA OPERAÇÃO) e outro grupo de bits que identifica a localização dos dados que serão manipulados na
referida operação. (denomina-se OPERANDO(S))

110101 1010101010101010101010

Cód. operação
Operando (s)

Por exemplo:

A instrução ADD Op1, Op2--- significa: SOMAR (ADD) o valor localizado em OP1 (endereço da MP) com o valor
localizado em Op2 e armazenar resultado em Op2. Portanto, possui um C.Op (ADD) e DOIS operandos (Op1 e
Op2).
A instrução ADD Op1, Op2, OP3--- significa: SOMAR (ADD) o valor localizado em OP1 (endereço da MP) com o
valor localizado em Op2 e armazenar resultado em Op3. Possui um C.Op (ADD) e TRÊS operandos

Um formato genérico pode conter dois campos básicos: Código de Operação (C.Op) e Op-Operando(s)

Cod.Oper. Operando (s)

Código de Operação – C.Op


Código de Operação – C.Op. – campo da instrução que indica qual a operação a ser realizada e sua decodificação
inicia a execução da referida operação.

A quantidade de algarismos (largura) do campo C.Op, limita o tamanho do conjunto de instruções de um


determinado processador (a quantidade de instruções do referido conjunto).

Por exemplo, com C.Op = 1000 e 1101, ambos possuem 4 algarismos de largura. Assim, como 2 4 = 16, o conjunto
de instruções do processador terá um máximo de 16 instruções (16 códigos de operação).

Exemplos de formatos de instruções de máquina

C. Op Operando ADD A

C. Op Oper 1 Oper 2 ADD A, B

C. Op Oper 1 Oper 2 Oper 3 ADD A, B, C


ADD Op1, Op2 – soma o valor cujo endereço é Op1 com o valor cujo end. é Op2 e armazena o resultado no
endereço indicado por Op1.
Os valores Op1 e Op2 podem ser endereço de memória ou endereço de registradores de dados. Nesse último
caso, a sintaxe da instrução costuma ser: ADD R1, R2

Código Operando (s) – Op(s).

O campo Operando (s) -Ops indica para o processador a localização de cada dado que ele irá manipular naquela
específica operação.

Por exemplo, na operação ADD Op1, Op2, Op3, os campos Op1, Op2 e Op3 são operandos, cada um deles
indicando o endereço de memória onde está armazenado cada dado.

Os dados poderão, também, estarem armazenados já em registradores do processador. Nesse caso, a instrução
seria, por exemplo, ADD R1, R2, R3, sendo R1, R2 e R3 endereços de cada registrador onde estarão os dados.

EXEMPLOS DE INSTRUÇÕES DE MÁQUINA


 Transferir uma palavra de dados de uma célula para outra.
MOV Op1, Op2----------------------X = A, sendo X=Op1 e A = Op2

 Efetuar a soma de dois números (operandos), guardando resultado (3º operando) em um deles ou em um
operando explícitamente indicado.
ADD Op1, Op2----------------------X = A + B, sendo: X = Op2, A = Op1 e B = Op2
ADD OP1, Op2, OP3---------------X = A + B, sendo: X = Op3, A = Op1 e B = Op2

 Desviar incondicionalmente para outro endereço , fora da sequência de execução.


BR Op (branch) ou JMP Op (jump)------------desviar para endereço Op

 Testar uma condição (p.ex: se o valor de um registrador é igual a zero ou não). Se o teste for verdade,
então desviar para outro endereço , fora da sequência de execução.
BEQ Op (desviar se igual) ou JZ (desviar se igual a Zero)

 Realizar uma operação lógica AND entre duas varáveis lógicas.


AND Op1, Op2--------------X = A.B (A and B), sendo: X = Op2, A = Op1 e B = Op2

 Adicionar 1 ao valor de um número (operando).


INC reg (incrementar de 1 conteúdo do registrador indicado)

 Transferir 1 byte de dados de uma porta de E/S para a MP.


IN AL,imm8 (transferir conteúdo da porta imm8 para reg AL)

 Transferir 1 byte de dados da MP para uma porta de E/S.


OUT imm8, AL (transferir conteúdo reg AL na porta imm8

 Parar a execução de um programa.


HLT (Halt)
RESUMO DESCRITIVO - Parte D – Execução de Programas
Atualmente, é raro (muito raro) escrever-se um programa diretamente na linguagem da máquina em virtude da
enorme dificuldade de se organizar as instruções sem erros (quanto maior o programa, maior é a possibilidade de
erros, enganos ou omissões) e dos problemas de entendimento e manutenção do programa tanto por parte de outros
programadores como até mesmo por quem criou o referido programa.

Já se mencionou anteriormente que, em razão dessas dificuldades , criaram-se linguagens que pudessem facilitar a
vida do programador para desenvolvimento dos seus aplicativos.. A primeira dessas simplificações foi uma linguagem
próximo da linguagem de máquina, porém usando símbolos dos humanos em vez de bits 0 e 1.Trata-se da linguagem
Assembly, que acompanha até hoje todo processador, embora seu uso seja cada vez mais restrito também.

Assim, quando se deseja instruir o processador a executar uma soma de dois valores, o fabricante cria códigos
binários específicos e a linguagem Assembly mostra esses códigos em caracteres próprios. Por exemplo, em vez de
se usar para a referida soma, o código 11100 e os valores 0100011101 e 1111001010 para os operandos, usa-se:

ADD A, B

Posteriormente foram sendo criadas novas linguagens com estruturas mais próximas da lógica do programador do
que da máquina, as quais chamaram-se genericamente de linguagens de alto nível . Exemplos dessas linguagens são:
Fortran – Cobol – C – Phyton – Java e outras mais.

Desse modo, como não se cria o programa diretamente em binário, há necessidade de se converter esse programa
para binário. Há outras tarefas a fazer antes de se gerar propriamente o código executável. Em conjunto, essas
atividades caracterizam fases da Execução de um Programa, mostradas nesse item.

Então, um programa criado em uma linguagem de alto nível, como C ou PHP requer uma série de conversões e
verificações e ajustes até efetivamente se tornar um código binário pronto para execução (código executável). Este
programa em sua fase inicial (código em linguagem de alto nível) chama-se usualmente de código fonte, conforme
mostrado na figura 9.
Este código é examinado por um programa chamado Compilador, o qual verifica a correção do fonte (análise léxica,
análise sintática e análise semântica) e, em seguida, o converte em um programa equivalente em linguagem binária
daquele processador (Etapa de Compilação). Este código gerado, costuma ser chamado de código objeto.

Figura 9 – Fluxograma do processo de execução de um programa


Bibliografia (ou Referências)
Básica: Disponíveis na Biblioteca Digital
MONTEIRO, M. Introdução à organização de computadores. 5. ed. Rio de Janeiro:
NULL, L.; LOBUR, J. Princípios básicos de arquitetura e organização de computadores. 2. ed. Porto
Alegre: Bookman,
STALLINGS, W. Arquitetura e organização de computadores. 8. ed. São Paulo: Pearson Prentice Hall,

Complementar:

DELGADO, José e RIBEIRO, Carlos. Arquitetura de Computadores, 5a ed, Rio de Janeiro


PATTERSON, D. A. et al. Organização e projeto de computadores. 5. ed. Rio de Janeiro:
WEBER, R. F. Fundamentos de arquitetura de computadores. 4. ed. Porto Alegre: Bookman:
TANENBAUM, A. S. Organização estruturada de computadores. 5. ed. Rio de Janeiro:

Você também pode gostar