Você está na página 1de 72

Arquitetura de

Computadores
ECO015
Engenharia de
Computao

Aula 3

INTERCONEXO DO
COMPUTADOR
Aula 3 Interconexo do Computador

Interconexo do
computador

Todas as unidades devem ser conectadas


Diferentes tipos de conexo para
diferentes tipos de unidades
Memria
Entrada/Sada
CPU

Aula 3 Interconexo do Computador

Mdulos do computador

Aula 3 Interconexo do Computador

Conexo da Memria
Recebe e envia dados
Recebe endereos (de localizaes de
memria)
Recebe sinais de controle
Leitura (Read)
Escrita (Write)
Sincronia (Timing)

Aula 3 Interconexo do Computador

Conexo de Entrada/Sada
(1)

Similar ao de memria do ponto de vista


do computador
Sada
Recebe dados do computador
Envia dado ao perifrico

Entrada
Recebe dados do perifricos
Envia dados ao computador

Aula 3 Interconexo do Computador

Conexo de Entrada/Sada
(2)

Recebe sinais de controle do computador


Envia sinais de controle para perifricos
e.x. spin disk

Recebe endereos do computador


e.x. nmero de porta para identificar um
perifrico

Envia sinais de interrupo (controle)

Aula 3 Interconexo do Computador

Conexo da CPU
Leitura de dados e instrues
Envia dados para escrita (aps
processamento)
Envia sinais de controle para outras
unidades
Recebe (& atua sobre) interrupes

Aula 3 Interconexo do Computador

Tipos de transferncia (1)


Memria para processador
Processador l uma instruo ou dado na
unidade de memria

Processador para memria


Processador escreve dados na memria

E/S para processador


Processador l dados de um dispositivo por
meio de um mdulo de E/S

Aula 3 - Viso de alto nvel da funo

Tipos de transferncia (2)


Processador para E/S
Processador envia dados para dispositivo de
E/S

E/S de ou para a memria


Mdulo possui permisso para trocar dados
diretamente com a memria, sem passar
pelo processador
DMA Direct Memory Access

Por onde ocorrem as transferncias de


Aula 3 - Viso de alto nvel da funo

10

Barramentos
Existem uma grande combinao de
interconexes no sistema
Estruturas de barramento nico e
Mltiplos so os mais comuns
e.x. Barramento de
Controle/Endereos/Dados (PC)
e.x. Unibus (DEC-PDP)

Aula 3 Interconexo do Computador

11

O que um barramento?
Um caminho de comunicao conectando
dois ou mais dispositivos
Usualmente opera em broadcast (todos os
dispositivos recebem o sinal)
Frequentemente agrupados
Vrios canais em um barramento
e.x. barramento de 32 bits de dados
separado em 32 canais nicos

Existem ainda: barramentos de


alimentao
No ser abordado nesse curso
Aula 3 Interconexo do Computador

12

Esquema de Interconexo por


barramentos

Aula 3 Interconexo do Computador

13

Barramento de dados
Transporta dados
Neste nvel, no existe uma difereno entre
dados e instrues

Largura o fator determinando de


desempenho
8, 16, 32, 64 bits

Aula 3 Interconexo do Computador

14

Barramento de Endereos
Identifica a origem ou o destino dos
dados
e.x. CPU precisa ler uma instruo
(dados) de uma dada localizao de
memria
Largura do barramento determina a
capacidade mxima de memria do
sistema
e.x. 8080 possui barramento de 16 bits de
endereo fornecendo 64k de espao
enderevel
Aula 3 Interconexo do Computador

15

Barramento de Controle
Informaes de Controle e Sincronia

Sinais de leitura/escrita para a memria


ACK de transferncia
Requisio de interrupo (interrupt request)
Solicitao de barramento (bus request)
Concesso de barramento (bus grant)
ACK de interrupo
Sinais de clock

Aula 3 Interconexo do Computador

16

Como acontece a
transferncia?

Como deve ser a operao


Dois passos
Enviar dados
1. Obter uso do
barramento

Receber dados
1. Obter uso do
barramento

Aula 3 - Viso de alto nvel da funo

2 . Transferir
dados pelo
barramento
2. Transmitir uma
requisio ao
mdulo de
entrada e sada

Aguardar....

17

Grandes e amarelos?
Como identificar um barramento?
Linhas paralelas nas placas de circuito
Slots de conexo em placas me
e.x. PCI

Conjunto de fios

Aula 3 Interconexo do Computador

18

Problemas de barramento
nico

Grande quantidade de dispositivos


compartilhando um barramento levam a:
Atrasos de propagao
Caminhos longos de dados implica que a
coordenao do acesso afeta negativamente o
desempenho

Maior parte do sistema utiliza mltiplos


barramentos para superar tais problemas

Aula 3 Interconexo do Computador

19

Sistema de barramento tradicional (ISA)


(com cache)
Cache evita o acesso
direto do processador
memria
Permite que outros
dispositivos acessem o
barramento
Buffer

Eficaz, porm:
Dispositivos comeam ficar
muito rpidos e.x. rede,
vdeo, etc.

Aula 3 Interconexo do Computador

20

Barramentos de alto
desempenho

Cache/Ponte (buffer)
Barramento de alta velocidade

Dispositivos de alta velocidade


mais perto do processador

Alteraes de processador
no
afetam o
funcionamento dos outros
barramentos

Buffer

Buffer

Aula 3 Interconexo do Computador

21

Tipos de barramentos
Dedicados
Separao entre linhas de dados & endereos

Multiplexados
Compartilhamento das linhas
Linha de controle indica quando so dados ou
quando so endereos
Vantagem menos linhas
Desvantagens
Controles mais complexos
Degradao do desempenho
Aula 3 Interconexo do Computador

22

Temporizao
Coordenao dos eventos em um
barramento
Sncrono
Eventos determinados por sinais de clock
Barramento de controle possui uma linha de
clock
Um ciclo de barramento 1-0
Todos os dispositivos recebem a linha de clock
Usualmente a sincronia acontece no edge de
descida
Usualmente um ciclo de clock por evento
Aula 3 Interconexo do Computador

23

Diagrama de temporizao sncrona


Ciclo de Leitura
Sinal de clock controla a
operao do barramento
Ex.
1 Ciclo: processador coloca
sinais nas linhas de
endereo e emite sinal de
ativao do endereo
2 Ciclo:
Leitura: memria localiza
a posio
3 Ciclo:
Leitura: Memria coloca
os dados no barramento
e processador efetua
leitura
Aula 3 Interconexo do Computador

24

Diagrama de temporizao sncrona


Ciclo de Escrita
Sinal de clock controla a
operao do barramento
Ex.
1 Ciclo: processador coloca
sinais nas linhas de
endereo e emite sinal de
ativao do endereo
2 Ciclo:
Escrita: Processador
coloca os dados nas
linhas de memria
3 Ciclo:
Escrita: Copia a
informao das linhas de
dados para posio de
memria
Aula 3 Interconexo do Computador

25

Temporizao Assncrona Diagrama


de leitura
Processador coloca todos os sinais no
barramento
Pulso na linha de leitura faz com que
memria localizar o endereo desejado e
coloque os dados no barramento
Quando o dados for vlido a memria ativa a
linha de confirmao e o processador efetua
a leitura

Aula 3 Interconexo do Computador

26

Temporizao Assncrona Diagrama


de escrita
Processador coloca todos os sinais no
barramento
Pulso na linha de escrita faz com que
memria armazene os dados na posio
desejada
Memria coloca um sinal de confirmao no
barramento

Aula 3 Interconexo do Computador

27

Tipos de transferncias de
dados

Perspectiva do processador
Tempo
Endereo
(1ciclo)

Tempo
Dados
(2ciclo)

Endereo

Operao de escrita (multiplexada)

Endereo

Tempo
de
acesso

Dado
s

Dad
os

Operao de escrita ( no multiplexada)

Operao de leitura (multiplexada)

Leitur
Escrit
a de
a de
Endereo
dado
dados
s
Operao de leitura-modificao-escrita
Escrit
a de
Endereo
dado
s
Operao de leitura-aps-escrita

Endereo

Dad
os

Tempo
Endereo

Leitur
a de
dado
s

Dad
os

Transferncia de dados em bloco

Aula 3 - Viso de alto nvel da funo

Dado
s
Operao de escrita (no multiplexada)

Dados

*Multiplexado mesmo barramen


para endereo e dados
28

Aula 12

ESTRUTURA E FUNO DO
PROCESSADOR
AUla 12 - Estrutura e funo do processador

29

Organizao da CPU
O projeto de uma CPU deve atender os
seguintes requisitos:
Busca de instrues (fetch)
Ler uma instruo da memria (registrador, cache,
principal)

Interpretao de instrues
Decodificar a instruo e determinar a ao requerida

Busca de dados
Ler os dados da memria ou de algum mdulo de E/S

Processamento de dados
Efetuar uma operao aritmtica ou lgica com os dados

Escrita de dados
Gravar os resultados na memria ou mdulo de E/S
AUla 12 - Estrutura e funo do processador

30

Estrutura de barramento e
organizao interna

CPU com barramento de sistema

AUla 12 - Estrutura e funo do processador

Estrutura Interna da CPU

31

REGISTRADORES

AUla 12 - Estrutura e funo do processador

32

Organizao dos
Registradores

A CPU deve possuir espao para manipulao


de dados (armazenamento temporrio)
Nmero e funes dos registradores variam de
acordo com o design do processador
Maior deciso de design (quantos e qual
funo?)
Nvel mais alto da hierarquia de memria
Dois tipos:
Registradores visveis aos usurio
Registradores de controle e estado

AUla 12 - Estrutura e funo do processador

33

Registradores visveis ao
usurio

So os registradores que podem ser


referenciados pelos recursos da
linguagem de mquina que o processador
executa.

Propsito geral
Dados
Endereos
Cdigos de condio

AUla 12 - Estrutura e funo do processador

34

Registradores de propsito
geral (1)

Pode possuir qualquer funo atribuda pelo


programador. Isto , pode conter um operando
para qualquer opcode.
Porm podem existir restries para seu uso
(ponto flutuante, operao de pilha, etc)
Podem ser usados para dados e endereamento
Dados
Acumulador podem ser empregados para clculos de
endereamentos

Endereamento
Indireto por registrador, deslocamento
Uso geral ou endereamento em particular
AUla 12 - Estrutura e funo do processador

35

Registradores de propsito
geral(2)

Caso eles sejam de uso geral

Aumenta a flexibilidade e as opes do


programador
Aumento o tamanho & complexidade das
instrues

Caso eles sejam especializados


Instrues menores e mais rpidas
Menor flexibilidade

AUla 12 - Estrutura e funo do processador

36

Quantos registradores de propsito


geral?
Entre 8 32 (No muito bem definido)i
Quanto menos registradores mais
referncias so feitas na memria
Porm, mais registradores no reduz as
referncias na memria

AUla 12 - Estrutura e funo do processador

37

Qual o tamanho de um
registrador?

Grande o suficiente para armazenar um


endereo completo
Grande suficiente para armazenar uma
palavra completa
Deve ser possvel combinar dois
registradores de dados:
Programao em C: long int a;

AUla 12 - Estrutura e funo do processador

38

Registradores de controle &


status

Controlam a operao do processador e na


maior parte dos sistemas no visvel ao
usurio.
Diferentes mquinas possuem diferentes
organizaes. Porm os quatro essenciais so:

Contador de programas (PC)


Registrador da instruo (IR)
Registrador de endereo de memria (MAR)
Registrador buffer de memria (MBR)

AUla 12 - Estrutura e funo do processador

39

Registradores de cdigo de
condio

Conjunto de bits individuais

e.x. resultado da ltima operao foi zero

Pode ser lido (implicitamente) pelos programas


e.x. Jump se zero

No pode (usualmente) ser configurado por


programas

AUla 12 - Estrutura e funo do processador

40

Palavra de status de um
programa

Muitos modelos possuem palavra de


estado do programa (PSW). Bits comuns
encontrados em um PSW incluem as
seguintes informaes:

Sinal da ltima operao aritmtica


Zero
Carry
Equal
Overflow
Interrupo Habilitada/desabilitada

AUla 12 - Estrutura e funo do processador

41

Cdigos condicionais

AUla 12 - Estrutura e funo do processador

42

Exemplos de organizao de
registradores

AUla 12 - Estrutura e funo do processador

43

Aula 3

VISO DE ALTO NVEL DA


FUNO
Aula 3 - Viso de alto nvel da funo

44

Viso de alto nvel


Possvel descrever um sistema de
computao de acordo com:
O comportamento externo de cada
componente
Dados e sinais de controle que ele troca com os
outros componentes

Estrutura de interconexo e controles


exigidos para gerenciar a estrutura de
interconexo

Aula 3 - Viso de alto nvel da funo

45

Conceito de programa
armazenado

Trs conceitos principais de Von Neumann


Dados e instrues em uma nica memria
escrita
Memria enderevel por local, sem
considerar o tipo de dados contido
Execuo ocorre de forma sequencial de uma
instruo para a prxima

Aula 3 - Viso de alto nvel da funo

46

Conceito de programa
armazenado (2)

Sistemas hardwired so inflexveis


Hardware de propsito geral?

Hardware de propsito geral podem realizar


diferentes tarefas dado os corretos sinais de
controle

Ao invs de re-cabear o hardware, devese apenas utilizar um novo conjunto de


sinais de controle

Aula 3 - Viso de alto nvel da funo

47

Hardwired vs. HW + SW
Hardwired
Aceita dados e produz
resultados
e.x.

Hardware + Software
Aceita dados e sinais
de controle e produz
resultado
e.x.

Aula 3 - Viso de alto nvel da funo

48

HW + SW
O que um programa armazenado?
Sinais de controle
Determina uma sequncia de passos

Para cada passo, uma operao lgica ou


aritmtica realizada
Para cada operao, um conjunto
diferente de sinais de controle
necessrio.
Conjunto de sinais de controle Instruo
Conjunto de instrues Software
Aula 3 - Viso de alto nvel da funo

49

Funo da unidade de
controle

Para cada operao que pode ser


realizada um nico cdigo (opcode)
utilizado
e.x. ADD, MOVE

Um segmento do hardware recebe o


cdigo e fornece os sinais de controle
Dessa forma: Temos um computador!!

Aula 3 - Viso de alto nvel da funo

50

Componentes do computador:
Viso de alto nvel
Unidade central
de
processsamento
Unidade de
Controle (CU)
Unidade lgica
aritmtica (ALU)

Aula 3 - Viso de alto nvel da funo

51

Componentes do computador:
Viso de alto nvel
Dados e
instrues
devem entrar no
sistema e o
resultado
produzido deve
sair
Entrada/sada Input/output
(mdulo I/O)

Aula 3 - Viso de alto nvel da funo

52

Componentes do computador:
Viso de alto nvel
Armazenamento
temporrio do
cdigo e dos
resultados
necessrio
Memria RAM

Aula 3 - Viso de alto nvel da funo

53

Interao entre componentes


CPU Memria
MAR prximo endereo
para leitura ou escrita na
memria
MBR dados que foram
lidos ou sero escritos na
memria

Aula 3 - Viso de alto nvel da funo

54

Funo do computador
Executar um programa, sendo assim
CPU deve executar conjunto de instrues
que est na memria

Como isso funciona?


Executa os ciclos de cada instruo

Aula 3 - Viso de alto nvel da funo

55

Ciclo de instruo (1)


Dois passos:
Busca (Fetch)
Execuo

Aula 3 - Viso de alto nvel da funo

56

Ciclo de Busca (Fetch Cycle) (2)


Contador de Programa
(PC) armazena o
endereo da prxima
instruo a ser buscada

Aula 3 - Viso de alto nvel da funo

57

Ciclo de Busca (Fetch Cycle) (3)


Processador busca de
uma localizao na
memria apontada pelo
contador de instruo

Aula 3 - Viso de alto nvel da funo

58

Ciclo de Busca (Fetch Cycle) (4)


O contedo do contador
de programa
incrementado
Ao menos que o
comando altere seu
contedo

+1

Aula 3 - Viso de alto nvel da funo

59

Ciclo de Busca (Fetch Cycle) (5)


Instruo armazenada
no Registrador de
Instruo (IR)

+1

Aula 3 - Viso de alto nvel da funo

60

Ciclo de Busca (Fetch Cycle)


- Resumo

Contador de Programa (PC) armazena o


endereo da prxima instruo a ser
buscada
Processador busca de uma localizao na
memria apontada pelo contador de
instruo
O contedo do contador de programa
incrementado

Ao menos que o comando altere seu contedo

Instruo armazenada no Registrador de


Instruo (IR)
Aula 3 - Viso de alto nvel da funo

61

Ciclo de execuo (Execute


Cycle) (1)

Processador interpreta a
instruo e executa as
aes solicitadas, como:
Processador - memria

Transferir dados entre a CPU


e a memria principal

Aula 3 - Viso de alto nvel da funo

62

Ciclo de execuo (Execute


Cycle) (2)

Processador interpreta a
instruo e executa as
aes solicitadas, como:
Processador Entrada e
Sada (E/S)

Transferir dados entre CPU e


mdulo de E/S

Aula 3 - Viso de alto nvel da funo

63

Ciclo de execuo (Execute


Cycle) (3)

Processador interpreta a
instruo e executa as
aes solicitadas, como:
Processamento de dados
Operaes lgicas ou
aritmticas sobre os dados

Aula 3 - Viso de alto nvel da funo

64

Ciclo de execuo (Execute


Cycle) (4)

Processador interpreta a
instruo e executa as
aes solicitadas, como:
Controle
Alterao da sequncia de
operaes
e.x. jump (desvio)

Ou ainda, combinaes
das funes acima

Aula 3 - Viso de alto nvel da funo

65

Ciclo de execuo (Execute Cycle) Resumo


Processador interpreta a instruo e
executa as aes solicitadas, como:
Processador - memria
Transferir dados entre a CPU e a memria principal

Processador Entrada e Sada (E/S)


Transferir dados entre CPU e mdulo de E/S

Processamento de dados
Operaes lgicas ou aritmticas sobre os dados

Controle
Alterao da sequncia de operaes
e.x. jump (desvio)

Ou ainda, combinaes das funes acima


Aula 3 - Viso de alto nvel da funo

66

Mquina Hipottica
0

34
Opcode

Endereo

1
5

(a) Formato da instruo

0 1
Magnitude

1
5

(b) Formato de inteiro

Contador de programa (PC) = Endereo da Instruo


Registrador de instruo (IR) = Instruo sendo executada
Acumulador (AC) = Armazenamento temporrio
(c) Registradores internos da CPU

0001 = Carrega AC da memria (0x1)


0010 = Armazena AC na memria (0x2)
0101 = Adiciona da memria ao AC (0x5)
(d) Lista parcial de opcodes

Aula 3 - Viso de alto nvel da funo

67

Exemplo de execuo de um
programa (1)
Somar o contedo das posies de
memria 940 e 941 e armazenar na
memria
LOAD M(940)
ADD M(941)
STOR M(941)

Contador de programa (PC) = Endereo da Instruo


Registrador de instruo (IR) = Instruo sendo executad
Acumulador (AC) = Armazenamento temporrio
(c) Registradores internos da CPU

0001 = Carrega AC da memria


0010 = Armazena AC na memria
0101 = Adiciona da memria ao AC

Contador de programa = 300

(d) Lista parcial de opcodes

3 4
Opcod
e

15
Endereo

(a) Formato da instruo

Aula 3 - Viso de alto nvel da funo

68

Exemplo de execuo de um
programa (2)
LOAD M(940)
ADD M(941)
STOR M(941)
0

Opcod
e

Contador de programa (PC) = Endereo da Instruo


Registrador de instruo (IR) = Instruo sendo executa
Acumulador (AC) = Armazenamento temporrio
(c) Registradores internos da CPU

15

Endereo
(a) Formato da instruo

(a) Busca

Aula 3 - Viso de alto nvel da funo

0001 = Carrega AC da memria


0010 = Armazena AC na memria
0101 = Adiciona da memria ao AC
(d) Lista parcial de opcodes

(b) Execuo

69

Exemplo de execuo de um
programa (3)
LOAD M(940)
ADD M(941)
STOR M(941)
0

Opcod
e

Contador de programa (PC) = Endereo da Instruo


Registrador de instruo (IR) = Instruo sendo executa
Acumulador (AC) = Armazenamento temporrio
(c) Registradores internos da CPU

15

Endereo
(a) Formato da instruo

(a) Busca

Aula 3 - Viso de alto nvel da funo

0001 = Carrega AC da memria


0010 = Armazena AC na memria
0101 = Adiciona da memria ao AC
(d) Lista parcial de opcodes

(b) Execuo

70

Exemplo de execuo de um
programa (4)
LOAD M(940)
ADD M(941)
STOR M(941)
0

Opcod
e

Contador de programa (PC) = Endereo da Instruo


Registrador de instruo (IR) = Instruo sendo executa
Acumulador (AC) = Armazenamento temporrio
(c) Registradores internos da CPU

15

Endereo
(a) Formato da instruo

(a) Busca

Aula 3 - Viso de alto nvel da funo

0001 = Carrega AC da memria


0010 = Armazena AC na memria
0101 = Adiciona da memria ao AC
(d) Lista parcial de opcodes

(b) Execuo

71

Ciclo de Instruo Diagrama de


Estados
CPUMemria

Opera
es na
CPU

Aula 3 - Viso de alto nvel da funo

72