Buscar

Introdução a Computação 01

Prévia do material em texto

Universidade Federal do Maranhão 
Centro de Ciências Exatas e Tecnologia
Departamento de informática
Disciplina: Introdução a computação 
Professor: Francisco Da Conceição Silva
Curso: Engenharia Química
Introdução a computação
Aluno: Ronaldo Maison Martins Costa
Matricula: 2015050307
São Luís - Ma 
24/03/2017
Introdução
Hoje em dia, os computadores estão presentes em nossa vida de uma forma nunca vista anteriormente. Sejam em casa, na escola, na faculdade, na empresa ou em qualquer outro lugar, eles estão sempre entre nós. Ao contrário do que parece, a computação está presente em nossas vidas de todas as maneiras possíveis, nesse trabalho será falado um pouco sobre a arquitetura de computadores de Von Neumann, a medida da grandeza da memória e medida de desempenho da memória. 
Arquitetura de Von Neumann
A Arquitetura de Von Neumann (de John von Neumann, pronunciado Nóimánn) é uma arquitetura de computador que se caracteriza pela possibilidade de uma máquina digital armazenar seus programas no mesmo espaço de memória que os dados, podendo assim manipular tais programas. Esta arquitetura é um projeto modelo de um computador digital de programa armazenado que utiliza uma unidade de processamento (CPU) e uma de armazenamento ("memória") para comportar, respectivamente, instruções e dados.
A máquina proposta por Von Neumann reúne os seguintes componentes:
Uma memória, Uma unidade aritmética e lógica (ALU), uma unidade central de processamento (CPU), composta por diversos registradores, e uma Unidade de Controle (UI), cuja função é a mesma da tabela de controle da Máquina de Turing universal: buscar um programa na memória, instrução por instrução, e executá-lo sobre os dados de entrada.
Todos os elementos dessa arquitetura são alinhados da estrutura hardware do CPU, assim o sistema pode realizar todas as suas atividades sem apresentar erros no desempenho. Von Neumann é continuamente influenciados pela evolução tecnológica, tendo peças mais modernas inseridas. Cada um dos elementos apresentados é realizado à custa de componentes físicos independentes, cuja implementação tem variado ao longo do tempo, consoante a evolução das tecnologias de fabricação, desde os relés eletromagnéticos, os tubos de vácuo (ou válvulas), até aos semicondutores, abrangendo os transistores e os circuitos eletrônicos integrados, com média, alta ou muito alta densidade de integração (MSI - medium scale, LSI - large scale, ou VLSI - very large scale integration), medida em termos de milhões transistores por pastilha de silício.
Diagrama da Arquitetura
As novas interações entre os elementos exibem tempos típicos que também têm variado ao longo do tempo, consoante as tecnologias de fabricação. Atualmente, as CPUs processam instruções sob controlo de relógios cujos períodos típicos são da ordem de 1 nano segundo, ou seja, {\displaystyle 10^{-9}} 10^{-9} segundos. As memórias centrais têm tempos típicos de acesso da ordem da dezena de nano segundos. As unidades de entrada e saída exibem tempos típicos extremamente variáveis, mas que são tipicamente muito superiores à escala do nano segundo. Por exemplo, os discos rígidos exibem tempos da ordem dos milissegundos (milésimo de segundo, {\displaystyle 10^{-3}} 10^{-3}). Outros dispositivos periféricos são inertes, a não ser que sejam ativados por utilizadores humanos: por exemplo, um teclado só envia informação para o computador após serem pressionada as devidas teclas. Assim, este dispositivo se comunica com a CPU eventualmente e, portanto, exibe tempos indeterminados.
O modelo (ou arquitetura) de Von Neumann foi concebido a partir de 1946, quando John von Neumann e sua equipe desenvolveram um novo projeto de “computador de programa armazenado”. Projetado pela IAS (Princeton Institute for Advanced Studies), este computador foi largamente difundido, influenciando muitos projetos subsequentes de outras máquinas.
As primeiras máquinas de computação tinham programas fixos. Alguns computadores muito simples ainda usam este projeto, quer para fins de simplicidade ou de formação. Por exemplo, uma calculadora de mesa (em princípio) é um programa de computador fixo. Ele pode fazer a matemática básica, mas não pode ser usado como um processador de texto ou um emulador de console de videogame. Alterar o programa de uma máquina de programa fixo exige religação, reestruturação ou re-projetar a máquina. Os primeiros computadores não eram tão "programados", como eles foram "desenhados". Era um processo trabalhoso, começando com fluxogramas e cédulas de papel, seguido de desenhos detalhados de engenharia e, em seguida o processo muitas vezes penoso fisicamente de religação e reconstrução da máquina. Podendo levar três semanas para criar um programa no ENIAC e começar a trabalhar.
A ideia do computador de programa armazenado, mudou tudo isso: um computador que pelo projeto inclui um conjunto de instruções e pode armazenar na memória um conjunto de instruções (programa) que detalha o cálculo. Um projeto de programa armazenado também permite que os programas possam se modificar durante a execução. Uma motivação precoce para uma instalação desse tipo foi a necessidade de um programa para incrementar ou modificar a porção do endereço das instruções, o que tinha que ser feito manualmente em projetos adiantados. Isto tornou-se menos importante quando registradores de índice e endereçamento indireto foram as características usuais da arquitetura da máquina. Código de Auto modificação foi amplamente caído em desuso, já que normalmente é difícil de entender e depurar, bem como sendo ineficiente em pipelining processador moderno, e esquemas de cache.
Em grande escala, a capacidade de tratar as instruções como os dados é o que faz montadores, compiladores e outras ferramentas de programação automatizada possíveis. Pode-se "escrever programas que escrevem programas." Em uma escala menor, instruções de I / O da máquina intensiva, como o BitBlt primitivos usados para modificar imagens em um display bitmap. Foi mostrado posteriormente que estas instruções podem ser implementadas de forma eficiente por "na compilação fly" ("just-in-time de compilação) de tecnologia, por exemplo, geração de código de programas, uma forma de código de auto modificação que se manteve popular.
Há desvantagens para a concepção de von Neumann. Além do gargalo de von Neumann descrito abaixo, alterar o programa pode ser bastante prejudicial, quer por acidente ou design. Em alguns projetos simples computador de programa armazenado, um programa com defeito pode danificar outros programas, ou o sistema operacional, possivelmente levando a uma pane no computador. Proteção de memória e outras formas de controle de acesso.
Medida de Grandeza da Memoria
Como o valor de um bit tem pouco significado, as memórias são estruturadas e divididas em conjuntos ordenados de bits, denominados células, cada uma podendo armazenar uma parte da informação. Se uma célula consiste em k bits ela pode conter uma em 2k diferente combinação de bits, sendo que todas as células possuem a mesma quantidade de bits.
Cada célula deve ficar num local certo e sabido, ou seja, a cada célula associa-se um número chamado de seu endereço. Só assim torna-se possível a busca na memória exatamente do que se estiver querendo a cada momento (acesso aleatório). Sendo assim, célula pode ser definida como a menor parte de memória endereçável.
Se uma memória tem N células o sistema de endereçamento numera as células sequencialmente a partir de zero até n-1, sendo que esses endereços são fixos e representados por números binários. A quantidade de bits em um endereço está relacionada a máxima quantidade de células endereçáveis. Por exemplo, se um endereço possui m bits o número máximo de células diretamente endereçáveis é 2m.
A maioria dos fabricantes de computador padronizaram o tamanho da célula em 8 bits (Byte). Bytes são agrupados em palavras, ou seja, a um grupode bytes (2,4,6,8 Bytes) é associado um endereço particular. O significado de uma palavra é que a maioria das instruções operam em palavras inteiras.
Os bytes em uma palavra podem ser numerados da esquerda para direita ou da direita para esquerda. O primeiro sistema, onde a numeração começa no lado de alta ordem, é chamado de computador big endian, e o outro de little endian. Ambas representações são boas, mas quando uma máquina de um tipo tenta enviar dados para outra, problemas de posicionamento podem surgir. A falta de um padrão para ordenar os bytes é um grande problema na troca de dados entre máquinas diferentes.
Esse é o indicador da capacidade de um computador. Quanto maior ela for, mais informação poderá guardar. Ou seja, quanto mais bytes a memória tiver, mais caracteres poderá conter e, consequentemente, maior o número de informação que guardará.
A memória é geralmente apresentada em múltiplos de K, M (mega), G (giga) ou T(tera).
1K equivale a 2^10
1M equivale a 2^20
1G equivale a 2^30
1T equivale a 2^40
Em geral, o tamanho da célula depende da aplicação desejada para a máquina.
Emprega-se células pequenas em máquinas mais voltadas para aplicações comerciais ou pouco cientificas. Uma memória com células de 1 byte permite o processamento individual de caractere, o que facilita o processamento de aplicações como editores de textos.
Por outro lado, cálculos científicos seriam desvantajosos em células pequenas pois números desse tipo precisariam de mais de uma célula para armazena-los. A capacidade propriamente dita da memória está relacionada diretamente à quantidade de células endereçáveis.
Medida de desempenho da memória
A medida geral de desempenho de um sistema de computação depende fundamentalmente da capacidade e velocidade de seus diferentes componentes, da velocidade com que estes componentes se comunicam entre si e do grau de compatibilidade que possa existir entre eles (por exemplo, se a velocidade da CPU de um sistema é muito maior que a da memória, então este sistema tem um desempenho inferior ao de um outro em que a CPU e a memória têm velocidades mais próximas).
Considerando a existência de tantos fatores que influenciam o desempenho de um sistema de computação, desenvolveram-se diversos meios de medir seu desempenho. O desempenho dos processadores, em geral, é medido em termos da sua velocidade de trabalho; como seu trabalho é executar instruções, criou-se a unidade (sempre questionada por alguns) chamada MIPS - milhões de instruções por segundo, e também a unidade MFLOPS (millions of floating point operations per second) - milhões de operações de ponto flutuante por segundo, que é uma medida típica de estações de trabalho e de supercomputadores, pois estes costumam trabalhar mais com cálculos matemáticos.
Já quando se trata de recuperação ou escrita de informações na memória, o tempo de acesso é uma unidade de medida mais apropriada, estando relacionada à velocidade de cada componente e à do canal de interligação entre os dois (CPU e memória). O tempo de resposta é uma medida ligada ao desempenho mais global do sistema e não de um ou outro componente. Trata-se do período de tempo gasto entre o instante em que o usuário iniciou uma solicitação ou interrogação e o instante em que o sistema apresentou ao usuário a sua resposta ou atendeu à sua solicitação. Por exemplo, o intervalo de tempo entre a solicitação de um saldo de conta em um terminal bancário e a apresentação no vídeo da resposta (o saldo da conta).
Uma outra unidade de medida de desempenho é a vazão ("throughput"), que define a quantidade de ações ou transações que podem ser realizadas por um sistema na unidade de tempo. Por exemplo, a quantidade de atualizações que podem ser feitas em um sistema de controle do estoque de uma empresa. Quando estamos nos referindo à velocidade com que um determinado dispositivo de entrada ou de saída transfere ou recebe dados da CPU, utilizamos uma unidade que mede a taxa de transferência que o canal de ligação pode suportar, isto é, a quantidade de bits por segundo que podem trafegar pelo referido canal.
Conclusão
Por meio deste trabalho concluímos que a tecnologia computacional desde suas raízes até hoje sempre está em constante mudança, com o passar do tempo provavelmente novos tipos de computadores surgirão, juntamente com novas tecnologias e novos tipos de processadores e memorias que aumentem seu desempenho e a demanda do mercado.

Continue navegando