quinta-feira, 17 de janeiro de 2013

Ciclo de Instrução

A função principal de um computador é executar programas. Claro que existe uma explicação bem mais detalhada a respeito de como se dá a execução destes programas, mas o principio básico é : O processador  executa um conjunto de instruções armazenadas na memória, fazendo a leitura e execução de cada uma delas, uma a uma.

Todo o processo necessário para execução de uma instrução é chamado de Ciclo de Instrução. A imagem a seguir ilustra um exemplo de ciclo de instrução.

Ciclo de Instrução
Nesta representação o programa seria encerrado apenas no caso de algum erro irreparável durante a execução, ou uma instrução com que indicasse o fim da execução do mesmo.

Mas como acontece um Ciclo de Instrução ?

No inicio de cada ciclo de instrução o processador busca a instrução armazenada na memória. O PC (program counter) é um registrador responsável por guardar o endereço de memória da PRÓXIMA instrução que irá ser executada, ou seja, quando o processador executa uma instrução o PC é incrementado para indicar a posição da próxima instrução e permitir que o processador busque as instruções de forma sequencial.
Uma vez buscadas, as instruções serão carregadas em outro registrador chamado IR (instruction register), cada instrução contém bits que indicam ao processador a ação que ele deve executar, dessa forma o processador interpreta a instrução e a executa.


até mais
o/

terça-feira, 15 de janeiro de 2013

Programas Hardwired e Software

Um sistema de computador é composto basicamente por: Dispositivos de E/S, Memorias, Processador e as interconexões entre estes componentes.

Em sua grande maioria, os projetos dos computadores mais atuais seguem o modelo de Von Neuman, porém nos primórdios da computação, para cada nova atividade que fosse criada era necessário uma nova organização dos componentes lógicos que pudesse executar aquela aplicação em específico, não preciso dizer que era um tanto complexo e demorado criar novos modelos de organização de hardware sempre que fosse necessário realizar alguma atividade distinta.

Esta prática de conectar os componentes de forma distinta para cada necessidade, passou a ser considerada como uma forma de 'programação', conhecida como Programa Hardwired.


Agora considere um modelo de organização mais "flexível", onde o conjunto de componentes estejam conectados de forma capaz de executar várias funções distintas, no qual sua execução varie de acordo com os sinais de controle que forem aplicados. Este é o principio da programação de softwares.


Diferente da programação diretamente em hardware, nesta são necessários que sejam transmitidos os sinais de controle. Mas como eles são transmitidos ? Um programa de software nada mais é do que um conjunto de instruções ordenadas chamadas de Algoritmos, ao implementarmos um software estamos criando um tipo de "passo-a-passo" onde será descrito o que o computador deve fazer em ordem de execução.

Nesta imagem o software é representado pela frase "Código de instruções", para que estas instruções possam ser reconhecidas pelos componentes de hardware, e necessário um "Interpretador de instruções" que vai traduzir essas instruções escritas no software para uma linguagem de máquina.. que são os sinais de controle , estes sinais são transmitidos para o módulo de processamento, para que enfim sejam mostrados os resultados no dispositivos de Saída.

------------------------------------------------------------------------------------------------------------
Dispositivos de E/S - Durante a execução do software o Dispositivo de Entrada (Teclado, Mouse) captura os dados, ou valores que serão utilizados na aplicação, e depois de processados os resultados são expostos no Dispositivos de Saída ( Impressora, Monitor).

Memória - No decorrer da execução podem existir alguns desvios de execução, nesta ocasião a memória irá armazenar valores e dados temporariamente até que o programa volte ao percurso normal e execução.



domingo, 13 de janeiro de 2013

Histórico de Evolução

O computador em sua história passou por GRANDES mudanças desde a sua criação. Nesse artigo serão abordadas as três gerações pelas quais o computador passou até chegar na arquitetura que utilizamos atualmente.

Primeira Geração: Válvulas Eletrônicas

O modelo que marcou essa geração, é o famoso ENIAC , ele foi o primeiro computador digital de grande escala, era um computador de grande porte e utilizava a representação decimal. Foi usado até 1995 a leitura e escrita de dados era feita usando uma "perfuradora" de cartões e ele era manipulado através da troca de posição das válvulas. Como na imagem :



Outro computador que caracteriza a geração das Válvulas Eletrônicas e  a MÁQUINA DE VON NEUMAN , foi um computador também manipulado através de válvulas, ele se chamava IAS e foi criado por volta de 1952, sua arquitetura permitia que a memória principal pudesse ser utilizada para armazenar tanto dados quanto instruções. A máquina reunia vários componentes dentre eles : Memória , Unidade de Processamento, uma ULA (Unidade Lógica e Aritmética) para realizar operações com dados binários, uma Unidade de Controle, Interpretação e Execução das instruções armazenadas na memória, Registradores e por fim Dispositivos de E/S para entrada e saída  de dados.

(Representação Gráfica do funcionamento da Máquina de Von Neuman)


Segunda Geração : Transistores

A era dos transistores teve inicio com a necessidade de otimizar os computadores manipulador por válvulas e torna-los mais rápidos e mais baratos. Um computador que caracteriza muito bem essa geração é o Bell Labs, foi o primeiro computador a utilizar transistores, criado em 1947 diferenciava-se dos que usavam válvulas por ser menor, mais barato e dissipar menos calor...começou a ser comercializado a partir da década de 50, e era composto por ULA's, e UC mais complexos, além de já utilizarem softwares e  linguagens de programação de nível mais alto.. Foi o ponto de partida na criação dos microcomputadores.



Terceira Geração : Circuitos Integrados
 A era dos circuitos integrados teve inicio no fim da década de 50, possuia equipamentos com componentes bem mais discretos ,  o Cis foi o primeiro computador à possuir um circuito integrado , ele caracterizou essa geração e deu inicio à microeletrônica.

Microeletrônica
Os componentes de um computador digital devem realizar funções de processamento, armazenamento, transferência e controle, para tal, são necessários dois tipos de componentes.
  • Portas Lógicas - Funções lógicas para processamento, movimentação de dados e controle.
  • Memórias - Armazenamento de um valor binário, movimentação de dados e controle.
Lei de Moore
Depois do inicio da geração dos circuitos integrados , por volta de 1965 Gordon Earle Moore , na época presidente da Intel , determinou que a produção de transistores dos chips iria dobrar a cada ano .. na década de 70 a produção dobrou a cada 18 meses. As principais consequências dessa medida foram : Os componentes puderam ficar mais próximos aumentando a velocidade das operações, Redução no custo de energia e necessidade do aumento de resfriamento e o computador com o tempo ficou cada vez menor.

até mais!
:)

Fonte : Arquitetura e Organização de Computadores - William Stallings - 5ªedição

sábado, 12 de janeiro de 2013

Arquitetura e Organização de Computadores - Introdução

Esta é uma disciplina que trata basicamente da arquitetura e funcionamento do computador, o livro "Arquitetura e Organização de Computadores - William Stallings - 5ªedição" será utilizado como referência de estudo.

Arquitetura - Pode-se dizer que a arquitetura de um computador diz respeito aos atributos que tem impacto direto na execução lógica de um programa. Ex : Mecanismos E/S, Técnicas de Endereçamento, número de bits usados para representar determinados tipos de dados, etc.

Organização - A organização abrange as características técnicas na construção de computadores. 
 Ex: Tecnologia de memória utilizada , Barramentos , Processador , etc.

Um computador é um sistema bastante complexo, e uma forma que ajuda a entende-lo melhor é identificar toda sua estrutura hierárquica. Esta estrutura hierárquica pode ser definida como um conjunto de subsistemas inter-relacionados, sendo que cada um desses subsistemas também possui uma estrutura hierárquica em um nível mais baixo. Cada nível de hierarquia é formado por um conjunto de componentes e de relacionamentos entre eles.. em cada nível devem também ser consideradas a Função e a Estrutura de cada um dos componentes.

Função: é a execução de cada componente individual como parte da estrutura.


Estrutura: é a forma como os componentes estão relacionados entre si.



Até mais  :-)