Você está na página 1de 16

3.

5 Organizao de Computadores
Estrutura Modular de um Computador
COMPUTADOR CPU UAL UC MEMRIA

E/S

CPU - Unidade Central de Processamento UAL - Unidade Aritmtica e Lgica UC - Unidade de Controle E/S - Interface de Entrada/Sada
DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes 172

Fluxo de Dados e de Controle


Interface Entrada
CPU UAL UC

Interface Sada

R E G.

Relgio

Memria Programas Dados

Fluxo de Controle Fluxo de Dados ADM - Acesso Direto Memria


DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes 173

Barramentos
COMPUTADOR

Memria
CPU U C
BARRAMENTO DE ENDEREO

BARRAMENTO

DE CONTROLE DADOS

U A L

BARR. DE

INTER FACES

DISPOSITIVO DE SADA

DISPOSITIVO DE ENTRADA

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

174

Barramentos - detalhes
Como j vimos so ligaes (caminhos eltricos) entre os mdulos / partes de um sistema computacional. Devem ser analisados sob 3 aspectos:

Mecnico: tamanho, material, conectores.

PLUG

SOQUETE

Eltrico: especificaes eltricas em cada um de seus pinos / ou trilhas.

Protocolo (funcional): sinais dados e controle que fluem pelos seus pinos ou trilhas.

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

175

Barramento em uma placa me de PC

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

176

Barramento x Linha de Transmisso


(ver Alan Clements, Microprocessor System Design)

Por vezes no atentamos que ao transportar um sinal (em alguma frequncia) temos de considerar o comportamento de um barramento como o de uma linha de transmisso. O primeiro cabo submarino entre USA-Europa (1855) mereceu um tratamento matemtico feito por Lord Kelvin de forma a estudar o seu comportamento.
R

Modelo mais simples de um barramento:

aplica-se em trilhas curtas: < dezenas de cm para trilhas mais longas

L/2 C

L/2 atraso de propagao de um pulso dado por L.C por unidade de comprimento.

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

177

Alguns valores tpicos: Fio

meio

L C (nH/cm) (pF/cm) 20 5 10 5 10 0,06 0,5 -1,5 13

Z (ohm) 600

T (ns/m) 4

Trilha PCB Backplane busline

70 -100 5 100 7 - 17

Aproximao experimental para anlise de atraso em trilhas: seja a = tempo de subida/descida do sinal b = atraso de propagao / metro c = comprimento da trilha Exemplo 1: a = 2 ns, b = 5 ns/m , c= 4 cm Exemplo 2: a = 2 ns, b = 20 ns/m , c= 50 cm razo = 10 razo = 0,25

razo = a/(b.c)

Analisando esta razo vemos que no primeiro caso o tempo de subida domina o comportamento enquanto no segundo no e assim neste segundo caso deve-se considerar o barramento como uma linha de transmisso.
DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes 178

3.6 Descrio de um computador

Memrias principal; associativa; cache UAL mquinas de 0 a 3 endereos; flags UC registradores Instruo de mquina e sua execuo

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

179

Memria (principal)
a quantidade de bits da palavra da memria, determina a quantidade de informao que pode ser representada m bits 2 m dados distintos

endereo

contedo

a quantidade de bits para especificao do endereo, define a quantidade de palavras que podem ser acessadas n bits 2 n palavras distintas

X - endereo (X) - contedo do endereo X,

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

180

(nossa) Representao da memria principal

Memria 0 REM endereo endereo leitura decodificador de endereos palavra escrita 1 2 ... REM - registrador de endereos da memria

RDM - registrador de dados da memria

RDM

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

181

Ciclos de memria Ciclo de Leitura


Ciclo de Memria corresponde a um acesso memria, seja de leitura ou de escrita.
Memria REM 1 3 2 3 RDM Pulso 1 2 Microoperao REM endereo leitura : RDM ((REM)) ou RDM (m) CPU (RDM)

CPU

onde m o endereo de uma posio de memria

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

182

Ciclos de memria Ciclo de Escrita


CPU REM 1 Memria Pulso 1 2 3 3 2 RDM Microoperao REM endereo RDM dado escrita : (REM) (RDM) ou m (RDM)

onde (REM) significa armazenar no endereo contido no REM

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

183

Outras memrias

Memria associativa: o acesso realizado pelo contedo e no pelo endereo.

Registrador de Busca RB RA uma palavra Registrador de Acerto (Match)

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

184

Outras memrias cont.

Memria cache: normalmente colocada entre memria principal e CPU e tendo caracterstica de alta velocidade, proporciona um acesso mais rpido.
CPU Memria Cache Memria Principal

palavras

blocos

Princpio da localidade
DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes 185

Unidade Aritmtica e Lgica - UAL

A UAL faz parte da CPU, sendo responsvel pela execuo de todas as operaes sobre os dados.

A UAL pode ser classificada, dependendo de como devem ser especificados os operandos e resultados, em : mquina de 3 endereos, mquina de 2 endereos, mquina de 1 endereo, mquina de zero endereos.

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

186

UAL cont. Mquina de 3 endereos


RESULTADO FLAGS Formato da instruo C.O. OP1 OP2 RES

UAL

comandos cdigo de end. 1o end. 2o endereo da uc operao operando operando resultado


RES (OP1) operao (OP2)

2o OPERANDO 1o OPERANDO Exemplo de adio: ADD cdigo de end. 1o end. 2o endereo operao operando operando resultado

R = S1 + S2 R (S1) + (S2)

Em linguagem simblica (Assembly) teramos, por exemplo: ADD S1, S2, R R (S1) + (S2)
187

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

UAL cont. Mquina de 2 endereos


Formato da instruo FLAGS C.O. OP1 OP2 comandos cdigo de end. 1o end. 2o da uc operao operando operando OP2 (OP1) operao (OP2)

UAL 2o OPERANDO

1o OPERANDO

Exemplo de adio:

R = S1 + S2 R (S1) + (S2)

ADD cdigo de end. 1o end. 2o operao operando operando Em linguagem simblica (Assembly) teramos, por exemplo: (necessitamos de 2 instrues) MOVE ADD S1, R S2, R R (S1) R (R) + (S2)
188

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

UAL cont. Mquina de 1 endereo


Acc Formato da instruo FLAGS resultado UAL 2o operando Exemplo de adio: ADD cdigo de operao comandos da uc C.O. cdigo de operao OP1 endereo operando

1o OPERANDO

Acc (Acc) operao (OP1)

R = S1 + S2 R (S1) + (S2)

endereo operando Em linguagem simblica (Assembly) teramos, por exemplo: (necessitamos de 3 instrues) LOAD ADD STA S1 S2 R Acc (S1) Acc (Acc) + (S2) R (Acc)
189

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

UAL cont. Mquina de zero endereos

Mquinas de zero endereos tambm denominadas stack machines ou mquinas por pilha, armazenam os operandos em uma pilha necessitando assim somente da operao no corpo da instruo.

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

190

Flags ou bandeiras
(ver desenhos da UAL nas transparncias anteriores)

Flags sinalizam caractersticas do resultado da ltima operao realizada pela UAL Por exemplo: se houve carry (transporte), se o resultado zero, positivo ou negativo; se houve overflow.

carry zero overflow negativo

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

191

10

Unidade de Controle - UC
CPU UAL UC

C.O.

decodificao
CONTROLADOR
...

microcomandos (sinais de controle) reg. de Instruo armazena o CO para a decodificao. reg. PC contador de programa, indica a
prxima instruo a ser executada.

registradores ligados operao

reg. PSW reg. de estado, indica os flags da ltima operao.


DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes 192

Microoperaes e Microcomandos

MICROOPERAO 1. Acc (BUS) 2. BUS (R1) 3. TMP (BUS) 4. TMP (R2)

SINAIS DE CONTROLE (microcomandos) WA RR1 WT RR2, W T

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

193

11

Instrues de mquina - tipos


1. Instrues de transferncia de dados: transferem dados, ou blocos de dados, entre diferentes registradores ou regies de memria. Exemplo: MOVE R1, R2 R2 (R1) 2. Instrues de tratamento de operandos: realizam operaes aritmticas ou lgicas. Exemplo: ADD R1, R2 R2 (R1) + (R2) 3. Instrues de desvio: determinam desvio no fluxo do programa, isto , controlam a sequncia de execuo do programa. Exemplos: JMP, Jcond, JSR - salto para subrotina, RET - retorno de subrotina 4. Instrues de Entrada/Sada: realizam a comunicao entre a UCP e as Interfaces de entrada e sada. Exemplo: IN port Acc (port) 5. Miscelnea: instrues especiais, s vezes especficas do processador em particular. Exemplos: Instrues que manipulam bits BTST D1,D2 ; testa em D2 o bit indicado em D1 Instrues que manipulam campos no registrador de estado MOVE D0, SR ; transferncia envolvendo registradores especiais (no caso o reg. SR ("Status Register")
DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes 194

Instrues de mquina - comprimento


Instrues podem ter diferentes comprimentos, dependendo da quantidade e tipos de operandos envolvidos.
1 palavra Instrues de 1 palavra : MOVE R1, R2 ;R2 (R1)
C.O. R1 R2

Instrues de 2 palavras : a. ADI dado ; Acc (Acc) + dado

C.O. dado

C.O.

b. ADD X ; Acc (Acc) + (X)

endereo de X

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

195

12

Instrues de mquina comprimento


(cont.)

1 palavra Instrues de 3 palavras :


C.O.

a. ADD X, Y ;

Y (X) + (Y)

endereo de X endereo de Y

b. ADD #dado, X ;

X (X) + dado

C.O. dado endereo de X

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

196

Instrues de mquina - execuo


Ciclo de Mquina uma sequncia de microoperaes que so executadas, caracterizando uma operao mais complexa. Ciclo de Mquina tem um significado vital no entendimento do funcionamento do computador. A execuo de uma instruo dividida em Ciclos de Mquina.

1 instruo de mquina

j ciclos de mquina
tipos

n microoperaes

m microcomandos

ciclos de acesso: acessos externos CPU (de memria e de E/S)

ciclos de exceo: tratamento de excees

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

197

13

Execuo de uma instruo de mquina:


FASE DE BUSCA A fase de busca compreende o Ciclo de Mquina para a leitura do cdigo de operao (C.O.), ou seja, da primeira palavra da instruo. Desta forma, a Fase de Busca idntica para qualquer instruo. FASE DE EXECUO A fase de execuo compreende a execuo dos Ciclos de Mquina necessrios para a leitura das palavras restantes da instruo, se existirem, e da execuo da operao identificada pela instruo. A fase de execuo diferente para cada tipo de instruo. A execuo de uma instruo est sempre ligada a Ciclos de Mquina que englobam as microoperaes necessrias para a execuo de cada passo da instruo.
DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes 198

Exemplo: execuo da instruo STA end


STA end end (Acc)
formato da instruo C.O. endereo

1 ciclo de mquina : FASE DE BUSCA - busca do C.O.


CPU UAL UC PC RI REM MEMRIA

2 3 PULSO 1. 2. 3. MICROOPERAO REM (PC) leitura: RDM ((REM)) ou RDM (m) PC (PC) + 1 ; operao interna RI (RDM)
199

RDM

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

14

Exemplo: execuo da instruo STA end


2 ciclo de mquina : Leitura do endereo
CPU UAL UC PC RI Rg REM MEMRIA

2 3
RDM

PULSO MICROOPERAO 1. REM (PC) 2. leitura: RDM ((REM)) ou RDM (m) PC (PC) + 1 3. Rg (RDM)

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

200

Exemplo: execuo da instruo STA end


3 ciclo de mquina : Transferncia do contedo de Acc para a memria (endereo end)
MEMRIA CPU UAL ACC UC PC RI Rg REM

1 2

3
RDM

PULSO 1. 2. 3.

MICROOPERAO REM (Rg) RDM (Acc) escrita: (REM) (RDM) ou m (RDM)

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

201

15

Comentrio:
Neste exemplo: Fase de Busca: ciclo 1 Busca do cdigo de STA Fase de Execuo: ciclos 2 e 3 Leitura do endereo do operando Armazenamento do dado no endereo obtido

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

202

3.7 Exerccios sobre organizao


1. 2. 3. 4. Exemplifique um uso de memria associativa. Exemplifique um uso de memria cache. Explique o princpio da localidade. Exemplifique a operao de uma mquina de zero endereos. Usando os diagramas das transparncias 199 - 201 mostre os passos para a execuo (fases de busca e de execuo) da instruo de desvio: JNAcc end ; caso Acc < 0, PC end se no PC (PC) + 1 (considere que a instruo ocupa 2 palavras) Estude o exemplo 2 apresentado na pgina 61 do livro texto.

5.

DCA-FEEC-UNICAMP: Introduo Computao Digital - julho2011 - Prof. Lo Pini Magalhes

203

16