Prévia do material em texto
- -1 Conceitos iniciais, sua estrutura e função Marcio Regis Manso Fraga Introdução Você deve utilizar com frequência um computador no seu dia a dia, ou um celular, tablet, não é mesmo? Independente do dispositivo utilizado, eles fazem parte do cotidiano de grande parte da população mundial e modificaram os ambientes de trabalhos e as relações humanas. Você já se perguntou como esses equipamentos funcionam? O que significa e qual funcionalidade da memória e do processador? Neste texto-base, iremos aprender os conceitos básicos dos componentes utilizados em computadores, como eles interagem entre si para executar as funcionalidades que utilizamos no dia a dia, denominado arquitetura de computadores, e os modelos que são referências para os computadores atuais. Também vamos entender como um programa é executado em um computador. Ao final desta aula, você será capaz de: • Compreender o que é arquitetura de computadores, identificando os componentes básicos de um computador e qual a sua função. Conceitos Fundamentais de Arquitetura de Computadores Atualmente, convivemos com uma diversidade de equipamentos que podem ser chamados de computadores, com funcionalidades, custos e tamanhos diferentes, tais como celulares, tablets, pequenos chips e até supercomputadores. Embora exista várias diferenças de tecnologia, características e arquiteturas entre eles, existem conceitos fundamentais que são comuns a qualquer computador, independente da sua aplicabilidade. Assim, um computador é uma máquina composta de partes eletrônicas e eletromecânicas capaz de coletar, manipular e fornecer os resultados da manipulação de informações para um ou mais objetivos (MONTEIRO, 2012). Ademais, um computador deve ser capaz de , recebidos do usuário ou de um sistema; processar dados armazená- em uma memória; , seja externamente para o usuário ou internamente para uma memória; e los transferi-los essas funções. Em resumo, o computador é basicamente capaz de: 1) processar dados; 2) armazenarcontrolar dados; 3) transferir dados; e, 4) controle (STALLING, 2010). Nesse sentido, a arquitetura de computadores trata do estudo do comportamento de um sistema computacional, isto é, dos atributos internos envolvidos na execução de um programa. • - -2 O processamento de dados é a principal função de um computador, ela se refere à capacidade de manipular dados através de um conjunto de instruções aritméticas e lógicas que permite realizar inúmeros cálculos e retornar informação ao usuário, ou armazená-la na memória (MONTEIRO, 2012). O elemento interno no computador que realiza essa atividade é chamado de processador. Embora sejam empregados como sinônimos, na figura que segue, os termos dados e informação são usados como elementos distintos. O dado pode ser definido como o elemento básico, e a informação é o dado processado (MONTEIRO, 2012). Por exemplo, “azul” é um dado e “a cadeira é azul” é uma informação, ou o dado processado. Figura 1 - Modelo genérico do processamento. Fonte: Adaptado de Monteiro (2012) pelo autor. A outra função do computador é a capacidade de armazenar os dados, seja temporariamente ou permanentemente. O elemento interno de um computador que realiza essa tarefa é a memória principal ou secundária. Apesar de existir memórias com tecnologias diferentes, de modo geral, todas são capazes de armazenar as informações ou os dados e deixá-las disponíveis sempre quando necessário. O computador também precisa ser apto para receber os dados do usuário ou de outro computador, e enviar o dado processado para o mundo externo. O componente que realiza essa função é denominado de “dispositivos de entrada e saída” ou “periféricos”, como monitor, teclado e mouse (MONTEIRO, 2012). Para coordenar essas funções, o computador precisa de uma unidade de controle capaz de gerenciar os demais elementos do computador. Execução de um programa A partir das quatro funções básicas de um computador, problemas complexos podem ser resolvidos. Para isso, é necessário que a solução seja dividida em tarefas menores e ordenadas, de maneira a resolver o problema. Essa técnica é chamada de algoritmos e utilizada no desenvolvimento de sistemas. O algoritmo é escrito por meio de uma linguagem de programação, que o converte em um programa de computador, chamado de software (TANENBAUM, 2013). Para que o computador consiga compreender e executar os comandos do programa, é necessário que sejam FIQUE ATENTO Existem diferenças entre os termos “Arquitetura de Computadores” e “Organização de computadores”. Enquanto que “arquitetura de computadores” trata dos atributos de um sistema computacional na perspectiva do programador, ou seja, os aspectos envolvidos na execução lógica de um programa, o termo “organização de computadores” refere-se às unidades operacionais e seus relacionamentos eletrônicos e lógicos (STALLINGS, 2010). Organização de computadores seria a parte do hardware, como uma pessoa que organiza. A parte de Arquitetura de computadores se refere a parte lógica do pc/software - -3 Para que o computador consiga compreender e executar os comandos do programa, é necessário que sejam convertidos em uma linguagem compreensível para o processador, denominada de linguagem de máquina, que são códigos binários executados nos circuitos eletrônicos do processador (MONTEIRO, 2012). Segundo Stallings (2010), as etapas para a obtenção de uma solução computacional consiste em: 1. Desenvolver um algoritmo que resolva o problema. 2. Escrever o algoritmo utilizando uma linguagem de programação. 3. Fazer a compilação. Ou seja, converter o código fonte em linguagem de máquina. 4. Execução do programa objeto pelo computador. Modelo de Von Neumann Em 1946, o Húngaro matemático John Von Neumann idealizou um modelo de máquina que trabalhasse exclusivamente com códigos binários: o (IAS), local onde foi desenvolvido o modelo.Institute Advanced Study Antes, os computadores utilizavam a base decimal, o que tornava a arquitetura complexa e, assim, com erros frequentes. Von Neumann sugeriu que os computadores fossem divididos por componentes e utilizasse código binário. Segundo Monteiro (2012), os componentes propostos pelo modelo da figura a seguir foram: • Unidade de memória: responsável por armazenar os dados, as instruções e os programas a serem processados e executados. O IAS possuía memória com 1.000 posições, cada uma armazenando valores com 40 bits. • Unidade lógica e aritmética (ULA): responsável pela execução das instruções lógicas e aritméticas com capacidade de operar sobre os dados binários. Possuía 21 instruções com 20 bits cada. • Unidade de controle: realiza a interpretação e o controle das instruções e dos dados lidos pela memória encaminhando-os para a ULA. O IAS operava de modo repetitivo, executando um ciclo de instrução após o outro. • Unidade de entrada: são dispositivos que recebem os dados ou as instruções que compõem um programa para o computador, são operados pela unidade de controle. • • Unidade de saída: corresponde aos equipamentos que retornam os dados processados ao usuário, também são operados pela unidade de controle. FIQUE ATENTO Para uma linguagem “compilada”, as etapas descritas para a obtenção de uma solução computacional não mudam, mas se for “interpretada”, existe uma etapa entre o item 2 e 3, que faz a conversão do código fonte em uma linguagem chamada código de linkedição. Isso ocorre para analisar previamente qual é o sistema operacional utilizado no computador, antes da etapa 3. Assim, permite que o programa seja executado em vários sistemas operacionais. • • • • • • - -4 O fluxo de execução da máquina de Von Neumann inicia com o armazenamento do programa na unidade de memória, utilizando uma série de endereços consecutivos. Em seguida, a unidade de controle busca a instrução armazenada na primeira posição da memória, faz a conversão da instrução no código de execução e armazena em registradores existentes dentro da unidade lógica e aritmética (MONTEIRO, 2012). O próximo passo éa execução da instrução, chamado de ciclo de instrução. Se necessário, o armazenamento do resultado é feito em um registrador da ULA, se não é iniciado a execução da próxima instrução. Esse ciclo de busca da instrução, decodificação e execução é repetido até que a instrução de encerrar o programa seja executada, conforme a figura a seguir. SAIBA MAIS Nos computadores existe um componente que gera um pulso, que alterna entre as tensões altas e baixas (0s e 1s), chamados sinal de clock. A frequência dos sinais é medida em hertz e quanto maior a frequência, mais ciclos de instruções por segundo são executados. Uma frequência de 2 GHz consegue realizar 2 bilhões de ciclos por segundo. Em resumo o programa fica armazenado em um local na memoria de armazenamento, o processador busca na primeira posição da memoria, faz conversão do código e armazena novamente Por isso a importantânica de um clock alto, para executar instruções - -5 Figura 2 - Ciclo de instrução. Fonte: Elaborada pelo autor. Apesar de toda evolução tecnológica com o aumento na capacidade de armazenamento, diminuição dos componentes, velocidade de execução e outras inovações, o modelo de Von Neumann possui características utilizadas até hoje, como o armazenamento do programa e dos dados no mesmo componente e a utilização da base binária. Modelo de Barramento de Sistema O modelo de barramento de sistema é um refinamento do modelo de Von Neumann, utilizado atualmente (MURDOCCA, 2000) e possui os mesmos componentes, com algumas mudanças, a saber: • Unidade Central de Processamento (Central Processing Unit - CPU): é composto pela unidade aritmética e lógica, a unidade de controle e registradores. • Memória: tem a mesma função da unidade de memória de Von Neumann e é responsável pelo armazenamento do programa e dados. • Entrada e saída (E/S): agrupa em um único componente a unidade de entrada e a unidade de saída. • Barramento de Sistema (BUS): é um componente que faz a comunicação entre os elementos anteriores. É composto por três barramentos: dados, endereços e controle. As principais diferenças entre esse modelo e o modelo de Von Neumann é o agrupamento da unidade lógica e aritmética com a unidade de controle e o barramento que interliga os demais componentes, como ilustra a figura a seguir. • • • • - -6 Figura 3 - Modelo de barramento. Fonte: Adaptado de Murdocca (2000) pelo autor. O barramento de sistema é composto por fios que são agrupados por função: dados, endereços e controle. Ou seja, o barramento de dados é utilizado exclusivamente para mover dados entre os componentes: o de endereços para designar onde a informação será enviada e o de controle define como a informação será transmitida. Além desses, é possível encontrar em algumas arquiteturas um barramento de energia e outro de E/S. Fechamento Neste tema, estudamos alguns conceitos básicos, mas fundamentais para arquitetura de computadores. Aprendemos que um Computador é uma máquina composta de partes eletrônicas e eletromecânicas capaz de coletar, manipular e fornecer os resultados da manipulação de informações para um ou mais objetivos e que a estuda a função desses componentes para execução de um programa deArquitetura de Computadores computador. Também entendemos como acontece a execução de um programa e a interação entre os componentes. Vimos, ainda, dois modelos de arquitetura que apesar da evolução tecnológica, seus conceitos são utilizados até hoje, que são o e o de . Esses modelosmodelo de Von Neumann Barramento de sistemas contribuíram de forma significativa para a evolução dos computadores. EXEMPLO Se um computador possui um barramento de sistema com o barramento de dados de 64 fios e o barramento de endereços 32 fios, significa que o barramento de dados é capaz de transportar dados representados até 64 bits e o barramento de endereços pode acessar qualquer endereço de memória de até 2³² = 4.294.967.296 endereços distintos. - -7 Referências MONTEIRO, M. A. . 5. ed. Rio de Janeiro: LTC, 2012.Introdução à Organização de Computadores MURDOCCA, M. J.; HEURING, V. P. . Rio de Janeiro: Elsevier, 2000.Introdução à arquitetura de Computadores STALLINGS, W. projeto para o desempenho. 8. ed. São Paulo.Arquitetura e Organização de Computadores: Prentice Hall, 2010. TANENBAUM, A. S. . Organização estruturada de Computadores 6. ed. São Paulo: Pearson Prentice Hall, 2013. Introdução Conceitos Fundamentais de Arquitetura de Computadores Modelo genérico do processamento. Execução de um programa Modelo de Von Neumann Ciclo de instrução. Modelo de Barramento de Sistema Modelo de barramento. Fechamento Referências