Escolar Documentos
Profissional Documentos
Cultura Documentos
de Computadores
UNIDADE 1
ORGANIZAÇÃO E ARQUITETURA
DE COMPUTADORES
UNIDADE I
Orientações da Disciplina
Vamos começar?
Bons estudos!
2
INTRODUÇÃO A ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES
Um computador é uma máquina criada com o intuito de realizar tarefas com base em uma sequência
de instruções que lhe são dadas. Esse conjunto de instruções que são executadas para realizar uma
determinada tarefa específica (como realizar um cálculo ou exibir dados de um relatório) é chamado de
algoritmo. Um ou mais algoritmos, por sua vez, formam os programas de computador, também chamados
de software.
Você também já deve ter ouvido o termo hardware, que se refere aos componentes físicos do computador,
como os dispositivos de entrada e saída (monitor, teclado, mouse, impressora, câmera, etc.), os dispo-
sitivos de armazenamento (memórias voláteis e permanentes) e o processador. Estes componentes se
comunicam através do barramento que é um dos componentes da placa-mãe, que é uma placa de circuito
impresso responsável por fazer a interconexão entre os componentes necessários ao funcionamento do
computador. Veja na figura 1 a estrutura básica do hardware de um computador.
Visite a Página
Leia mais sobre Hardware neste link. Boa leitura!
3
Cerca de 150 anos depois, o professor Charles Babbage, da Universidade de Cambridge, construiu a
máquina diferencial, que também fazia apenas cálculos de soma e subtração úteis para navegação. Pos-
teriormente, Babbage cansou da máquina diferencial e desenvolveu sua sucessora mecânica: a máquina
analítica, que era capaz de realizar somas, subtrações, multiplicações e divisão possuía quatro compo-
nentes: memória, unidade de cálculo, uma leitora de cartões perfurados e uma saída perfurada impressa.
Tratava-se de uma máquina programável simples, e a primeira programadora do mundo, contratada para
criar um programa para esta máquina, foi uma mulher chamada Ada Lovelace. Outras máquinas de calcu-
lar foram desenvolvidas ainda nesta geração, entretanto características mais significativas foram vistas
apenas na geração posterior.
Veja o vídeo!
Veja com mais detalhes como a máquina de Pascal funcionava neste vídeo.
Dentre as principais máquinas construídas nesta geração, as principais foram a ENIAC, EDSAC, IBM 603
e UNIVAC I. A finalidade do Eletronic Numerical Integrator and Computer (ENIAC) era o cálculo de tabelas
de balística para o exército americano. Levou 3 anos para ser construído, pesava cerca de 30 toneladas e
tinha 5,5 metros de altura. Além disso, consumia 200 quilowatts de energia e as 19.000 válvulas geravam
muito calor. A figura 4 mostra as diversas chaves que controlavam o computador ENIAC.
4
Figura 4. Computador ENIAC
Fonte: www.computerhistory.org
Outro marco desta geração foi o desenvolvimento do modelo de Von Neumman. A principal contribuição
deste matemático foi a construção de um computador sequencial binário de programa armazenado. A
arquitetura proposta neste modelo é composta pelos seguintes componentes:
ü Uma memória física;
ü Uma unidade central aritmética e lógica;
ü Uma unidade central de processamento, composta de diversos registradores;
ü Uma unidade de controle.
Prezado(a) aluno(a) como pode ser observado na figura 5, a memória, a unidade responsável por arma-
zenar os programas e dados representados de forma digital (zeros e uns), a unidade lógica e aritmética,
juntamente com os registradores tem a função de executar as instruções de determinado programa. Os
dispositivos de entrada e saída são responsáveis pela inserção e obtenção de dados.
5
Segunda geração - transistores (1955-1964)
A principal característica dessa geração foi a substituição das válvulas pelos transistores, que passaram a
ser o elemento principal da construção dos computadores. Por serem menores que as válvulas, os transis-
tores reduziram significativamente o tamanho dos computadores, além disso, eles também aumentaram
a capacidade de armazenamento. O superaquecimento das máquinas que acontecia devido às válvulas na
geração anterior também foi reduzido com o uso dos transistores, que consumiam menos energia e eram
mais confiáveis que as válvulas que queimavam frequentemente.
???
Você sabia?
O transistor é considerado uma das maiores descobertas ou invenções da história mo-
derna, tendo tornado possível a revolução dos computadores e equipamentos eletrô-
nicos.
Sua função em um sistema computacional era realizar operações lógicas, fazendo um
papel de chave eletrônica, representando os valores de 0 ou 1. As operações lógicas
possuem como resultado as condições “verdadeiro” ou “falso”, que em termos binários
são representados por 1 e 0 respectivamente. A figura 6 apresenta um entre os diversos
modelos de transistores que foram desenvolvidos.
6
Nestas máquinas era possível executar desde funções lógicas simples até funções mais complexas, com
vários processamentos de forma simultânea (multiprogramação). Com essa inovação, enquanto um pro-
grama esperava por uma entrada ou saída para concluir uma tarefa, outro programa poderia ser exe-
cutado. Em relação ao avanço dos computadores dessa época, com o uso dos circuitos integrados, as
máquinas se tornaram menores e mais velozes, consumiam uma quantidade bem menor de energia e se
tornaram baratas. Foi nesta geração que surgiu a primeira linguagem de alto nível, que era orientada a
procedimentos.
Um dos computadores que representa esta geração foi o IBM’s System/360, que era utilizado tanto no
setor comercial quanto no científico (figura 8). Uma das características deste computador era que ele pos-
suía uma arquitetura montável, que possibilitava ao cliente substituir peças que viessem a ter problemas.
7
Até parte da terceira geração os computadores eram tão grandes que empresas e universidades precisa-
vam de departamentos específicos, chamados de centrais de computação. Com esse avanço, os compu-
tadores se tornaram muito menores e mais rápidos, e começou a ser chamado de minicomputador. Neste
ponto, cada departamento de empresas e universidades podiam ter seu próprio computador.
Com o conceito de computador pessoal, os computadores eram utilizados de forma diferente dos compu-
tadores grandes, como para o processamento de textos, criação de planilhas e inúmeras outras aplica-
ções de alto grau de interação, como jogos. E no decorrer desta geração foi se tornando cada vez mais
fácil obter um computador pessoal.
8
As pesquisas nesta área são constantes e diversas tecnologias são apresentadas a cada ano. Espera-se
uma próxima geração de computadores quânticos, que utilizam átomos ao invés de transistores e estas
mudanças podem estar mais próximas do que se imagina.
Meu caro(a) estudante! Vamos ver agora com mais detalhes cada um destes componentes e qual o papel
deles nos sistemas computacionais atuais.
A unidade central de processamento (UCP ou também chamada de CPU do termo em inglês que é Central
Processing Unit) é o principal componente do computador. Basicamente, sua função é buscar instruções
na memória principal, analisá-las e executá-las uma após outra.
Unidade de controle, unidade lógica aritmética e registradores, como pode ser visto na figura 11.
• Unidade de Controle é responsável pelo controle geral das operações através de sinais elétricos,
como por exemplo, leitura e escrita na memória ou leitura de periféricos. Esta unidade realiza a mo-
vimentação de dados e instruções através dos sinais de controle que emite em instantes de tempo.
• Unidade Lógica e Aritmética realiza a movimentação de dados e instruções através dos sinais de
controle que emite em instantes de tempo. Ela realiza operações lógicas (AND, NAND, OR e NOR) e
operações aritméticas (Somas, subtrações, multiplicações e divisões).
• Registradores compõem uma pequena memória de alta velocidade presente na CPU responsável
por armazenar resultados temporários. Cada registrador possui uma função diferente. Como são
internos a CPU, os registradores podem ser lidos e escritos em uma velocidade alta. Um algoritmo
é geralmente formado por um conjunto de instruções e neste sentido, existem alguns registradores
responsáveis por atuar sobre essas instruções. O registrador instruction register (registrador de
instrução) contém a instrução sendo executada no momento em questão, já o program counter (con-
tador de programa) indica a próxima instrução a ser buscada para execução.
9
Memória
A memória do computador é o local usado para armazenar dados e programas. Isso facilita o trabalho do
processador que lê ou grava na memória. A memória primária ou principal é uma memória temporária e
volátil, enquanto a memória secundária é mais usada para guardar uma grande quantidade de dados por
um período longo de tempo.
A memória tem como elemento básico de armazenamento físico o bit, ou seja, fisicamente ela é constru-
ída de modo a representar individualmente bit por bit (0 ou 1). O modo pelo qual cada bit é identificado
na memória é variado, pode ser um sinal elétrico, um campo magnético, a presença ou ausência de uma
marca ótica.
Quanto as operações que podem ser realizadas em uma memória, temos a escrita e a leitura. A operação
de escrita é destrutiva, ou seja, ao armazenar-se um dado em uma célula, o conteúdo anterior é destruído,
visto que os bits que chegam são gravados por cima dos que estavam no local. Já a operação de leitura,
não deve ser destrutiva. Ela é, na realidade, uma ação de copiar um valor em outro local, permanecendo
o mesmo valor no local de origem.
Não é possível construir e utilizar apenas um tipo de memória. A memória de um computador é consi-
derada um subsistema, tendo em vista que é constituída de vários tipos diferentes de memória. Dessa
forma, é necessário construir um conjunto de memórias com diferentes características (tempo de acesso,
capacidade, etc.).
Dentre os principais parâmetros de caracterização de memória temos:
Tempo de Acesso: é o tempo decorrido desde o momento em que foi iniciada a operação de acesso
(quando a origem passa o endereço de acesso para o sistema de memória) até que a informação requerida
(instrução ou dado) tenha sido de fato transferida.
Volatilidade: A memória pode ser não volátil, quando retém a informação armazenada quando a energia
é desligada. Ou volátil, quando perde a informação armazenada.
• Memória primária
Pelo fato da memória principal do computador ser volátil, ela precisa ser atualizada com dados e
instruções cada vez que o computador é ligado, ou seja, os dados presentes nessa memória são
apagados quando o computador é desligado e novos dados são carregados quando o computador
é ligado novamente. Em outras palavras, a memória secundária serve para armazenar o programa
(e os seus dados) que estão sendo executados para que o processador vá utilizando instrução por
instrução. A figura 12 apresenta a memória RAM, ou memória primária.
10
Figura 12. Memória RAM (memória primária). Fonte: hardware.com.br
• Memória secundária
Garante um armazenamento mais permanente a toda a estrutura de dados e programas do usuário.
Em outras palavras, a informação presente nessas memórias precisa ser carregada na memória pri-
mária antes de ser enviada ao processador. O computador não precisa desse tipo de memória para
funcionar. Seu principal objetivo é armazenar dados a longo prazo, ou seja, como são não-voláteis,
permitem guardar os dados permanentemente. Como por exemplo destas memórias podemos des-
tacar os discos rígidos (figura 13), CDs, DVDs e disquetes.
Além das memórias principais e secundárias também temos a memória cache que é um dispositivo de
memória localizado entre o processador e a memória principal, que tem a função de acelerar a velocidade
de transferência das informações. Esse tipo de memória é fabricado com tecnologia semelhante à do
processador e, em consequência, possui tempos de acesso compatíveis, resultando numa considerável
redução de espera. Já falamos sobre registradores, porém é importante menciona-los novamente nesta
seção. Os registradores são pequenas unidades de memória localizadas dentro do processador. Seu pa-
pel é armazenar dados e colocá-los a disposição do processador. Os dados são buscados nas memórias
(cache, principal e até secundária).
Veja na figura 14, como é organizada a hierarquia de memória. Na figura, pode-se observar que quanto
mais alta a velocidade da memória (como no caso dos registradores) maior será o custo.
11
Figura 14. Hierarquia de memória. Fonte: ufpb.br
Outro aspecto importante é como os dados são representados na memória. No caso da Memória Principal
(RAM) um agrupamento de bits na memória denomina-se célula, e nos demais tipos de memória esse
agrupamento possui outras denominações como bloco, setor ou cluster. É necessário que seja definido um
método para identificar univocamente cada uma dessas células (ou blocos). Cada grupo de bits (célula) é
identificado pelo endereço. A memória é organizada, então, em grupos de bits.
Entrada e saída
Entrada/saída, sigla E/S (que em inglês é Input/output I/O) é um termo usado para designar a entrada
(inserção) de dados por meio de algum algoritmo ou programa, para algum outro programa ou hardware.
A saída (obtenção de dados) é a apresentação dos dados, como resultado de determinada operação de
algum programa. A entrada e saída de dados em um sistema computacional é possível por causa de dis-
positivos que permitem a comunicação entre o usuário e o sistema.
Como exemplos de dispositivos de entrada temos o teclado, mouse, webcam, scanner, microfone, CDs,
etc. Como dispositivos de saída pode-se destacar unidades como o monitor, Datashow, impressora, equi-
pamentos de áudio (fones de ouvido ou caixas de som).
Dica
As unidades de entrada e saída são constituídas de dois componentes. O elemento
eletrônico é chamado de controlador de dispositivo ou adaptador e o elemento mecâ-
nico é o dispositivo propriamente dito. Em computadores pessoais, o controlador de
dispositivo é apresentado na forma de uma placa de circuito impresso, na qual, tem um
conector que pode ser plugado aos dispositivos.
A arquitetura de computador está relacionada com o seu conjunto de instruções. Neste sentido, existem
duas abordagens: a abordagem RISC e a CISC. No começo da década de 80, a tendência era construir
chips com conjuntos de instruções cada vez mais complexos (CISC), porém algumas empresas preferiram
seguir outra abordagem (RISC).
O termo RISC é a abreviação de Reduced Instruction Set Computer que significa Computador de Conjunto
de Instruções Reduzido e CISC significa Complex Instruction Set Computer, traduzido como Computador
de Conjunto de Instruções Complexo.
12
Um computador RISC parte da ideia de que um conjunto simples de instruções resultará numa Unidade
de Controle mais simples, barata e rápida. Já os computadores CISC são capazes de executar centenas
de instruções complexas diferentes e são bastante versáteis. Eles têm o intuito de criar arquiteturas mais
complexas para facilitar a construção dos compiladores, por exemplo.
Para resumir
Os computadores RISC são capazes de executar apenas poucas instruções simples.
Portanto, os chips fundamentados nesta arquitetura são mais simples e muito mais
baratos. Outra vantagem dos processadores do tipo RISC, é que, por terem um menor
número de circuitos internos, podem trabalhar as frequências mais altas. O fato de
processadores RISC serem muitas vezes considerados mais rápidos é pelo fato de que
apesar de um processador CISC ser capaz de executar centenas de instruções diferen-
tes, apenas algumas são usadas com frequência.
Pipeline
Pipeline é uma estratégia de implementação na qual várias instruções são sobrepostas no momento da
execução do programa, o que torna os processadores bem mais rápidos. Quando se trata de pipeline, uma
das analogias mais utilizadas para esclarecer esta técnica é a comparação com a ação de lavar muitas
roupas.
Vejamos alguns passos necessários para completar essa tarefa:
1 – Colocar as roupas sujas na máquina de lavar.
2 – Quando a lavadora terminar, colocar essa trouxa de roupas na secadora.
3 - Quando a secadora acabar esta atividade, colocar as roupas na tábua de passar e passa-las.
4 – Quando terminar de passar as roupas, peça ao seu colega de quarto para guardar.
Exemplo
Vamos supor que 4 amigos realizariam esta tarefa da forma como foram apresentadas
acima. Como é necessário que a primeira atividade acabe para que possamos passar
para a próxima etapa, para lavar 4 trouxas (A, B, C e D) de roupas seriam necessárias
8 horas (com a primeira atividade começando as 6 da tarde e a última acabando às 2
da manhã). Nesse caso, cada trouxa de roupa levaria o mesmo tempo para ser lavada.
Veja a execução dessa lavagem na figura 15.
Figura 16. Analogia: Processo para lavar quatro trouxas de roupa usando pipeline.
Fonte: Patterson & Hennessy. A interface hardware/software
Dessa forma, o tempo total para lavar as quatro trouxas de roupa utilizado a técnica de pipeline seria de 3
horas e meia, reduzindo consideravelmente o tempo em consideração à execução sem pipeline. O uso de
pipeline na execução de um programa acontece da mesma forma. Suponhamos que temos um programa
para executar em um processador MIPS.
Estes processadores geralmente precisam executar as seguintes etapas:
1 – Buscar a instrução na memória;
2 – Ler os registradores enquanto a função é decodificada;
3 – Executar a operação ou calcular um endereço;
4 – Acessar um operando na memória de dados;
5 – Escrever o resultado em um registrador.
É importante destacar que o uso da técnica de pipeline não reduz o tempo de execução de cada
instrução individualmente, e sim o tempo total de execução de todas as instruções.
Palavras do professor
Prezado(a) aluno(a) nesta primeira unidade estudamos os conceitos iniciais sobre a or-
ganização de computadores e entendemos a evolução dos mesmo desde sua invenção.
Além disso, discutimos questões sobre os componentes de um sistema computacional
e sobre a hierarquia e memória. Você agora deverá colocar em prática os conhecimen-
tos que você adquiriu nesta unidade.
14
Acesse o Ambiente Virtual
Agora chegou o momento de acessar o nosso ambiente virtual e responder a atividade e o fórum avaliati-
vo. E em caso de dúvidas não perca tempo pergunte ao seu tutor!
Bons estudos!
Até Breve!
Referências Bibliográficas
15