Você está na página 1de 53

Fundamentos de Arquitetura de

Computadores

Prof. Marcos Quinet


Universidade Federal Fluminense UFF
Centro Universitrio de Rio das Ostras - CURO
Hardware de um Sistema
Computacional
Hardware: so os componentes e dispositivos
eletrnicos que, operando em conjunto com outros
componentes ou mesmo individualmente, realizam
uma das funes de um sistema de computao
Exs.: disco rgido, placa-me, teclado, monitor, etc.

Software: uma sequncia de instrues a ser


interpretada por uma parte do hardware para
executar uma tarefa requerida e gerar os resultados
desejados
Exs.: Windows (sistema operacional), Firefox (navegador da
Internet), Word (editor de texto), etc.

2
Estrutura Bsica
A estrutura bsica de um computador digital deve
apresentar as seguintes caractersticas:

necessrio que existam meios de fornecer


informaes ao sistema (entrada de dados);

Deve haver uma forma de disponibilizar aos usurios os


resultados produzidos pelo sistema (sada de dados);

Existe uma unidade responsvel por efetuar operaes


aritmticas e lgicas (clculos e decises) sobre as
informaes fornecidas, produzindo resultados (unidade
lgica e aritmtica).

3
Estrutura Bsica
O computador deve possuir um recurso que o permita
reter, armazenar e recuperar informaes sobre as
quais sero efetuados os clculos, resultados parciais
produzidos pela ULA, ou informaes de como
manipular estas informaes (memria principal)

Deve haver um componente cuja funo seja


administrar todas as demais funes do computador, ou
seja, dispositivos de E/S, processamento, e acessos a
memria. Este componente chamado unidade de
controle

4
Componentes Bsicos

Unidade Central
de
Processamento

Sistema de Interconexo

Disco
Memria Interface de E/S Vdeo
Principal Rede
Etc.

5
Componentes Bsicos
A anlise de um sistema de computao de um
nvel mais alto permite estabelecermos uma
compreenso mais clara da estrutura de
funcionamento de um computador, identificando
claramente os seguintes pontos-chave:
O comportamento de cada componente, atravs
dos dados e sinais de controle que so trocados
com os demais componentes;

A estrutura de interconexo utilizada.

6
Componentes Bsicos
Atravs de uma viso global da estrutura de
funcionamento do sistema possvel identificar as
caractersticas que melhor identificam a qualidade do
mesmo, permitindo:
Identificao dos pontos crticos de desempenho do sistema;
Previso de falhas;
Visualizao de caminhos alternativos.

Com uma maior compreenso do todo, define-se se


melhorias ao sistema (desempenho e/ou
confiabilidade) devem ser feitas atravs de mudanas
no projeto ou pelo aumento de capacidade de
componentes individuais

7
Funo de um Computador
A funo bsica de um computador , atravs de
seus recursos computacionais (hardware),
executar um programa (software), que formado
por um conjunto de instrues armazenadas na
memria

O modelo de arquitetura utilizado nos


computadores atuais fundamentalmente o
mesmo estabelecido por John Von Neumman
em 1946, sendo utilizado no projeto do
computador EDVAC

8
Programao por Hardware e Software

Um computador formado por um conjunto de


componentes lgicos, que podem ser combinados de
diferentes formas. Esta combinao depende da natureza
de cada aplicao em particular

Uma forma de arranjar estes componentes desenvolver


uma configurao projetada especificamente para a
tarefa em questo, ou seja, atravs de uma configurao
em particular poderemos executar a tarefa deseja, mas
somente ela, nenhuma outra mais

Este mtodo conhecido por programao por hardware


(programa hardwired)
9
Programao por Hardware e Software
A programao por hardware mostra-se adequada para
algumas aplicaes em particular, mas de forma geral
muito limitada, especialmente em um cenrio onde novas
tecnologias surgem rapidamente e com baixos custos, e
novas tcnicas de manipulao de dados so
desenvolvidas, tornando os sistemas inflexveis obsoletos
em um curto perodo de tempo

A soluo desenvolvida foi criar um sistema de propsito


geral, cuja funo de cada componente seria definida por
um conjunto de instrues fornecido por um usurio.
Surgia assim a programao por software

10
Programao por Hardware e Software

Sequncia de
Hardware: Dados funes lgicas Resultados
e aritmticas

Software: Cdigos de
instrues
Interpretador de
instrues
Sinais de controle
Funes
Dados lgicas e Resultados
aritmticas de
propsito geral
Programao por Hardware e Software

Um programa constitudo de uma sequncia de


instrues, e para cada uma destas instrues uma
operao lgica ou aritmtica executada sobre
algum dado.
Para cada uma destas instrues necessrio um
novo conjunto de sinais de controle, responsveis por
funes como a movimentao de dados entre
registradores e ativao de funes especficas da ULA

O interpretador de instrues responsvel por


converter a sequncia de passos fornecida pelo
usurio em sinais de controle enviados para os
componentes envolvidos nas tarefas
12
Execuo de Instrues
A execuo de uma instruo envolve a
realizao de uma sequncia de operaes,
chamadas de passos de execuo,
executados na seguinte ordem:

busca decodificao execuo resultado

No passo de busca, o processador realiza o


acesso ao cdigo binrio da instruo, que est
armazenado na memria principal

13
Execuo de Instrues
Na etapa de decodificao, as informaes contidas
no cdigo da instruo acessada no passo anterior
so interpretadas

Na execuo, a operao indicada pela instruo


(por exemplo, uma operao na ULA) efetuada

No quarto e ltimo passo, o de resultado,


armazenado na memria ou em um registrador o
resultado produzido pela instruo executada

14
Mdulos de um Sistema
Computacional
Como existem muitas funes a serem
desempenhadas pelos diferentes componentes de um
sistema computacional, estes so separados em
mdulos

Cada mdulo tem uma funo especfica, e portanto,


recebe diferentes dados de entrada e produz diferentes
tipos de sada

Devido a estas diferenas, os barramentos de entrada


e sada em cada mdulo apresentam diferenas na
capacidade de transmisso, quantidade de vias e tipos
de entrada e sada gerados
15
Mdulos de um Sistema
Computacional - exemplo

16
Barramentos - definio
Um caminho de comunicao conectando dois ou
mais dispositivos.

Normalmente, a transmisso realizada em


broadcast.

Frequentemente, so agrupados:
Uma srie de canais em um barramento.
Por exemplo, barramento de dados de 32 bits
so 32 canais de bits separados.

Linhas de potncia podem no ser mostradas em


projetos da parte lgica.
17
Barramentos
Barramentos transportam sinais de dados, endereos
e controle, responsveis pela interconexo dos
componentes; existem barramentos internos e
externos ao processador

Diferentes modelos de barramentos diferenciam-se


por sua capacidade de transmisso (quantidade de
bits transmitidos por ciclo), modelo de
endereamento e frequncia de operao;
atualmente, o modelo mais usado o PCI Express

18
Esquema de interconexo de
barramento
Podem ser transportados por barramentos:
Endereos de memria;
Dados;
Sinais de controle

19
Barramentos de dados
Transporta dados
Lembre-se de que no existe diferena entre
dados e instrues neste nvel

Largura um determinante fundamental do


desempenho
8, 16, 32 ou 64 bits

20
Barramento de endereo
Identifica origem ou destino dos dados

Por exemplo, a UCP precisa ler uma instruo


(dados) de determinado local na memria

Largura do barramento determina capacidade


mxima da memria do sistema
Por exemplo, o 8080 tem barramento de
endereo de 16 bits, gerando um espao de
endereos de 64k

21
Barramento de controle
Informao de controle e temporizao:

Sinal de leitura/escrita de memria;


Solicitao de interrupo;
Sinais de clock.

22
Ciclo de Clock
Em um sistema computacional, a ordem na qual os
sinais de controle so ativados crtica, alguns sinais
devem obrigatoriamente preceder outros, enquanto
outros sinais podem ser ativados simultaneamente.

E ainda, para garantir que haja tempo suficiente para a


transmisso de informao atravs dos barramentos
internos, em alguns casos deve ser observado um
intervalo de tempo mnimo entre dois sinais

necessria a sincronia para que possamos garantir


que a informao seja transmitida e chegue ao seu
destino antes que outra informaes sejam enviadas

23
Ciclo de Clock
Um ciclo de clock completo chamado de Hertz;
como o tempo para que um ciclo seja completado
muito pequeno, normalmente medimos a
velocidade em Mhz (Megahertzs: 106) ou em Ghz
(Gigahertzs: 109) ciclos por segundo

A velocidade de ciclos por segundo regulam o


funcionamento da UCP; como as informaes so
transmitidas como sinais eltricos, necessrio
um padro de tempo para diferenciar uma
informao da outra

24
Ciclo de Clock
Para atender as relaes de tempo requeridas na
ativao dos sinais de controle, a unidade de controle
opera em sincronismo com um sinal de clock
Uma nova operao bsica executada no momento
em que inicia-se um novo ciclo de clock
Em muitos casos, vrias operaes bsicas podem ser
comandadas simultaneamente, dentro de um mesmo
ciclo de clock

O intervalo entre duas transies consecutivas dos


pulsos de clock chamado de perodo de clock

25
Ciclo de Clock
1 ciclo

clock

busca decodificao execuo resultado

A execuo de uma instruo consome um certo


nmero de ciclos de clock. O nmero de ciclos de
clock por instruo no o mesmo para todas as
instrues, j que cada instruo pode envolver um
nmero diferente de operaes bsicas em cada
passo de execuo
26
Ciclo de Clock
O tamanho do ciclo de clock um dos fatores que
determinam diretamente o desempenho de um
processador. Quanto menor o tamanho do ciclo de clock,
menor ser o tempo de execuo das instrues, e assim
maior o nmero de instrues executadas por unidade de
tempo.
Ao longo das dcadas de 70 e 80, procurava-se diminuir
o tamanho do ciclo de clock com o desenvolvimento de
novas tecnologias que permitissem velocidades de
operao cada vez maiores. No entanto, as tecnologias
de integrao foram se aproximando dos limites impostos
pela prpria fsica, tornando esta evoluo mais lenta e
elevando os custos
27
Ciclo de Clock
Portanto, o ciclo de clock passou a ser
considerado sob o ponto de vista arquitetural.
Atualmente, procura-se diminuir o ciclo de clock
no somente atravs de novas tecnologias, mas
tambm atravs de simplificaes na arquitetura,
de modo que a arquitetura possa ser
implementada atravs de circuitos mais simples e
inerentemente mais rpidos

28
Arquitetura de Entrada e Sada
O sistema de entrada e sada de dados o
responsvel pela ligao do sistema computacional
com o mundo externo.

Atravs de dispositivos de E/S que so fornecidos


dados e instrues a serem aplicadas sobre estes e
so retornados ao usurio os resultados de tais
operaes

Perifrico: qualquer dispositivo ligado ao computador que


permita a comunicao ou interao com o mundo externo.
A partir do sentido do fluxo de dados em relao ao
processador podemos classific-lo como de entrada ou
sada. Certos dispositivos podem ser dos dois tipos
29
Entrada de Dados
Entrada de dados: feita atravs de dispositivos que
convertem dados e informaes em sinais que o
computador capaz de armazenar e processar

Atravs dos dispositivos de entrada possvel fornecer ao


computador instrues atravs de dispositivos interativos
(teclado, mouse, tela sensvel ao toque, microfone, etc.) ou
dados atravs de disquetes, CDs, DVDs, scanners, leitores
de cdigo de barras, dentre vrios outros

30
Sada de Dados
Sada de dados: atravs de dispositivos de sada o
sistema computacional fornece ao usurio uma
resposta para uma instruo obtida de um dispositivo
de entrada

As formas como estes dados so retornados so as


mais diversas possveis, as mais comuns so:
Na forma de palavras ou imagens atravs do monitor;
Para dispositivos de sada, como disquetes, CDs, pen drivers, com o
propsito de armazenamento de dados;
Atravs de documentos impressos, utilizando dispositivos matriciais,
de jato de tinta, laser ou cera.

31
Dispositivos de Entrada e Sada
Por tratar-se de uma classe bastante
heterognea de dispositivos, os seguintes
aspectos devem ser observados:
H uma grande variedade de perifricos:
Entregando diferentes quantidades de dados
Em velocidades diferentes
Em formatos diferentes

Todos so mais lentos que UCP e a MP


Precisa de mdulos de E/S

32
Mdulo de E/S
Interface com UCP e memria
Interface com um ou mais perifricos

33
Mdulo de E/S
A principal funo de uma interface de E/S
tornar transparente para a UCP os detalhes de
operao e controle de dispositivos perifricos

Fundamentalmente, divide-se em duas partes:

34
Mdulo de E/S
A parte genrica semelhante entre os diferentes
tipos de interfaces de E/S, sendo a parte que
interage com a UCP, destacando-se registradores
especficos para cada tipo de dado enviado pelo
barramento
A parte especfica interage diretamente com o
perifrico, e por isso ela difere bastante entre os
vrios tipos de interfaces
Porm, para qualquer perifrico existe a parte de
transmisso de dados entre a interface e o perifrico,
e tambm o conjunto de vias dos sinais de controle
ao dispositivo

35
Exemplo Mdulo de E/S de um
disco rgido

36
Dispositivos Externos
Um dispositivo externo deve pertencer a um dos
seguintes grupos:

Legveis ao ser humano:


Monitor, impressora, teclado
Legveis mquina:
Monitorao e controle
Comunicao (cabeada e wireless):
Modem
Placa de interface de rede (NIC)

37
Funes do mdulo de E/S

Controle e temporizao

Comunicao com UCP


Comunicao com dispositivo
Buffering de dados
Deteco de erro

38
Etapas da E/S
CPU verifica estado do dispositivo do mdulo de
E/S

Mdulo de E/S retorna o estado

Se estiver pronto, UCP solicita transferncia de


dados

Mdulo de E/S recebe dados do dispositivo

Mdulo de E/S transfere dados UCP

Variaes para sada, DMA, etc.

39
Transmisso de Dados
Um subsistema de entrada e sada de dados deve
ser capaz de executar duas funes bsicas:
Receber ou enviar informaes para o meio exterior;
Converter as informaes (de entrada ou sada) em uma
forma inteligvel para o computador (se estiver recebendo) ou
para o usurio (se estiver enviando);

feita a converso dos smbolos utilizados pelos


seres humanos para representar informaes para
os smbolos usados pelo computador, que so
apenas 0 e 1, representados atravs de
intensidades de sinais eltricos

40
Transmisso de Dados

A ; 9 ) #

- A @ + 3

Smbolos utilizados pelo ser humano; so convertidos em

+5 V

+2 V
0V 0V
bit 1 bit 0
smbolos utilizados na linguagem dos computadores

41
Transmisso Serial
Existem duas maneiras bsicas de realizar a transmisso e
recepo de dados entre perifricos/ interfaces e dispositivos de
MP/UCP, as quais veremos a seguir

Na transmisso serial, o perifrico conectado ao dispositivo


controlador ou de E/S por uma nica linha de transmisso

Como a transmisso realizada bit a bit, receptor e transmissor


devem estar sincronizados, ou seja, o transmissor transmite os
bits sempre com a mesma velocidade, todos com a mesma
durao no tempo

Para o receptor receber os dados, ele precisa saber quando um


bit inicia e sua durao; o receptor deve trabalhar na mesma
velocidade do transmissor

42
Transmisso Serial Assncrona
Apenas receber os bits no suficiente, necessrio que o
receptor saiba identificar grupos de bits que tenham um
significado, por exemplo, um caracter; na transmisso serial
duas formas podem ser utilizadas para a separao das
informaes: transmisso sncrona e assncrona

Na transmisso assncrona, cada caracter acrescido de um


pulso de dois bits no incio com valor de tenso
correspondente ao bit 0, chamado START, e outro pulso de
dois bits no final, com tenso correspondente ao bit 1,
denominado STOP

Enquanto no h transmisso, o transmissor envia


continuamente bits 1 pela linha; assim que um caracter
enviado, detectada uma queda de tenso pelo receptor

43
Transmisso Serial Assncrona

Nvel alto (bit 1) Nvel alto (bit 1)

STOP START
0 1 0 1 0 0 1 0

T R

44
Transmisso Serial Sncrona
A transmisso sncrona mais eficiente, pois so
transmitidos blocos de caracteres, sem intervalos entre
eles e sem pulsos de START e STOP, reduzindo a
quantidade de bits trafegados apenas para controle

Receptor e transmissor precisam trabalhar em sincronia para


conhecerem o incio e o final de cada bloco, funcionando com
a mesma frequncia de relgio

Neste modelo necessrio a utilizao de identificadores de


incio e final de bloco; no incio inserido um grupo de bits,
utilizado para marcar o incio da contagem de bits a serem
recebidos, e um grupo no final

Dispositivos USB trabalham utilizando transmisso sncrona

45
Transmisso Serial Sncrona

CC Cn C2 C1 CC CC

T R

C1, C2, Cn caracteres de dados


CC caracteres especiais de controle

46
Transmisso paralela
Este modelo define um conjunto de sinais que fluem atravs
de um conjunto de linhas de conexo simultneamente; a
comunicao de todos os circuitos internos do computador
adota este modelo

necessrio existir uma sincronia entre transmissor e


receptor, realizada atravs de um pulso de frequncia do
sistema
0 0
1 1
1 1
Transmissor Receptor
0 0
0 0
1 1
47
Transmisso paralela
Apesar do modelo de transmisso paralela ser
conceitualmente melhor do que a transmisso serial,
existem certos fatores que devem ser levados em
considerao na sua adoo:
Interfaces paralelas requerem maior nmero de fios, o que
leva a cabos mas caros e largos, alm de conectores com
maior nmero de pinos;

Um cabo com mais vias necessita de blindagem para evitar


interferncias eltricas entre os fios;

As interfaces paralelas requerem a sincronizao entre os


fios, o que se torna mais grave medida que so utilizados
cabos mais longos.
48
Controle de E/S programada
As tcnicas de utilizadas em operaes de Entrada e
Sada dividem-se em trs categorias:
E/S programada: as operaes de E/S so
realizadas diretamente e de forma contnua pelo
programa que requisitou a operao; quando o
processador envia um comando para o mdulo de
E/S, ele tem que esperar at que a operao seja
completada, e no caso do processador ser mais
rpido que o mdulo de E/S, essa espera
representar um desperdcio no tempo de
processamento; durante todo o tempo testado o
estado do mdulo de E/S, degradando
substancialmente o desempenho do sistema
49
Controle de E/S por interrupo
E/S dirigida por interrupo: a comunicao
utilizando a tcnica de interrupo realizada da
seguinte forma:
A UCP emite a instruo de E/S para a interface, e no
havendo uma resposta imediata, ao invs de ficar checando
continuamente o estado do dispositivo, vai executar outra
atividade, normalmente, de outro programa;

Quando a interface est pronta para enviar os dados, ela


avisa a UPC atravs de um sinal especial chamado de
interrupo, que interrompe a atividade corrente da UCP,
para ser utilizada pelo dispositivo que disparou o sinal;

A UCP inicia ento o programa de E/S.

50
Controle de E/S por interrupo

O problema deste mtodo que toda vez que um


programa interrompido, necessrio salvar seu
contexto, isto , seu estado no momento da
interrupo, para que posteriormente, quando for
dada continuidade a sua execuo, recomee de
onde parou, e no desde o incio

51
Controle de E/S por DMA
Acesso direto a memria (DMA): a E/S controlada
por um mdulo especializado de E/S, chamado de
controlador de DMA, que se encarrega da
transferncia dos blocos de dados diretamente de
uma interface para a memria atravs de um
barramento do sistema

A UCP fica liberada para realizar outras atividades,


apenas solicita ao dispositivo DMA que controle o
trfego de dados atravs do barramento; quando o
controlador termina a transferncia, sinaliza para a
UCP atravs de uma interrupo

52
Exemplo de operao de E/S
com DMA

53