Você está na página 1de 166

Pontifcia Universidade Catlica de Minas Gerais Bacharelado em Sistemas de Informao

Arquitetura e Organizao de Computadores


Organizao de Computadores
2 semestre 2011

Prof. Eduardo da Silva Ribeiro

AOC Organizao de Computadores


I.

II.

III. IV. V.

Introduo Processadores I. Ciclo de Instruo II. Pipeline Memrias Barramentos Dispositivos de E/S

Arquitetura e Organizao de Computadores

Introduo

Fundamentos
Referncias AOC - William Stallings cap 1, 2 e 3 OEC - Tanenbaum - cap 1 e 2 SOM - Tanenbaum - cap 1 e 5 ASO F. M. Machado - cap 1 e 2

Arquitetura e Organizao de Computadores

Sistema Computacional

Arquitetura e Organizao de Computadores

Arquitetura e Organizao

Arquitetura: ATRIBUTOS VISVEIS AO PROGRAMADOR: Conjunto de instrues Modos e tcnicas de endereamento Nmero de bits (dados e endereos) Mecanismos de E/S Organizao: UNIDADES FUNCIONAIS E SUAS INTERCONEXES que implementam as especificaes de uma arquitetura Envolvem detalhes de hardware (transparentes ao programador), tais como: barramentos, sinais de controle, interfaces entre o computador e os perifricos, tecnologias de memria, etc.
5 Arquitetura e Organizao de Computadores

Mquina de Nveis (Organizao Estruturada)

Arquitetura e Organizao de Computadores

Linguagens Nveis e Mquinas Reais

Arquitetura e Organizao de Computadores

Linguagens Multinveis Comteporneas

Arquitetura e Organizao de Computadores

A mquina de IAS (von Neuman)


IAS (Institute for Advanced Study de Princenton 1952) Computador de programa armazenado (base da maioria das mquinas atuais). Unidades bsicas: memria principal (MP), unidade de lgica e aritmtica (ULA), unidade de controle (UC) e os dispositivos de entrada e sada (E/S).

Arquitetura e Organizao de Computadores

Componentes de Hardware

Principais componentes de um Computador

10

Arquitetura e Organizao de Computadores

UCP (CPU) Unidade Central de Processamento

Executa as instrues contidas na memria. composta de : Unidade de Controle (UC) Unidade Lgica e Aritmtica (ULA) Registradores UNIDADE DE CONTROLE (UC) Busca cada instruo na memria principal, determina seu tipo e a executa. Para realizar estas tarefas so emitidos vrios sinais de controle (ex: leitura, escrita, etc.).

11

Arquitetura e Organizao de Computadores

UCP: Caminho de Dados

12

Arquitetura e Organizao de Computadores

ULA Unidade Lgica e Aritmtica

Realiza as operaes necessrias execuo das instrues : aritmticas (adio, subtrao, etc.) e lgicas (booleanas: e(and), ou(or), negao (not), etc.) REGISTRADORES So memrias internas da CPU que armazenam operandos, resultados temporrios e certas informaes de controle. Um dos registradores mais importante contador de programa (Program Counter - PC), que aponta para a prxima instruo a ser executada

13

Arquitetura e Organizao de Computadores

Componentes do Hardware

14

Arquitetura e Organizao de Computadores

Estrutura de IAS

15

Arquitetura e Organizao de Computadores

Principais Registradores da CPU


MDR/MBR(Memory Data/Buffer Register) Registrador de dados da memria (RDM) MAR (Memory Address Register) Registrador de endereos de memria (REM) IR (Instruction Register ) Registrador de Instrues PC (Program Counter PC) Contador do programa AC (Accumulator) Acumulador

16

Arquitetura e Organizao de Computadores

Memoria Principal

A Memria o espao de armazenamento temporrio. Instrues e dados so armazenados na memria durante o processamento.

17

Arquitetura e Organizao de Computadores

Bits e Bytes

Um Bit a menor unidade de informao e corresponde a 0 ou 1. Um Byte composto de 8 Bits. Nos circuitos do computador 0 e 1 correspondem a estados desativados e ativados dos componentes dos computadores. A memria formada por milhares de componentes (capacitores ou transistores) capazes de representar e guardar (ou armazenar) estes estados

18

Arquitetura e Organizao de Computadores

Bits e Celulas de Memrias

19

Arquitetura e Organizao de Computadores

Memria Principal: endereos e clulas

20

Arquitetura e Organizao de Computadores

Quantificao de Memria

O KibiByte (smbolo KiB, contrao de kilo binary byte) uma unidade medida de armazenamento eletrnico de informao, estabelecida em 2000 pela Comisso Eletrotcnica Internacional (IEC) como: 1 kibibyte = 1.024 bytes Foi criada com o objetivo de substituir o "quilobyte" em cincia da computao, que se refere a 1024 bytes, e que entra em conflito com a definio do prefixo "quilo" do Sistema Internacional de Unidades (SI)

21

Arquitetura e Organizao de Computadores

IEC x SI

IEC (International Electrotechnical Commission,1906, Genebra, Sua.): organizao internacional de padronizao de tecnologias eltricas, eletrnicas e relacionadas. Alguns dos seus padres so desenvolvidos juntamente com a Organizao Internacional para Padronizao (ISO). SI (Sistema Internacional de Unidades - International System of Units - Systme international d'units): conjunto sistematizado e padronizado de definies para unidades de medida, utilizado em quase todo o mundo moderno, que visa a uniformizar e facilitar as medies e as relaes internacionais da decorrentes. Sua adoo progressiva e cada vez mais abrangente uma contingncia no s tcnico-cientfica, mas de ordem poltica, econmica e social
22 Arquitetura e Organizao de Computadores

Mltiplos do Byte

23

Arquitetura e Organizao de Computadores

Dispositivos de Entrada e Sada

24

Arquitetura e Organizao de Computadores

Dispositivos de Entrada e Sada


Interface homem-mquina (IHM) Permitem introduzir dados (entrada), instrues e comandos no computador e ver/receber os resultados/ respostas (sada). Dispositivos de Entrada: teclado, mouse, scanner, cmera de vdeo, microfone, joystick, etc. Dispositivos de Sada: monitor, impressora, plotter, caixa de som, etc.

25

Arquitetura e Organizao de Computadores

Dispositivos de Armazenamento de Dados


memria secundria ou n-ria Discos magnticos: Discos Rgidos (HD, Winchester) Disquetes Zip Disk Discos ticos: Compact Disk (CD-ROM, CD-R e CD-RW) Digital Versatile Disk(DVD-ROM, DVD-R e DVD-RW) Fitas Magnticas Memrias Flash

26

Arquitetura e Organizao de Computadores

Barramentos

Barramento um caminho eltrico comum que liga e permite a comunicao entre dois ou mais dispositivos (processador, memrias, controladores, perifricos, etc). Grupos funcionais: Barramento (linhas) de dados Barramento (linhas) de endereos Barramento (linhas) de controle

27

Arquitetura e Organizao de Computadores

Barramento de Dados

Transportam dados A largura uma caracterstica determinante do processador: 8085: 8 bits 8088: 8 bits (externo) e 16 bits (interno) 8086/80286: 16 bits (externo e interno) 80386/80486: 32 bits (externo e interno) Pentium: 64 bits (externo) e 32 bits (interno)

28

Arquitetura e Organizao de Computadores

Barramento de Endereos

Identifica a fonte ou o destino do dado. A largura deste barramento determina a capacidade mxima da memria do sistema 8085 - 16 bits 64 kiB 8086/8 - 20 bits 1 MiB 80286 - 24 bits 16MiB 80386/486/Pentium - 32 bits 4GiB Pentium II/III/IV 36 bits 64 GiB)

29

Arquitetura e Organizao de Computadores

Barramento de Controle

Informao de controle e temporizao Sinal leitura/escrita (R/W) da memria ou E/S (I/O) Requisio de interrupo (INT) Requisio de uso do barramento ao rbitro (REQ) Sinal de relgio (CLK: clock)

30

Arquitetura e Organizao de Computadores

Problemas do barramento nico

Muitos dispositivos em um barramento leva: Demoras na propagao Caminhos de dados longos significam que coordenao do uso do barramento pode afetar desempenho adversamente Se for transferido dados em grupo pode-se aproximar na capacidade do barramento A maioria dos sistemas usam barramentos mltiplos para superar esses problemas

31

Arquitetura e Organizao de Computadores

Barramento( construo)

Linhas paralelas nos circuitos impressos Cabos fitas Conectores nas placas mes Exemplos: PCI, ISA, AGP, etc. Conjuntos de fios

32

Arquitetura e Organizao de Computadores

Mltiplos Barramentos

33

Arquitetura e Organizao de Computadores

Barramentos - Exemplos

34

Arquitetura e Organizao de Computadores

Barramentos : Hyper Transport e FSB (Front Side Bus)

35

Arquitetura e Organizao de Computadores

Representao de Dados

Dados e instrues so armazenados em formato binrio. Caracteres utilizam um Padro convencionado

36

Arquitetura e Organizao de Computadores

Software

Programas que permitem o uso efetivo do Computador Tipos: Software bsico Sistema Operacional, Programas de Sistema, etc. Software Aplicativo Aplicaes Sistema Operacional: Conjunto de programas que oferece um ambiente amigvel para o usurio interagir com o computador
37 Arquitetura e Organizao de Computadores

Linguagens de Programao

Envolve um conjunto de instrues , estruturas e formas de programao com o objetivo de desenvolver programas. Linguagens de baixo nvel (mquina, assembly). Linguagens de alto nvel C/C++, Java, Visual Basic, Pascal, Delphi, Lisp, Prolog, Cobol, Fortran ...

38

Arquitetura e Organizao de Computadores

Tradutores e Interpretadores

Os Programas so traduzidos atravs de outros programas especiais: Tradutor l o programa inteiro e o converte para um cdigo-objeto (Turbo C++, C++ Builder, GNU gcc/g++, Pascal, Delphi, etc.). Interpretador l e executa um linha ou comando de cada vez, no gerando cdigo-objeto (Unix/Linux Shell, Lisp, Prolog, etc.).

39

Arquitetura e Organizao de Computadores

Tradutor: montador e Compilador

40

Arquitetura e Organizao de Computadores

AOC Organizao de Computadores


I.

II.

III. IV. V.

Introduo Processadores I. Ciclo de Instruo II. Pipeline Memrias Barramentos Dispositivos de E/S

41

Arquitetura e Organizao de Computadores

Ciclo de Instruo Resumido

Dois Passos: Busca Execuo

42

Arquitetura e Organizao de Computadores

Ciclo de Busca

O Contador de Programa (PC) guarda o endereo da prxima instruo a ser buscada O Processador busca a instruo da posio de memria apontada pelo PC Incrementa o PC (exceto se a prxima instruo for de desvio) A instruo carregada no Registrador de Instruo (IR) O Processador interpreta (decodifica) a instruo e executa as aes requeridas

43

Arquitetura e Organizao de Computadores

Ciclo de Instruo - MIPS


0 M u x Add Add 4 Instruction [31 26] RegDst Branch MemRead MemtoReg ALUOp MemWrite ALUSrc RegWrite Read register 1 Shift left 2 ALU result 1

Control

Instruction [25 21] PC Read address Instruction [31 0] Instruction memory Instruction [15 11] Instruction [20 16] 0 M u x 1

Read data 1 Read register 2 Registers Read Write data 2 register Write data

0 M u x 1

Zero ALU ALU result

Address

Read data Data memory

Write data Instruction [15 0] 16 Sign extend 32 ALU control

1 M u x 0

Instruction [5 0]

44

Arquitetura e Organizao de Computadores

Implementao Simples
Inclui as unidades funcionais que necessitamos para as instrues
Instruction address PC Instruction Instruction memory Add Sum

MemWrite

Address

Read data Data memory

16

a. Instruction memory
5 Register numbers 5 5 Read register 1 Read register 2 Registers Write register Write data

b. Program counter

c. Adder
3 ALU control

Write data

Read data 1 Data Read data 2 Zero ALU ALU result

MemRead a. Data memory unit

b. Sign

Data

RegWrite a. Registers b. ALU

45

Arquitetura e Organizao de Computadores

Banco de Registradores

Construdo usando flip-flops do tipo D

Read register number 1 Register 0 Register 1 Register n 1 Register n Read register number 2 M u x Read data 1

Read register number 1 Read register number 2 Write register Write data
M u x
Register file

Read data 1

Read data 2 Write

Read data 2

O processador MIPS possui 32 registradores

46

Arquitetura e Organizao de Computadores

Multiplexador
Seleciona uma das entradas para a sada, baseado numa entrada de controle
S A B

0 1

mux de 2-entradas A e B e controle S

S 2
A B C D
47

S
A B C D
01 10 10 11

0
1 2 3

mux de 4 entradas

Arquitetura e Organizao de Computadores

Banco de Registradores
Nota: ainda usamos o clock real para determinar quando escrever
Write 0 1 Register number n-to-1 decoder n 1 n C Register 0 D C Register 1 D

C Register n 1 D C Register n Register data D

48

Arquitetura e Organizao de Computadores

ALU de 32 Bits
Bnegate Operation

Seleo
a0 b0 CarryIn ALU0 Less CarryOut Result0

a
32

ALU
result
32
a1 b1 0 CarryIn ALU1 Less CarryOut Result1 Zero

b
32

Linhas de controle:
000 001 010 110 111 = = = = = and or add subtract slt

a2 b2 0

CarryIn ALU2 Less CarryOut

Result2

a31 b31 0

CarryIn ALU31 Less

Result31 Set Overflow

49

Arquitetura e Organizao de Computadores

Unidade Lgica Aritmtica

ULA F0 F1 Sada

0
0 1 1

0
1 0 1

A and B
A Or B B A mais B

50

Arquitetura e Organizao de Computadores

Memrias de Instrues

Endereo de 32 bits pelo PC

instruo de 32 bits

51

Arquitetura e Organizao de Computadores

Memrias de Dados
Para leitura: deve fornecer o endereo (Address) e acionar o controle de leitura MemRead=1) Para escrita deve fornecer o endereo (Address), o dado a ser escrito no (Writedata) e acionar o controle de escrita (MemWrite=1)

52

Arquitetura e Organizao de Computadores

Contador de Programa

endereo da prxima de instruo

endereo da instruo corrente

Quando sequencial o endereo da instruo corrente adicionado de 4 (memria de instrues constituda de bytes)

53

Arquitetura e Organizao de Computadores

Implementao em 1 ciclo
Calcular o tempo de ciclo assumindo atrasos desprezveis exceto: Memria (2ns), ALU e somadores (2ns), acesso aos registradores (1ns)

Instruction register PC Address Instruction Memory or data Memory data register

Data A Register # Registers Register # B Register # ALU ALUOut

Data

54

Arquitetura e Organizao de Computadores

Tcnica Multiciclo
Estaremos usando as mesmas unidades funcionais ALU usada para computar o endereo e para incrementar PC. A memria usada para instrues e dados Os sinais de controle no so determinados somente pelas instrues Quebrar as instrues em passos, cada passo leva um ciclo Balancear a quantidade de trabalhos a realizar Restringir cada ciclo para usar somente uma unidade funcional No fim de um ciclo Armazenar valores para serem usados nos ciclos posteriores Introduzir registradores internos adicionais
55 Arquitetura e Organizao de Computadores

Ciclo de Instruo 5 passos de Execuo


i.

ii.

iii. iv. v.

Busca de prxima instruo: IR <- memria Atualiza o contador de programa : PC <- PC + 4. Decodifica (Determina o tipo da instruo). Se a instruo usa dados da memria, determina localizao. Busca dados, se necessrio, para registradores internos da CPU. Executa a instruo. Acesso memria Gravao do resultado

56

Arquitetura e Organizao de Computadores

AOC Organizao de Computadores


I.

II.

III. IV. V.

Introduo Processadores I. Ciclo de Instruo II. Pipeline Memrias Barramentos Dispositivos de E/S

57

Arquitetura e Organizao de Computadores

Paralelismo

Paralelismo no nvel de instruo Pipelines de Instrues Arquiteturas superescalares Paralelismo no nvel de processador Processadores vetoriais e matriciais Multiprocessadores Multicomputadores

58

Arquitetura e Organizao de Computadores

Paralelismo

O que pipeline? uma srie de estgios (operando possivelmente em paralelo) onde uma parte do trabalho (instruo) feito em cada estgio. O trabalho (instruo) no est concludo at que tenha passado por todos os estgios

59

Arquitetura e Organizao de Computadores

Exemplo de Pipeline de 5 estgios

60

Arquitetura e Organizao de Computadores

Busca Antecipada: Prefetch


Na fase de busca a MP acessada Na fase de execuo a MP usualmente no acessada. A prxima instruo pode ser buscada durante a execuo da instruo corrente (busca antecipada instruction prefetch).

61

Arquitetura e Organizao de Computadores

Arquitetura Superescalar

Instrues comuns (aritmticas, load/store, desvio condicional) podem ser iniciadas e executadas independemente Utilizar mltiplas unidades funcionais (busca, decodificao, execuo, etc.) para se obter um melhor desempenho global

62

Arquitetura e Organizao de Computadores

Pipeline e Superescalar

63

Arquitetura e Organizao de Computadores

Arquiteturas Superescalares

64

Arquitetura e Organizao de Computadores

Arquiteturas Superescalares

65

Arquitetura e Organizao de Computadores

Organizao Superescalar Geral

66

Arquitetura e Organizao de Computadores

Superescalar versus Pipeline

67

Arquitetura e Organizao de Computadores

Paralelismo no Nvel do Processador


Processadores vetoriais e matriciais Multiprocessadores: todos os processadores compartilham uma mesma memria fsica. Multicomputadores: cada processador tem sua prpria memria, acessvel somente pelo processador proprietrio

68

Arquitetura e Organizao de Computadores

Processadores Matriciais

69

Arquitetura e Organizao de Computadores

Sistemas Fortemente Acoplados

70

Arquitetura e Organizao de Computadores

Multiprocessadores

71

Arquitetura e Organizao de Computadores

Multiprocessadores

So arquiteturas so caracterizadas por vrios processadores compartilhando uma nica memria, ou um conjunto de memrias Todos os processadores compartilham uma mesma memria fsica, caracterizando uma memria global. fortemente acoplada porque os processadores e memria esto fortemente interligados atravs de seu sistema local de interconexo.

72

Arquitetura e Organizao de Computadores

Multiprocessadores

73

Arquitetura e Organizao de Computadores

Sistemas Fracamente Acoplados

74

Arquitetura e Organizao de Computadores

Multicomputadores

75

Arquitetura e Organizao de Computadores

Multiprocessadores

So ambientes fracamente acoplados. Cada processador tem sua prpria memria local, acessvel somente pelo processador proprietrio. Apresentam configuraes compostas de centenas (ou at milhares) de computadores.

76

Arquitetura e Organizao de Computadores

Multicomputadores

77

Arquitetura e Organizao de Computadores

AOC Organizao de Computadores


I.

II.

III. IV. V.

Introduo Processadores I. Ciclo de Instruo II. Pipeline Memrias Barramentos Dispositivos de E/S

78

Arquitetura e Organizao de Computadores

Memrias

Hierarquia de Memrias

79

Arquitetura e Organizao de Computadores

Memrias

Hierarquia de Memrias

80

Arquitetura e Organizao de Computadores

Memrias

Hierarquia de Memrias medida que descemos na pirmide: o custo por bit cai a capacidade umenta o tempo de acesso aumenta a frequncia de acesso cai

81

Arquitetura e Organizao de Computadores

Memrias

Tempo de acesso memria o tempo decorrido entre a apresentao do endereo (no barramento de endereos) e a obteno do dado vlido (no barramento de dados). Quanto menor for tempo de acesso, a memria ser mais rpida (maior velocidade).

82

Arquitetura e Organizao de Computadores

Memrias

Cdigos de correo de erro

Picos de tenso podem acarretar alteraes na memria Cdigos de erro: bits adicionais para verificar a correo e, possivelmente, corrigir os dados

Distncia de Hamming: nmero de bits diferentes entre duas palavras

Ex: 10001001 e 10110001: distncia 3 Trs erros de bit transformariam uma palavra na outra.

83

Arquitetura e Organizao de Computadores

Memrias

Cdigos de correo de erro

Bit de paridade: bit adicionado de modo que a quantidade de bits 1 seja sempre par (ou sempre mpar) Ex: palavra 1100 e regies A-B-C

84

Deteco de erro Correo do erro


Arquitetura e Organizao de Computadores

Memrias

Cdigos de Hamming

Acrescentar r bits de paridade a m bits de dados Bits numerados a partir de 1, pela esquerda Todos os bits em posio 2i so de paridade Ex: posies 1, 2, 4, 8, 16, 32... Cada bit de paridade verifica um conjunto de bits de dados

85

Arquitetura e Organizao de Computadores

Memrias

Cdigos de Hamming Exemplo

Palavra original de 16 bits Adicionam-se 5 bits de paridade

Bit b verificado pelos bits que formam seu valor em binrio Ex: bit 5 1 + 4; bit 19 1 + 2 + 16; bit 10 2 + 8
Arquitetura e Organizao de Computadores

86

Memrias

Cdigos de Hamming Exemplo

Palavra original 11110000010101110 Palavra de cdigo 0010111000000101101110

87

Arquitetura e Organizao de Computadores

Memrias

Cdigo de Hamming Exemplo


Palavra de cdigo 001011100000101101110 Erro no bit 5: 001001100000101101110


1 0 2 0 3 1 4 0 5 0 6 1 7 1 8 0 9 0 10 0 11 0 12 0 13 1 14 0 15 1 16 1 17 0 18 1 19 1 20 1 21 0

pos bit

Bit 1: verifica 1,3,5,7,9,11,13,15,17,19,21 erro (cinco bits 1) Bit 2: verifica 2,3,6,7,10,11,14,15,18,19 ok (seis bits 1) Bit 4: verifica 4,5,6,7,12,13,14,15,20,14 erro (cinco bits 1) Bit 8: verifica 8,9,10,11,12,13,15,15 ok (dois bits 1) Bit 16: verifica 16,17,18,19,20,21 ok (quatro bits 1)
Arquitetura e Organizao de Computadores

88

Memrias

Cdigo de Hamming Exemplo


Onde est o erro? Soma das posies de paridade: 1 + 4 = 5 Pode-se corrigir facilmente Funciona apenas para UM erro

89

Arquitetura e Organizao de Computadores

Memrias

Memria Principal Tecnologia


Semicondutores Grupo de chips montado em uma placa de circuito impresso SIMM Single Inline Memory Module DIMM Dual Inline Memory Module Ex: pente de 256MB

90

Arquitetura e Organizao de Computadores

Memrias

Memria Principal Tecnologia

Memria voltil: chips de circuitos de acesso aleatrio (RAM) Static RAM SRAM Flip-flop bsico Estado conservado enquanto houver energia Muito rpidas Dynamic RAM DRAM Arranjo de capacitores e transistores Capacitores so carregados representao de 0 ou 1 Recarregar memria desempenho Menos transistores maior densidade (e capacidade)

91

Arquitetura e Organizao de Computadores

Memrias

Memria Principal Tecnologia

SDRAM Synchronous DRAM


Hbrida das anteriores, comandada pelo relgio


Mais usadas em memria principal atualmente Elimina sinais de controle: transmisso em ciclos consecutivos

DDR Double Data Rate: sada na borda ascendente e na borda descendente do relgio
Ex:

DDR 8 bits, 200Mhz 8 x 200 milhes x 2 3,2 Gbits/seg 400 MB/seg de sada
Arquitetura e Organizao de Computadores

92

Memrias Chips de memria no voltil

Aplicaes em que o fornecimento de energia no contnuo brinquedos, eletrodomsticos, etc ROM (Read Only Memory): nem os dados nem o programa so alterados Baratos para a produo de muitos chips: mscara de bits PROM (Programmable ROM): programada em campo, mas s uma vez Compra de chips virgens e programao personalizada
Arquitetura e Organizao de Computadores

93

Memrias

Chips de memria no voltil

EPROM (Eraseble PROM): programvel e apagvel por exposio a ultra violeta


Dispositivos para programao Mudanas durante o projeto Programvel no local Cerca de 1/64 a 1/32 da capacidade da EPROM At 10x mais lentas e em geral mais caras que SDRAMs Memria flash Futuro (presente?) como substituto de HD's
Arquitetura e Organizao de Computadores

EEPROM (Electrically EPROM): apagvel por pulsos eltricos


94

Memrias

Comparao de Memrias
Tipo SRAM Categoria R/W Apagamento Eltrico Voltil Sim Utilizao Cache L2

DRAM
SDRAM

R/W
R/W

Eltrico
Eltrico

Sim
Sim

MP (antiga)
MP

ROM
PROM EPROM

R
R R>W

No
No Luz UV

No
No No

Equipamentos: grande volume


Equipamentos: pequeno volume Prototipagem

EEPROM
Flash

R>W
R/W

Eltrico
Eltrico

No
No

Prototipagem
Pen drives

95

Arquitetura e Organizao de Computadores

Memrias

Memria Cache

96

Arquitetura e Organizao de Computadores

Memrias

Memria Cache Quantidade pequena de memria rpida Situa-se entre memria principal e a CPU dividida em linhas (bloco de palavras)

97

Arquitetura e Organizao de Computadores

Memrias

Organizao tpica de cache

98

Arquitetura e Organizao de Computadores

Memrias

Operao da Cache viso geral i. ii. iii. iv. CPU requisita contedo do local de memria. Verifica se os dados esto em cache. Se estiverem, apanha da cache (rpido). Se no, l bloco solicitado da memria principal para a cache. v. Depois, entrega da cache CPU. vi. Cache inclui tags para identificar qual bloco da memria principal est em cada slot da cache.

99

Arquitetura e Organizao de Computadores

Memrias

Nveis de Cache (exemplo) L1 (nvel 1): dentro do processador L2 (nvel 2): no encapsulamento do processador L3 (nvel 3): na placa-me Tipos de Cache Unificada (U): para dados e instrues (juntos) No-unificada (NU) ou dividida : dados e instrues so colocadas em caches separadas

100

Arquitetura e Organizao de Computadores

Memrias

Linhas de Cache So blocos de clulas de cache que so transferidas da MP no caso de falha no acesso cache de tamanho de 4 a 128 bytes (32 a 1024 bits). Exemplos: 80386 (1985) : cache na placa me (fora do processador) 80486 (1989) : L1 8K unificada linha de 128 bits Pentium: L1 NU (8k dados/8k instr) linha 256 bits Pentium II/III (1997/1999): L1 NU (16k dados/16k instr) e L2 512k unificada linhas de 256 bits
101 Arquitetura e Organizao de Computadores

Memrias

Taxa de acerto/erro da cache (hit/miss ratio)

tm =
tm: c m h

c + (1-h)*m,

tempo mdio de acesso mdio : tempo de acesso a cache : tempo de acesso a memria : taxa de acerto ("hit ratio")

102

Arquitetura e Organizao de Computadores

Memrias

Operao de leitura de cache

103

Arquitetura e Organizao de Computadores

Memrias

Custo e Velociadade

Custo: Mais cache caro. Velocidade: Mais cache mais rpido (at certo ponto). Verificar dados na cache leva tempo.

104

Arquitetura e Organizao de Computadores

Memrias
Elementos de projeto de memria Cache Tamanho da memria Cache Funo de Mapeamento Algoritmo de Substituio Poltica de Escrita Tamanho da Linha Nmero de memrias cache

105

Arquitetura e Organizao de Computadores

Memrias

Mapeamento Direto: Tabela das linhas do cache


Linha 0 1 m-1 Bloco 0, m, 2m, 3m2s-m 1, m+1, 2m+12s-m+1 m-1, 2m-1,3m-12s-1

Frmula: linha = bloco % (nmero de linhas)

106

Arquitetura e Organizao de Computadores

Memrias

Cache: Mapeamento Direto

107

Arquitetura e Organizao de Computadores

Memrias

Exemplo de mapeamento de cache

Cache de 64 kBytes com linha da cache de 4 bytes, ou seja, a cache composta 16k (214) linhas de 4 bytes. MP (memria principal) de 16 MBytes com 24 bits de endereo (224=16M) composta de 4M 222 blocos (linhas).

108

Arquitetura e Organizao de Computadores

Memrias

Estrutura dos endereos no mapeamento direto Endereo de 24 bits 2 bits identificador da palavra/byte (w) (bloco de 4 bytes) Identificador do bloco (22 bits) (s) Rotulo 8 bits (22-14) (s-r) Linha de 14 bits (r) No existe dois blocos na mesma linha com o rotulo igual Verifica o contedo da cache encontrando a linha e verificando o rtulo

109

Arquitetura e Organizao de Computadores

Memrias

Exemplo: Mapeamento Direto

110

Arquitetura e Organizao de Computadores

Memrias
Prs e contras do mapeamento direto Simples. Barato. Local fixo para determinado bloco. Se um programa acessa 2 blocos que mapeiam para a mesma linha repetidamente, perdas de cache so muito altas.

111

Arquitetura e Organizao de Computadores

Memrias
Mapeamento Associativo Um bloco de memria principal pode ser carregado em qualquer linha de cache. Endereo de memria interpretado como tag e palavra. Tag identifica exclusivamente o bloco de memria. Tag de cada linha examinada em busca de combinao. Pesquisa da cache dispendiosa.

112

Arquitetura e Organizao de Computadores

Memrias

Cache: totalmente associativa

113

Arquitetura e Organizao de Computadores

Memrias

Estrutura dos endereos no mapeamento associativo Rtulo de 22 bits armazenados com cada bloco de dados de 32 bits Compare o campo TAG com o campo TAG da cache para verificar o acerto Os 2 bits menos significativos do endereo identificam qual palavra de 16 bits requerida do bloco de dados de 32 bits

114

Arquitetura e Organizao de Computadores

Memrias

Exemplo: mapeamento associativo


Como a palavra de 4bytes, dividimos o endereo por 4 e obtemos o rtulo especfico:

000000 / 4 = 000000 16339C / 4 = 058CE7 FFFFF4 / 4 = 3FFFFD FFFFF8 / 4 = 3FFFFE FFFFFC / 4 = 3FFFFF
*Valores em hexadecimal

115

Arquitetura e Organizao de Computadores

Memrias

mapeamento associativo por conjunto Combina as vantagens do mapeamento direto e do mapeamento associativo. A cache dividida em v conjuntos, cada com k linhas m=vxk i = j modulo v onde i nmero de conjuntos na memria cache j nmero do bloco da memria principal m = nmero de linhas da memria cache

116

Arquitetura e Organizao de Computadores

Memrias

Cache associativa por conjuntos (2 linhas)

117

Arquitetura e Organizao de Computadores

Memrias

Exemplo: mapeamento associativo por conjunto

Use o campo SET para determinar o conjunto da cach Compare o campo TAG para ver se h um acerto

118

Arquitetura e Organizao de Computadores

Memrias

Estrutura do endereo do mapeamento associativo por conjunto

0000 / 4 = 0000 0004 / 4 = 0001 339C / 4 = 0CE7 7FFC / 4 = 1FFF 7FF8 / 4 = 1FFE *Valores em hexadecimal

119

Arquitetura e Organizao de Computadores

Memrias
Algoritmos de substituio Mapeamento direto Sem escolha. Cada bloco mapeado apenas a uma linha. Substitui essa linha.

120

Arquitetura e Organizao de Computadores

Memrias
Algoritmos de substituio Associativa e associativa em Conjunto
Algoritmo implementado no hardware (velocidade). Least Recently Used (LRU). P.e., na associativa em conjunto com 2 linhas. Qual dos 2 blocos LRU? First In First Out (FIFO). Substitui bloco que est na cache h mais tempo. Least Frequently Used (LFU). Substitui bloco que teve menos acertos. Aleatrio.
121 Arquitetura e Organizao de Computadores

Memrias

Polticas de atualizao (escrita)


No deve sobrescrever bloco de cache a menos que a memria principal esteja atualizada. Mltiplas CPUs podem ter caches individuais. E/S pode enderear memria principal diretamente

Escrita direta (Write through)


Todas as escritas vo para a memria principal e tambm para a cache. Mltiplas CPUs podem monitorar o trfego da memria principal para manter a cache local ( CPU) atualizada. Muito trfego. Atrasa as escritas

122

Arquitetura e Organizao de Computadores

Memrias

Polticas de atualizao (escrita)

Escrita de volta (Write back)


Atualizaes feitas inicialmente apenas na cache. Bit de atualizao para slot de cache definido quando ocorre a atualizao. Se o bloco deve ser substitudo, escreve na memria principal apenas se o bit atualizado estiver marcado. Outras caches saem de sincronismo. E/S deve acessar a memria principal atravs da cache. 15% das referncias de memria so escritas.
123 Arquitetura e Organizao de Computadores

Memrias

Tamanho de Linha

Recupere no apenas a palavra desejada, mas tambm uma srie de palavras adjacentes. Tamanho de bloco aumentado aumentar razo de acerto a princpio. O princpio da localidade. Razo de acerto diminuir medida que o bloco se tornar ainda maior. Probabilidade de uso de informaes recm- buscadas torna-se menor que probabilidade de reutilizar informaes substitudas.

124

Arquitetura e Organizao de Computadores

Memrias

Caches multinveis Alta densidade lgica permite caches no chip. Mais rpido que acesso ao barramento. Libera barramento para outras transferncias. Comum usar cache dentro e fora do chip. L1 no chip, L2 fora do chip na RAM esttica. Acesso L2 muito mais rpido que DRAM ou ROM. L2 normalmente usa caminho de dados separado. L2 pode agora estar no chip. Resultando em cache L3. Acesso ao barramento agora no chip

125

Arquitetura e Organizao de Computadores

Memrias

Caches Unificadas versus Separadas

Uma cache para dados e instrues ou duas, uma para dados e uma para instrues. Vantagens da cache unificada: Maior taxa de acerto. Equilibra carga entre buscas de instruo e dados. Apenas uma cache para projetar e implementar. Vantagens da cache separada: Elimina disputa pela cache entre a unidade de busca/decodificao de instruo e a unidade de execuo. Importante no pipeline de instrues.
126 Arquitetura e Organizao de Computadores

Memrias

Caches Unificadas versus Separadas

Uma cache para dados e instrues ou duas, uma para dados e uma para instrues. Vantagens da cache unificada: Maior taxa de acerto. Equilibra carga entre buscas de instruo e dados. Apenas uma cache para projetar e implementar. Vantagens da cache separada: Elimina disputa pela cache entre a unidade de busca/decodificao de instruo e a unidade de execuo. Importante no pipeline de instrues.
127 Arquitetura e Organizao de Computadores

AOC Organizao de Computadores


I.

II.

III. IV. V.

Introduo Processadores I. Ciclo de Instruo II. Pipeline Memrias Barramentos Dispositivos de E/S

128

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Hardware: Principais Componentes

129

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Hardware: Principais Componentes

130

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Conexo E/S e UCP

131

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Dispositivos Perifricos
Qualquer dispositivo de hardware no requerido por um computador para executar instrues de software. Os dispositivos internos so referidos como dispositivos perifricos integrados. Placas de interface de rede, modems, placas de som. Unidades de disco rgido, CD e DVD. Dispositivos de caracteres: transferem dados: um caractere por vez. Teclados e mouses Podem ser conectados a um computador por meio de portas e outros barramentos. Portas seriais, portas paralelas, USB, portas IEEE 1394 e SCSI
132 Arquitetura e Organizao de Computadores

Dispositivos de E/S

Controladores de Dispositivos
Componentes de dispositivos de E/S mecnico eletrnico O componente eletrnico o controlador do dispositivo pode ser capaz de tratar mltiplos dispositivos Tarefas do controlador converter fluxo serial de bits em bloco de bytes executar toda correo de erro necessria tornar o bloco disponvel para ser copiado para a memria principal

133

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Controladores Adaptador E/S


Os controladores de dispositivos so geralmente programveis e possuem vrios registradores internos, cada um podendo ser acessado por um endereo. Exemplos: COMANDO(S) PARMETROS ESTADO DADOS (E/S)

134

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Registradores de Dispositivo: terminal simples

135

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Comunicao UCP Controlador E/S


136

Espaos separados E/S e Memria E/S Mapeada em Memria Sistema Hbrido


Arquitetura e Organizao de Computadores

Dispositivos de E/S

E/S Mapeada na memria a) Arquitetura com barramento nico b) Arquitetura com barramento dual

137

Arquitetura e Organizao de Computadores

Dispositivos de E/S

MTODOS DE E/S CONTROLADA PROGRAMADA (POLLING) POR INTERRUPO POR DMA (ACESSO DIRETO MEMRIA)

138

Arquitetura e Organizao de Computadores

Dispositivos de E/S

E/S PROGRAMADA (polling) ESPERA: IN AL, REG_ESTADO_CNTRL # LER ESTADO CMP AL, 0 # 0 (LIVRE) e 1 (OCUPADO) JNE ESPERA # DESVIA SE ESTIVER OCUPADO IN AL, REG_DADO_CNTRL # LER DADO # COMENTARIO: # PROBLEMA: ESPERA OCUPADA OU ATIVA (BUSY WAITING)

139

Arquitetura e Organizao de Computadores

Dispositivos de E/S

E/S PROGRAMADA Passos para a impresso de uma cadeira de caracteres

140

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Interrupes e excesses So desvios do fluxo de execuo de um programa So diferentes de branches e jumps (que tambm mudam o fluxo normal de execuo de instrues). As interrupes, podem ser de hardware e de software.

141

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Interrupes e excesses

142

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Excesses Desvios forados do fluxo de execuo de um programa causado por um evento interno sncrono, ou seja, tem origem dentro do processador e ocorrem devido a prpria execuo das instrues do programa.

So geralmente geradas em resposta a erros ou condies de exceo. Exemplos: diviso por zero, overflow aritmtico, falta de pgina, erro de segmentao, instruo invlida, etc.

143

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Interrupo de Hardware Desvio forado do fluxo de execuo de um programa causado por um evento assncrono externo (relgio, teclado, disco, impressora, etc), ou seja, ocasionada por um evento inesperado que tem origem fora do processador. Exemplos: digitar de um caractere no teclado, movimentar o mouse, chegar uma mensagem pela rede, etc. Quando ocorre um evento, a maioria dos dispositivos de E/S envia ao processador um sinal denominado interrupo. O sistema operacional pode responder a uma interrupo notificando os programas que esto espera desses eventos

144

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Pinagem lgica de uma CPU genrica

145

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Pinagem lgica do Pentium 4 Sinais individuais: letras maisculas Grupos de sinais relacionados ou descries de sinais: letras maisculas e minsculas

146

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Controlador de interrupo

147

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Interrupes de Hardware

148

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Ciclo de Interrupo
Adicionando ao ciclo de instruo Processador verifica se existe interrupo Indicado pelo sinal de interrupo Se no existe interrupo, buscar a prxima instruo Caso existam interrupes pendentes: Suspenda a execuo do programa corrente Salvar o contexto Colocar no PC o endereo de incio da rotina de tratamento da interrupo (RTI). Processar a interrupo Restaurar o contexto e continuar o programa interrompido
149 Arquitetura e Organizao de Computadores

Dispositivos de E/S

150

Tratadores de Interrupo Passos que devem ser executados em software depois da interrupo ter sido concluda 2. salva registradores que ainda no foram salvos pelo hardware de interrupo 3. estabelece contexto para rotina de tratamento de interrupo 4. estabelece uma pilha para a rotina de tratamento de interrupo 5. sinaliza o controlador de interrupo, reabilita as interrupes 6. copia os registradores de onde eles foram salvos 7. executa rotina de tratamento de interrupo 8. escolhe o prximo processo a executar 9. estabelece o contexto para o prximo processo a executar 10. carrega os registradores do novo processo 11. comea a executar o novo processo
Arquitetura e Organizao de Computadores

Dispositivos de E/S

Vetores de interrupo
O Vetor de interrupo um mecanismo usado para indicar o dispositivo est solicitando operao de E/S. Eles servem para indicar uma entrada na tabela de vetores de interrupo. A Tabela de vetores de interrupo armazena os endereos das rotinas de tratamento de interrupo (RTI) de cada dispositivo de E/S, de excees e das interrupes de software.

151

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Interrupes Mltiplas Interrupes desabilitadas


O processador ignorar as interrupes enquanto processa uma interrupo As interrupes permanecero pendentes e sero verificadas aps a primeira interrupo ter sido processada. Manipulao das interrupes na sequncias que elas ocorrem Interrupes de baixa prioridade podem ser interrompidas por interrupes de maior prioridade Quando a interrupo de maior prioridade foi processada, o processador retorna para a interrupo prvia

Definir prioridades

152

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Temporizadores e Relgios Temporizadores O temporizador de intervalo gera periodicamente uma interrupo. Os sistemas operacionais usam temporizadores de intervalo para impedir que processos monopolizem o processador. Relgios Oferecem uma medida de continuidade. Um relgio de 24 horas habilita o sistema operacional a determinar a hora e a data atuais

153

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Temporizadores de Software Um segundo relgio programvel para interrupes de Temporizao ajustado para causar interrupes em qualquer taxa que um programa precisar sem problemas se a frequncia de interrupo baixa Temporizadores de software evitam interrupes ncleo checa se o temporizador de software expirou antes de retornar para o modo usurio quo bem isso funciona depende da taxa de entradas no ncleo

154

Arquitetura e Organizao de Computadores

Dispositivos de E/S


155

Interrupes de Software Na arquitetura x86 (ou IA-32 da Intel) usa o termo interrupo de software para designar instrues especiais que fazem parte do conjunto de instrues de um processador, mas que tem um tratamento semelhante s interrupes de hardware. Os servios do Sistema Operacional (SO) so geralmente obtidos atravs deste mecanismo (chamadas ou traps ao SO). Exemplos: INT 0x80 (Linux) INT 0x21 (DOS)
Arquitetura e Organizao de Computadores

Dispositivos de E/S

Chamadas ao SO

156

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Interrupo de Software

157

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Interrupes e Excesses no MIPS (Exemplo)

158

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Como manipular excees e interrupes (MIPS


Aes bsicas a serem tomadas pela mquina quando ocorre uma exceo :

1) salvar o endereo da instruo ofendida (instruo atual) num registrador especial EPC (Exception Program Counter). 2) transferir o controle (atualizar o contedo de PC) para um endereo especfico, que possibilite ao computador executar a rotina de tratamento de exceo.

ROTINA DE TRATAMENTO DE EXCEO: depende do tipo de exceo, por exemplo, reportar ao usurio que ocorreu um erro de overflow. Aes a serem tomadas aps a execuo do tratamento de exceo:

Depende do tipo de exceo: por ex. pode encerrar, ou continuar executanto, o programa que estava executando antes da exceo. O EPC usado para determinar o endereo de reincio da execuo

159

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Como saber a causa da exceo (MIPS) Para o computador manipular uma exceo, ele deve conhecer a razo da exceo. A razo pode ser obtida de duas formas: 1) usar o registrador de status (cause register) que indica a razo 2) usar interrupo vetorizada, caso em que o endereo de desvio para executar a exceo determinado pela causa da exceo

160

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Implementao de exceo no MIPS Implementao de duas excees: 1) overflow aritmtico 2) instruo indefinida A causa determinada pelo valor do registrador CAUSE de 32 bits: CAUSE = 00 00 00 00 (em hexa), overflow aritmtico CAUSE = 00 00 00 01 (em hexa), instruo indefinida O endereo da instruo ofendida guardada em EPC O endereo de desvio para o incio da execuo da rotina de tratamento de exceo dado por C0 00 00 00 (em hexa).

161

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Alterao do Fluxo de Dados (MIPS)

162

Arquitetura e Organizao de Computadores

Dispositivos de E/S

DMA: Acesso direto a memria


Melhora a transferncia de dados entre a memria e os dispositivos de E/S. Dispositivos e controladores transferem dados para e da memria principal diretamente. O processador fica livre para executar instrues. O canal DMA usa um controlador de E/S para gerenciar a transferncia de dados. Notifica o processador quando uma operao de E/S concluda. Melhora o desempenho em sistemas que realizam grande quantidade de operaes de E/S (por exemplo, computadores de grande porte e servidores).
163 Arquitetura e Organizao de Computadores

Dispositivos de E/S

DD: Device Driver


Programa que se comunica com o controlador de dispositivo de E/S. Realiza a comunicao do subsistema de E/S com os dispositivos atravs dos controladores de E/S

164

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Driver dos Dispositivos

165

Arquitetura e Organizao de Computadores

Dispositivos de E/S

Plug and Play (PnP)


Os dispositivos de hardware so adicionados dinamicamente. Os recursos so redistribudos (portas de E/S, canais de DMA). Suporte ao hardware Reconhece novos componentes; Notifica o sistema. Suporte ao software Gerenciador de PnP do Windows XP Modo ncleo: configura dispositivos e aloca recursos. Modo usurio: interage com programas de instalao, notifica processos de eventos de modo usurio. Requisies de E/S PnP: enviadas para os drivers de dispositivo.
166 Arquitetura e Organizao de Computadores

Você também pode gostar