Buscar

AVA_2_Disciplina_O_A_C

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Definição Arquitetura de Von Neumann: 
 
É uma arquitetura de computador que se caracteriza pela possibilidade de que uma máquina digital, seja capaz 
de armazenar seus programas no mesmo de memória que os dados, podendo manipular tais programas, ela também se 
caracteriza por ser um projeto de computador digital, que utiliza a unidade central de processamento (CPU), e uma de 
armazenamento (Memória) para comportar instruções e dados. 
 
Esta arquitetura foi concebida a partir de 1946, quando John Von Neumann, e sua equipe desenvolveram o 
projeto de “computador de programa armazenado”, este foi projetado pela IAS, e largamente difundido, sendo 
influenciador de muitos outros projetos de computador subsequentes de outras máquinas. A máquina de Von 
Neumann, foi a base de praticamente todas as máquinas atuais. 
 
 
 
 
 
Gargalo de Von Neumann: 
 
 É a limitação da taxa de transferência entre CPU e a memória em comparação com a quantidade de memória, 
esta transferência é menor que a taxa com que o processador consegue trabalhar, e menor do que a quantidade de 
memória disponível. Desta forma faz com que a CPU, seja forçada a esperar dados que precisam ser transferidos a partir 
da memória, gerando assim perda de tempo, pois a CPU fica no aguardo de dados. 
 
 
 
Componentes de Von Neumann na arquitetura moderna 
 
 
 
 
Interpretação Vs Compilação 
 
 A linguagem compreendida pelo computador é chamada de Linguagem de Máquina e/ou Linguagem Binária, e é 
classificada como uma linguagem de baixo nível. Ela se utilizada somente de dois símbolos (binária) para escrever 
instruções a serem executadas pelo computador, sendo estes símbolos o 0 (zero) e o 1 (um). 
 
Devido à dificuldade natural do ser humano em se expressar por uma linguagem como esta, somente com dois 
símbolos, ele desenvolveu as Linguagens de Programação, que não são diretamente compreendidas pelo computador, 
apesar de servirem somente para a interação entre ambos (HUMANO x COMPUTADOR). Para esta interação acontecer é 
necessária a tradução do conteúdo elaborado em Linguagem de Programação para a Linguagem de Máquina. Esta 
tradução pode ocorrer de duas formas distintas denominadas interpretação e compilação (INTERPRETAÇÃO x 
COMPILAÇÃO). 
Uma linguagem de programação pode ser convertida, ou traduzida em código de máquina por compilação ou 
interpretada por um processo denominado interpretação. Em ambas ocorre a tradução do código fonte para código de 
máquina. 
 
 A diferença fundamental nestes dois processos de tradução é relevante ao desenvolvimento de algoritmos e 
programas computacionais, pois resulta na alocação de mais recursos computacionais em sua execução pelo 
computador. Entre as diferenças entre estes processos de tradução, são relacionados abaixo somente as principais: 
 
 
COMPILADOR INTERPRETADOR 
ler uma instrução no algoritmo. ler uma instrução no algoritmo. 
depurar somente a instrução lida. depurar somente a instrução lida. 
traduzir a instrução lida para linguagem de máquina. traduzir a instrução lida para linguagem de máquina. 
seguir para próxima instrução na sequência do algoritmo. executar a instrução traduzida. 
manter ciclo acima em execução até fim do algoritmo. seguir para próxima instrução na sequência do algoritmo. 
executar algoritmo totalmente traduzido e em linguagem de 
máquina. 
manter o ciclo acima em execução até fim do algoritmo. 
 
 
Se o método utilizado traduz todo o texto do programa (também chamado de código), para só depois executar o 
programa, então diz-se que o programa foi compilado e que o mecanismo utilizado para a tradução é um compilador 
(que por sua vez nada mais é do que um programa). A versão compilada do programa tipicamente é armazenada, de 
forma que o programa pode ser executado um número indefinido de vezes sem que seja necessária nova compilação, o 
que compensa o tempo gasto na compilação. Isso acontece com linguagens como Pascal e C. 
 
Se o texto do programa é executado à medida que vai sendo traduzido, como em JavaScript, BASIC, Python ou 
Perl, num processo de tradução de trechos seguidos de sua execução imediata, então diz-se que o programa foi 
interpretado e que o mecanismo utilizado para a tradução é um interpretador. Programas interpretados são geralmente 
mais lentos do que os compilados, mas são também geralmente mais flexíveis, já que podem interagir com o ambiente 
mais facilmente. 
 
Embora haja essa distinção entre linguagens interpretadas e compiladas, as coisas nem sempre são tão simples. 
Há linguagens compiladas para um código de máquina de uma máquina virtual (sendo esta máquina virtual apenas mais 
um software, que emula a máquina virtual sendo executado em uma máquina real), como Java (compila para a 
plataforma Java) e C♯ (compila para a plataforma CLI). E também há outras formas de interpretar em que os códigos 
fontes, ao invés de serem interpretados linha-a-linha, têm blocos "compilados" para a memória, de acordo com as 
necessidades, o que aumenta a performance dos programas quando os mesmos módulos são chamados várias vezes, 
técnica é conhecida como JIT. 
 
Como exemplo, podemos citar a linguagem Java. Nela, um compilador traduz o código Java para o código 
intermediário (e portável) da JVM. As JVMs originais interpretavam esse código, de acordo com o código de máquina do 
computador hospedeiro, porém atualmente elas compilam, segundo a técnica JIT o código JVM para código hospedeiro. 
 
A tradução é tipicamente feita em várias fases, sendo as mais comuns a análise léxica, a análise sintática (ou 
parsing), a geração de código e a otimização. Em compiladores também é comum a geração de código intermediário 
 
Na Compilação o programa escrito na linguagem fonte é traduzido para linguagem máquina e depois ligado e 
carregado para ser executado. 
 
Na Interpretação o programa fonte é traduzido e executado instrução a instrução, de modo interativo. O 
Interpretador traduz cada instrução para uma representação interna e interpreta-a simulando o funcionamento do 
processador. 
O Interpretador aceita para além das instruções da linguagem, comandos para controlar o seu funcionamento. 
Vantagens 
 
O ciclo escrita, execução, modificação é mais rápido. 
 
Desvantagens 
 
A execução é mais lenta. 
 
Apesar das sutis diferenças entre estes dois processos de tradução, sua adoção provoca alterações significativas 
na utilização do algoritmo ou programa de computador elaborado. O ambiente Visual realiza esta tradução através de 
seu interpretador próprio sobre o algoritmo fonte elaborado em português estruturado. 
 
Um algoritmo ou programa fonte consiste no conjunto de instruções descritas em uma Linguagem de 
Programação ou pseudocódigo, geralmente elaboradas por meio de um editor de texto simples que respeite o padrão 
ASCII de escrita. Este algoritmo ou programa é desenvolvido de acordo com as regras sintáticas e semânticas definidas 
pela linguagem de programação utilizada, normalmente, sendo estas mais próximas à linguagem de comunicação 
natural do ser humano (linguagem de alto nível). 
 
Para execução de um algoritmo ou programa pelo processo de interpretação sempre é necessária a presença 
(instalação) do interpretador no computador que estar á executando tal algoritmo ou programa. Para realizar a 
compilação está presença não é sempre obrigatória, pois o programa totalmente traduzido e pronto para execução é 
armazenado em um outro arquivo físico de computador, classificado como executável, e somente sua presença já 
garante a execução dele.

Continue navegando