Você está na página 1de 6

CAPTULO 1 REVISO DE ARQUITETURA DE COMPUTADORES

Fabio Augusto Oliveira FEPI Centro Universitrio de Itajub Curso de Sistemas de Informao

1. Introduo

Os sistemas computacionais so compostos basicamente por 2 elementos: hardware e software. O hardware formado pelos dispositivos fsicos e o software formado pelos programas que utilizam o hardware.

1.1.

Hardware

Na figura 1, temos uma viso geral do hardware de uma mquina convencional.


CPU ULA UC Dispositivos de E/S

Registradores

Memria

barramento

Figura 1 Viso geral do hardware

Neste esquema, vemos trs unidades funcionais bsicas: a cpu, a memria e os dispositivos de E/S.

CPU: ou unidade central de processamento. o elemento responsvel pela execuo dos programas. Geralmente ela vem confinada em um nico chip (ex: 80386 da intel). Seus principais componentes so: a ULA, a UC e os registradores. Registradores: So dispositivos de armazenamento temporrio e de alta velocidade. So os responsveis por armazenar os dados que esto sendo executados dentro da cpu. ULA (Unidade Lgica e Aritmtica): Responsvel por realizar as operaes lgicas (or, and, not) e aritmticas (soma, subtrao, adio e multiplicao) sobre os contedos dos registradores. UC (Unidade de Controle): o componente inteligente do computador, que contm um programa residente chamado "microprograma", responsvel por todo o funcionamento do hardware. A execuo deste microprograma ocorre da seguinte maneira: este microprograma contm uma seqncia de "microinstrues", que so "disparadas" sobre o hardware, ativando seus componentes a cada 1 ou mais pulsos de clock. A funo bsica deste microprograma pode ser dividida em 3 fases: busca da instruo, decodificao da instruo e execuo da instruo, mostradas no algoritmo abaixo: Loop RI mem(PC); {* RI = Registrador de Instruo *} Decodifica(RI); Executa(RI); PC PC + 1; Forever; Memria: um dispositivo de armazenamento de dados. na memria que so carregados todos os programas a serem executados pela CPU. A memria composta por uma seqncia de palavras, onde cada palavra possui um ou mais bytes (assim como os registradores) e acessada por um endereo (posio). Dois tipos de operaes podem ser efetuadas no sistema de memria: leitura e escrita de dados. {* PC = Contador de Programa *}

Quando um programa carregado na memria, ele deve estar em linguagem de mquina (cdigo binrio), especfico do hardware em questo. Suas instrues so colocadas em seqncia nas posies da memria. Ento, a UC comea o ciclo de execuo do programa, buscando suas instrues uma a uma, decodificando e executando-as. Dispositivos Perifricos ou de E/S: So dispositivos que permitem a comunicao da CPU com o mundo externo (impressora, monitor, teclado, mouse etc.). Cada dispositivo possui um circuito controlador (chip) que responsvel por acessar o dispositivo em suas operaes mais elementares, atravs de linguagem de mquina. O sistema operacional implementa rotinas que tratam dos dispositivos (devices drivers) que desempenham funes mais elaboradas. Barramento: So linhas de comunicao entre os componentes do hardware. Estas linhas de comunicao transportam dados, endereos e controle. Todos os dispositivos do hardware so conectados no barramento e todos tm acessos as informaes que nele so colocadas. Cabe a cada dispositivo identificar quando que a informao sua. Isto pode ser feito pelas linhas de endereamento (cada dispositivo possui um endereo) ou pelas linhas de controle. A figura 2 esquematiza o barramento:

CPU

Memria

Dispositivos E/S
Figura 2 Barramento

1.2.

Software

O software o elemento responsvel pela manipulao do hardware, a fim de executar as funes desejadas pelo usurio. Basicamente, podemos hierarquizar os diferentes tipos de softwares segundo as camadas da figura 3:

Figura 3 - Diviso em camadas

Microprograma: Sintetiza a prpria unidade de controle. O microprograma o software de mais baixo nvel, disparando sinais de controle (pulsos) diretamente sobre os dispositivos do hardware. O microprograma uma linguagem especfica da mquina, capaz de executar um conjunto especfico de instrues em linguagem de mquina. Linguagem de Mquina: a linguagem binria que o processador entende, ou seja, que pode ser executada diretamente pela unidade de controle. Um programa escrito em linguagem de mquina dito "programa executvel" ou "programa objeto". Quando um programa escrito em uma linguagem de alto nvel (PASCAL,C, CLIPPER etc...), ele dever ser compilado (ou interpretado) para linguagem de mquina. Na figura 4 dado um exemplo (fictcio) de um trecho de programa em linguagem assembler e seu respectivo cdigo em linguagem de mquina.
Assembler Linguagem de Mquina Memria

:
LD A,(10H) ADD A,B JMP (E090H)

:
F210H E4H A2H E090H E300 E301 E302 E303 E304 E305

10 F2 E4 90 E0 A2

:
Figura 4 - Programao em Assembler

Sistema Operacional: O sistema operacional o software responsvel por gerenciar os recursos do hardware para o usurio, para que este no tenha que interagir diretamente

sobre os dispositivos. O S.O. constitudo basicamente por duas camadas: O Shell (ou interpretador de comandos) e o Kernel (ou ncleo), como mostra a figura 5:

SHELL SO KERNEL HARDWARE

Figura 5 - Diviso do Sistema Operacional

O ncleo implementa as funes bsicas do SO, responsveis pelo gerenciamento de memria, arquivos, processador, perifricos etc..., enquanto que o Shell implementa uma interface com o usurio, para atender necessidades tais como : listar um diretrio, copiar arquivos etc... O computador quando ligado ele praticamente vazio de software. Existe um pequeno programa residente que faz um check-up do equipamento e solicita a insero do disco com o sistema operacional (caso no haja disco rgido). O computador no tem conhecimento de qual sistema operacional ser carregado e muito menos quais so os arquivos que o constitui, por isso, ele carregara apenas um setor pr-definido do disco e coloca para execuo. Neste setor dever estar o Boot do sistema operacional, responsvel pelo carregamento do SO. Um programa que trabalha sempre em conjunto com o SO o chamado Loader. O Loader ou carregador responsvel por carregar os programas que esto no disco para a memria, realocando os espaos de endereamentos. Utilitrios: So tambm chamados de tool kits ou ferramentas, pois so programas que auxiliam o usurio na construo de aplicaes. Alguns bastantes utilizados so os tradutores, os linkers e os depuradores. Os tradutores so programas que transformam um programa escrito em uma determinada linguagem para uma outra linguagem. Os mais utilizados so os montadores, compiladores e os interpretadores. Montadores - transformam linguagem de montagem (assembler) em linguagem de mquina. Os compiladores transformam linguagens de alto nvel em linguagem de mquina, gerando um cdigo executvel do programa fonte. Os interpretadores

transformam o programa fonte, linha por linha em tempo de execuo em linguagem de mquina, no gerando um programa objeto. Compiladores - fazem deteco de erros antes da execuo, permitindo com que a execuo seja certeira e rpida. Os interpretadores so lentos e apresentam os erros em tempo de execuo, mas so mais flexveis pois possibilitam alocao dinmica. Linkers - possibilitam o desenvolvimento de mdulos bibliotecas e portando uma maior flexibilidade dos softwares. Os linkers concatenam vrios mdulos objetos (bibliotecas) juntamente com um mdulo objeto principal, gerando um nico programa executvel, como mostra a figura 6.

MDULO OBJETO LINKER MDULO OBJETO


Figura 6 Exemplo de Linkers

PROG EXEC

Depuradores - ou Debuggers so utilitrios que auxiliam a depurao de programas, ou seja, a deteco de erros, permitindo a visualizao do contedo das variveis, das posies de memrias e permitindo tambm a execuo de apenas um trecho do programa. Geralmente trabalham em conjunto com compiladores em um nico ambiente integrado.