Introdução
Os principais elementos de um sistema de computação são a unidade central de processamento (central processing unit – CPU), a memória principal, o subsistema de E/S (entrada e saída) e os mecanismos de interconexão entre esses componentes. A CPU, por sua vez, consiste em uma unidade de controle, uma unidade lógica e aritmética (arithmetic and logic unit – ULA), registradores internos e mecanismos de interconexão.
Nosso objetivo e tratar da estrutura e da função de computadores, apresentando assim de maneira clara e abrangente possível, a natureza e as características dos sistemas de computação modernos.
Então podemos definir que um sistema de computação é formado pelo hardware e software que o compõem, é computador como sendo o processador e os elementos periféricos que o compõem.
Isso constitui tarefa desafiadora, por várias razões. Em primeiro lugar, existe uma enorme variedade de produtos que podem ser denominados computadores, desde microcomputadores baseados em uma única pastilha (chip), que custam poucos dólares, até supermicrocomputadores, no valor de dezenas de milhões de dólares. Essa variedade apresenta-se não apenas em relação ao custo, mas também em relação ao tamanho, ao desempenho e á aplicação. Em segundo lugar a rápida evolução que sempre caracterizou a tecnologia de computadores continua sem limites. Essa evolução engloba todos os aspectos da tecnologia de computadores, desde a tecnologia de circuitos integrados usados na construção dos seus componentes até a crescente utilização de conceitos de organização paralela na combinação desses componentes.
Apesar da grande variedade e da rapidez da evolução da área, certos conceitos fundamentais aplicam-se a qualquer projeto de computadores.
Computador – E/S, Memória, Barramento do sistema e CPU
Onde a CPU – Registradores, ULA, Interconexão interna da CPU e Unidade de controle.
Arquitetura e organização
O termo arquitetura de um computador refere-se aos atributos de um sistema que são visíveis para o programador ou, em outras palavras, aos atributos que têm impactos diretos sobre a execução lógica de um programa. O termo organização de um computador refere-se às unidades operacionais e suas interconexões que implementam as especificações da sua arquitetura. Exemplos de atributos de arquitetura incluem o conjunto de instruções, o número de bits usados para representar os vários tipos de dados (por exemplo, número, caracteres). Atributos de organização incluem detalhes de hardware, tais como os sinais de controle, as interfaces entre o computador e os periféricos e a tecnologia de memória utilizada.
Um computador digital é uma máquina que pode resolver problemas executando uma série de instruções que lhe são fornecidas. Chamamos programa a um conjunto de instruções que descrevem a maneira de se realizar determinada tarefa. Os circuitos eletrônicos de um computador podem reconhecer e executar um conjunto limitado de instruções muito
simples, nas quais um programa precisa ser convertido ante que possa ser executado. Em geral, essas instruções não são mais complicadas que: somar 2 números, comparar o valor de um número com zero ou copiar um conjunto de dados de uma parte da memória para outra parte.
Tomadas em conjunto, as instruções básicas de um determinado computador foram uma linguagem por meio da qual é possível às pessoas se comunicar com a máquina. Tal linguagem é chamada linguagem de máquina. Em decorrência do fato de as linguagens de máquina serem muito simples, seu uso torna-se difícil e tedioso para nós humanos.
Linguagens e Máquinas Virtuais
Vamos imaginar que ao codificarmos um programa em uma determinada linguagem estaremos utilizando uma linguagem chamada L1, como exemplo ao mundo real, podemos identificar um programa escrito na linguagem Pascal. Quando executamos o comando de compilar tal programa (ALT+F9) estamos levando a execução do compilador um programa codificado em alto nível, em outras palavras, fácil entendimento por humanos, porém difícil para a máquina, tendo que ser convertido para a linguagem da máquina, linguagem binária.
Gerando assim em um novo arquivo, arquivo este que chamaremos em linguagem L0. O processador então executa o novo programa expresso em linguagem L0, em substituição ao primeiro, escrito em L1. Essa técnica é conhecida como tradução.
A outra metodologia consiste em escrever programas em L0 que admitam como entrada programas escritos em L1. A execução dos programas em L1 é levada a cabo pelo exame de cada uma de suas instruções, transformando-as em uma seqüência de instruções em L0, seqüência esta executada antes do exame da próxima instrução escrita em L1. Essa técnica não requer a geração de um novo programa em L0. Ela é conhecida como interpretação, sendo o programa que implementa conhecido como interpretador.
Na interpretação, uma instrução da linguagem L1 é executada imediatamente após ter sido examinada e reconhecida pelo interpretador. Nesse caso não há geração de programa algum. Importa observar que cada vez mais comum uma metodologia híbrida, oriunda da combinação de ambas as metodologias descritas anteriormente.
Em vez de pensar em tradução ou interpretação, pode-se imaginar a existência de um computador hipotético, ou de uma máquina virtual, cuja linguagem de máquina seja L1. Existe uma relação muito importante entre linguagem e a máquina virtual. Cada máquina virtual tem associada a si uma linguagem de máquina, composta de todas as instruções que essa máquina pode executar.
Um computador pode ser visto com níveis, ou melhor, o computador real executando n máquinas virtuais distintas, cada uma delas com uma linguagem de máquina diferente. Os termos “nível” e “máquina virtual” serão usados como sinônimos a partir de agora.
Estrutura e função
Um computador é um sistema de grande complexidade; computadores modernos contêm milhões de componentes eletrônicos elementares. Para descreve-los precisamos ter conhecimento da sua natureza hierárquica da maioria dos sistemas complexos. Um sistema hierárquico é constituído de um conjunto de subsistemas inter-relacionados, cada qual, por sua vez, possuindo também uma estrutura hierárquica, contendo, em seu nível mais baixo, subsistemas elementares.
A natureza hierárquica dos sistemas complexos é essencial tanto para seu projeto quanto para sua descrição. O projetista deve considerar, em cada nível, sua estrutura e funcionamento dos seus componentes:
• Estrutura: O modo como os componentes estão inter-relacionados.
• Função: A operação de cada componente individual como parte da estrutura. Estrutura
Essa pode ser a representação mais simples de um computador. O computador é uma entidade que interage, de alguma maneira, com seu ambiente externo. Em geral, todas as suas ligações com o ambiente externo podem ser classificadas como dispositivos periféricos ou como linhas de comunicação.
Operações possíveis em um computador
Transferência, controle , transferência COMPUTADOR
• Armazenamento • Processamento
Transferência, controle , memória e vice Versa
Memória, controle, processamento, controle, transferência e vice versa
Nosso maior interesse reside em estudar a estrutura interna do computador. Há quatro principais componentes estruturais:
• CPU – Unidade Central de processamento – controla a operação do computador e desempenha funções de processamento de dados.
• Memória principal - armazena dados.
• E/S – transfere dados entre o computador e o ambiente externo.
• Sistema de interconexão - mecanismos que estabelecem a comunicação entre a CPU, a memória principal e os dispositivos de E/S (entrada/saída).
Função
As funções que um computador pode desempenhar são em termos gerais apenas quatro:
• Processamento de dados • Armazenamento de dados • Transferência de dados • Controle
AMBIENTE DE OPERAÇÃO (fonte e destino dos dados)
Visão funcional de um computador
Mecanismo de transferência de dados Mecanismo de controle Recurso de armazenamento de dados Recurso de processamento de dados
Um sistema de computação pode ter um ou mais de cada dos componentes vistos anteriormente. Os sistemas tradicionais são compostos de uma única CPU. Nos últimos anos, tem havido um crescente uso de sistemas com vários processadores.
Trabalho de pesquisa com apresentação em seminário: Tema: Evolução e Desempenho de computadores
Breve histórico da evolução dos computadores A primeira geração: válvulas eletrônicas A segunda geração: transistores
A terceira geração: circuitos integrados Últimas gerações
Projeto que visa ao desempenho
Velocidade do microprocessador
Balanceamento do desempenho
Evolução do Pentium e do Powerpc Pentium
Powerpc
Leitura e sites Web recomendados
www computer architeture home page CPU Info Center
ACM Special Interest Group on Computer Architeture IEEE Technical Committee on Computer Architeture
Intel Technology Journal
Grupos de duas/três pessoas