Organizacao Computadores

download Organizacao Computadores

of 166

Transcript of Organizacao Computadores

  • 8/3/2019 Organizacao Computadores

    1/166

    Arquitetura e Organizao de ComputadoresOrganizao de Computadores2 semestre 2011

    Prof. Eduardo da Silva Ribeiro

    Pontifcia Universidade Catlica de Minas Gerais

    Bacharelado em Sistemas de Informao

  • 8/3/2019 Organizacao Computadores

    2/166

    2

    I. IntroduoII. Processadores

    I. Ciclo de Instruo

    II. PipelineIII. Memrias

    IV. Barramentos

    V. Dispositivos de E/S

    AOC Organizao de Computadores

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    3/166

    3

    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

    Introduo

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    4/166

    4

    Sistema Computacional

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    5/166

    5

    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 queimplementam as especificaes de uma arquitetura

    Envolvem detalhes de hardware (transparentes aoprogramador), tais como: barramentos, sinais decontrole, interfaces entre o computador e os perifricos,tecnologias de memria, etc.

    Arquitetura e Organizao

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    6/166

    6

    Mquina de Nveis (Organizao Estruturada)

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    7/166

    7

    Linguagens Nveis e Mquinas Reais

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    8/166

    8

    Linguagens Multinveis Comteporneas

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    9/166

    9

    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 earitmtica (ULA), unidade de controle (UC) e os dispositivos deentrada e sada (E/S).

    A mquina de IAS (von Neuman)

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    10/166

    10

    Principais componentes de um Computador

    Componentes de Hardware

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    11/166

    11

    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 decontrole (ex: leitura, escrita, etc.).

    UCP (CPU) Unidade Central de Processamento

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    12/166

    12

    UCP: Caminho de Dados

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    13/166

    13

    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 decontrole.

    Um dos registradores mais importante contador deprograma (Program Counter - PC), que aponta para aprxima instruo a ser executada

    ULA Unidade Lgica e Aritmtica

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    14/166

    14

    Componentes do Hardware

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    15/166

    15

    Estrutura de IAS

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    16/166

    16

    MDR/MBR(Memory Data/Buffer Register) Registrador de dados da memria (RDM)

    MAR (Memory Address Register) Registrador de endereos dememria (REM)

    IR (Instruction Register ) Registrador de Instrues PC (Program Counter PC) Contador do programa

    AC (Accumulator) Acumulador

    Principais Registradores da CPU

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    17/166

    17

    A Memria o espao dearmazenamento temporrio.

    Instrues e dados soarmazenados na memriadurante o processamento.

    Memoria Principal

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    18/166

    18

    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 estadosdesativados e ativados dos componentes dos computadores.

    A memria formada por milhares de componentes (capacitoresou transistores) capazes de representar e guardar (ou armazenar)estes estados

    Bits e Bytes

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    19/166

    19

    Bits e Celulas de Memrias

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    20/166

    20

    Memria Principal: endereos e clulas

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    21/166

    21

    O KibiByte (smbolo KiB, contrao de kilo binary byte) uma unidade medida de armazenamento eletrnico deinformao, estabelecida em 2000 pela ComissoEletrotcnica Internacional (IEC) como: 1 kibibyte = 1.024bytes

    Foi criada com o objetivo de substituir o "quilobyte" emcincia da computao, que se refere a 1024 bytes, e queentra em conflito com a definio do prefixo "quilo" doSistema Internacional de Unidades (SI)

    Quantificao de Memria

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    22/166

    22

    IEC (International Electrotechnical Commission,1906, Genebra,Sua.): organizao internacional de padronizao detecnologias eltricas, eletrnicas e relacionadas. Alguns dos seuspadres so desenvolvidos juntamente com a OrganizaoInternacional para Padronizao (ISO).

    SI (Sistema Internacional de Unidades - International System ofUnits - Systme international d'units): conjunto sistematizadoe padronizado de definies para unidades de medida,utilizado em quase todo o mundo moderno, que visa auniformizar e facilitar as medies e as relaes internacionais dadecorrentes. Sua adoo progressiva e cada vez mais abrangente uma contingncia no s tcnico-cientfica, mas de ordempoltica, econmica e social

    IEC x SI

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    23/166

    23

    Mltiplos do Byte

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    24/166

    24

    Dispositivos de Entrada e Sada

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    25/166

    25

    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.

    Dispositivos de Entrada e Sada

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    26/166

    26

    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

    Dispositivos de Armazenamento de Dados

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    27/166

    27

    Barramento um caminho eltrico comum que liga e permite acomunicao entre dois ou mais dispositivos (processador,memrias, controladores, perifricos, etc).

    Grupos funcionais:

    Barramento (linhas) de dados

    Barramento (linhas) de endereos

    Barramento (linhas) de controle

    Barramentos

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    28/166

    28

    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)

    Barramento de Dados

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    29/166

    29

    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)

    Barramento de Endereos

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    30/166

    30

    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)

    Barramento de Controle

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    31/166

    31

    Muitos dispositivos em um barramento leva: Demoras na propagao

    Caminhos de dados longos significam que coordenao douso do barramento pode afetar desempenho adversamente

    Se for transferido dados em grupo pode-se aproximar nacapacidade do barramento

    A maioria dos sistemas usam barramentos mltiplos para superaresses problemas

    Problemas do barramento nico

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    32/166

    32

    Linhas paralelas nos circuitos impressos Cabos fitas

    Conectores nas placas mes

    Exemplos: PCI, ISA, AGP, etc.

    Conjuntos de fios

    Barramento( construo)

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    33/166

    33

    Mltiplos Barramentos

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    34/166

    34

    Barramentos - Exemplos

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    35/166

    35

    Barramentos : Hyper Transport e FSB(Front Side Bus)

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    36/166

    36

    Dados e instrues soarmazenados em formatobinrio.

    Caracteres utilizam um Padroconvencionado

    Representao de Dados

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    37/166

    37

    Programas que permitem o usoefetivo do Computador

    Tipos:

    Software bsico

    Sistema Operacional,Programas de Sistema, etc.

    Software Aplicativo

    Aplicaes

    Sistema Operacional: Conjunto deprogramas que oferece umambiente amigvel para o usuriointeragir com o computador

    Software

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    38/166

    38

    Envolve um conjunto de instrues , estruturas e formas deprogramao 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 ...

    Linguagens de Programao

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    39/166

    39

    Os Programas so traduzidos atravs de outrosprogramas especiais:

    Tradutor l o programa inteiro e o converte paraum 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.).

    Tradutores e Interpretadores

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    40/166

    40

    Tradutor: montador e Compilador

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    41/166

    41

    I. IntroduoII. Processadores

    I. Ciclo de Instruo

    II. Pipeline

    III. Memrias

    IV. Barramentos

    V. Dispositivos de E/S

    AOC Organizao de Computadores

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    42/166

    42

    Dois Passos: Busca

    Execuo

    Ciclo de Instruo Resumido

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    43/166

    43

    O Contador de Programa (PC) guarda o endereo daprxima instruo a ser buscada

    O Processador busca a instruo da posio de memriaapontada pelo PC

    Incrementa o PC (exceto se a prxima instruo for dedesvio)

    A instruo carregada no Registrador de Instruo (IR)

    O Processador interpreta (decodifica) a instruo e executa

    as aes requeridas

    Ciclo de Busca

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    44/166

    44

    Ciclo de Instruo - MIPS

    Arquitetura e Organizao de Computadores

    PC

    Instructionmemory

    Readaddress

    Instruction[31 0]

    Instruction [20 16]

    Instruction [25 21]

    Add

    Instruction [5 0]

    MemtoReg

    ALUOp

    MemWrite

    RegWrite

    MemRead

    Branch

    RegDst

    ALUSrc

    Instruction [31 26]

    4

    16 32Instruction [15 0]

    0

    0Mux

    0

    1

    Control

    AddALU

    result

    Mux

    0

    1

    RegistersWriteregister

    Writedata

    Readdata 1

    Readdata 2

    Readregister 1

    Readregister 2

    Signextend

    Shiftleft 2

    Mux

    1

    ALUresult

    Zero

    Datamemory

    Writedata

    Readdata

    Mux

    1

    Instruction [15 11]

    ALUcontrol

    ALUAddress

  • 8/3/2019 Organizacao Computadores

    45/166

    45

    Inclui as unidades funcionais que necessitamos para as instrues

    Implementao Simples

    Arquitetura e Organizao de Computadores

    PC

    Instructionmemory

    Instructionaddress

    Instruction

    a. Instruction memory b. Program counter

    Add Sum

    c. Adder

    ALU control

    RegWrite

    RegistersWriteregister

    Readdata 1

    Readdata 2

    Readregister 1

    Readregister 2

    Writedata

    ALUresult

    ALU

    Data

    Data

    Registernumbers

    a. Registers b. ALU

    Zero5

    5

    5 3

    MemRead

    MemWrite

    Datamemory

    Writedata

    Readdata

    a. Data memory unit

    Address

  • 8/3/2019 Organizacao Computadores

    46/166

    46

    Construdo usando flip-flops do tipo D

    Banco de Registradores

    Arquitetura e Organizao de Computadores

    Mux

    Register 0

    Register 1

    Register n 1

    Register n

    Mux

    Read data 1

    Read data 2

    Read registernumber 1

    Read registernumber 2

    Read registernumber 1 Read

    data 1

    Readdata 2

    Read registernumber 2

    Register fileWriteregister

    Writedata Write

    O processador MIPS possui32 registradores

  • 8/3/2019 Organizacao Computadores

    47/166

    47

    Seleciona uma das entradas para a sada, baseado numa entrada decontrole

    Multiplexador

    Arquitetura e Organizao de Computadores

    C

    AB

    C

    D

    0

    1

    2

    3

    S

    mux de 4 entradasC

    A

    B

    C

    D

    01

    10

    10

    11

    S2 2

    S

    CA

    B0

    1

    mux de 2-entradas A e B

    e controle S

  • 8/3/2019 Organizacao Computadores

    48/166

    48

    Nota: ainda usamos o clock real para determinar quando escrever

    Banco de Registradores

    Arquitetura e Organizao de Computadores

    n-to-1decoder

    Register 0

    Register 1

    Register n

    1

    C

    C

    D

    D

    Register n

    C

    C

    D

    D

    Register number

    Write

    Register data

    0

    1

    n 1

    n

  • 8/3/2019 Organizacao Computadores

    49/166

    49

    ALU de 32 Bits

    Arquitetura e Organizao de Computadores

    Seta31

    0

    Result0a0

    Result1a1

    0

    Result2a2

    0

    Operation

    b31

    b0

    b1

    b2

    Result31

    Overflow

    Bnegate

    Zero

    ALU0Less

    CarryIn

    CarryOut

    ALU1Less

    CarryIn

    CarryOut

    ALU2Less

    CarryIn

    CarryOut

    ALU31Less

    CarryIn

    32

    32

    32

    Seleo

    result

    a

    b

    ALU

    Linhas de controle:

    000 = and

    001 = or010 = add

    110 = subtract

    111 = slt

  • 8/3/2019 Organizacao Computadores

    50/166

    50 Arquitetura e Organizao de Computadores

    Unidade Lgica Aritmtica

    ULA

    F0 F1 Sada

    0 0 A and B

    0 1 A Or B

    1 0 B

    1 1 A mais B

  • 8/3/2019 Organizacao Computadores

    51/166

    51

    Memrias de Instrues

    Arquitetura e Organizao de Computadores

    Endereode 32 bits

    pelo PC

    instruode 32 bits

  • 8/3/2019 Organizacao Computadores

    52/166

    52

    Memrias de Dados

    Arquitetura e Organizao de Computadores

    Para leitura: deve fornecero endereo (Address) eacionar o controle de leituraMemRead=1)

    Para escrita deve fornecer oendereo (Address), o dadoa ser escrito no (Writedata) eacionar o controle de escrita(MemWrite=1)

  • 8/3/2019 Organizacao Computadores

    53/166

    53

    Contador de Programa

    Arquitetura e Organizao de Computadores

    endereo daprxima

    de instruo

    endereo da instruocorrente

    Quando sequencial o endereo da instruocorrente adicionado de 4 (memria de instruesconstituda de bytes)

  • 8/3/2019 Organizacao Computadores

    54/166

    54

    Implementao em 1 ciclo

    Arquitetura e Organizao de Computadores

    Calcular o tempo de ciclo assumindo atrasos desprezveis exceto:

    Memria (2ns), ALU e somadores (2ns), acesso aos registradores(1ns)

    PC

    Memory

    Address

    Instructionor data

    Data

    Instructionregister

    Registers

    Register #

    Data

    Register #

    Register #

    ALU

    Memory

    data register

    A

    B

    ALUOut

  • 8/3/2019 Organizacao Computadores

    55/166

    55

    Estaremos usando as mesmas unidades funcionais ALU usada para computar o endereo e para incrementarPC.

    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

    funcionalNo fim de um ciclo

    Armazenar valores para serem usados nos ciclos posteriores Introduzir registradores internos adicionais

    Tcnica Multiciclo

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    56/166

    56

    i. Busca de prxima instruo: IR

  • 8/3/2019 Organizacao Computadores

    57/166

    57

    I. IntroduoII. Processadores

    I. Ciclo de Instruo

    II. Pipeline

    III. Memrias

    IV. Barramentos

    V. Dispositivos de E/S

    AOC Organizao de Computadores

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    58/166

    58

    Paralelismo no nvel de instruo Pipelines de Instrues

    Arquiteturas superescalares

    Paralelismo no nvel de processador

    Processadores vetoriais e matriciais Multiprocessadores

    Multicomputadores

    Paralelismo

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    59/166

    59

    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 tenhapassado por todos os estgios

    Paralelismo

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    60/166

    60

    Exemplo de Pipeline de 5 estgios

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    61/166

    61

    Na fase de busca a MP acessada Na fase de execuo a MP usualmente no acessada.

    A prxima instruo pode ser buscada durante aexecuo da instruo corrente (busca antecipada

    instructionprefetch).

    Busca Antecipada: Prefetch

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    62/166

    62

    Instrues comuns (aritmticas, load/store, desviocondicional) podem ser iniciadas e executadasindependemente

    Utilizar mltiplas unidades funcionais (busca,decodificao, execuo, etc.) para se obter um melhordesempenho global

    Arquitetura Superescalar

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    63/166

    63

    Pipeline e Superescalar

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    64/166

    64

    Arquiteturas Superescalares

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    65/166

    65

    Arquiteturas Superescalares

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    66/166

    66

    Organizao Superescalar Geral

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    67/166

    67

    Superescalar versus Pipeline

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    68/166

    68

    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

    Paralelismo no Nvel do Processador

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    69/166

    69

    Processadores Matriciais

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    70/166

    70

    Sistemas Fortemente Acoplados

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    71/166

    71

    Multiprocessadores

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    72/166

    72

    So arquiteturas so caracterizadas por vriosprocessadores compartilhando uma nica memria, ouum conjunto de memrias

    Todos os processadores compartilham uma mesmamemria fsica, caracterizando uma memria global.

    fortemente acoplada porque os processadores e memriaesto fortemente interligados atravs de seu sistema localde interconexo.

    Multiprocessadores

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    73/166

    73

    Multiprocessadores

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    74/166

    74

    Sistemas Fracamente Acoplados

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    75/166

    75

    Multicomputadores

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    76/166

    76

    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.

    Multiprocessadores

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    77/166

    77

    Multicomputadores

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    78/166

    78

    I. IntroduoII. Processadores

    I. Ciclo de Instruo

    II. Pipeline

    III. Memrias

    IV. Barramentos

    V. Dispositivos de E/S

    AOC Organizao de Computadores

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    79/166

    79

    Hierarquia de Memrias

    Memrias

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    80/166

    80

    Hierarquia de Memrias

    Memrias

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    81/166

    81

    Hierarquia de Memrias

    Memrias

    Arquitetura e Organizao de Computadores

    medida que descemos napirmide:

    o custo por bit cai

    a capacidade umenta

    o tempo de acessoaumenta

    a frequncia de acessocai

  • 8/3/2019 Organizacao Computadores

    82/166

    82

    Tempo de acesso memria

    o tempo decorrido entre a apresentao doendereo (no barramento de endereos)

    e a obteno do dado vlido (no barramento dedados).

    Quanto menor for tempo de acesso, a memriaser mais rpida (maior velocidade).

    Memrias

    Arquitetura e Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    83/166

    83

    Memrias

    Arquitetura e Organizao de Computadores

    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 duaspalavras

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

    M

  • 8/3/2019 Organizacao Computadores

    84/166

    84

    Memrias

    Arquitetura e Organizao de Computadores

    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

    Deteco de erro

    Correo do erro

    M i

  • 8/3/2019 Organizacao Computadores

    85/166

    85

    Memrias

    Arquitetura e Organizao de Computadores

    Cdigos de Hamming

    Acrescentar rbits de paridade a mbits 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 dedados

    M i

  • 8/3/2019 Organizacao Computadores

    86/166

    86

    Memrias

    Arquitetura e Organizao de Computadores

    Cdigos de Hamming

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

    Bit b verificado pelos bits que formam seu valor embinrio Ex: bit 5 1 + 4; bit 19 1 + 2 + 16; bit 10 2 + 8

    M i

  • 8/3/2019 Organizacao Computadores

    87/166

    87

    Memrias

    Arquitetura e Organizao de Computadores

    Cdigos de Hamming

    Exemplo Palavra original 11110000010101110 Palavra de cdigo 0010111000000101101110

    M i

  • 8/3/2019 Organizacao Computadores

    88/166

    88

    Memrias

    Arquitetura e Organizao de Computadores

    Cdigo de Hamming Exemplo

    Palavra de cdigo 001011100000101101110 Erro no bit 5: 001001100000101101110

    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)

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

    bit 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 0

    M i

  • 8/3/2019 Organizacao Computadores

    89/166

    89

    Memrias

    Arquitetura e Organizao de Computadores

    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

    M i

  • 8/3/2019 Organizacao Computadores

    90/166

    90

    Memrias

    Arquitetura e Organizao de Computadores

    Memria Principal Tecnologia

    Semicondutores Grupo de chipsmontado em uma placa de circuito impresso SIMM Single Inline Memory Module

    DIMM Dual Inline Memory Module Ex: pentede 256MB

    M i

  • 8/3/2019 Organizacao Computadores

    91/166

    91

    Memrias

    Arquitetura e Organizao de Computadores

    Memria Principal Tecnologia

    Memria voltil: chipsde 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)

    Memrias

  • 8/3/2019 Organizacao Computadores

    92/166

    92

    Memrias

    Arquitetura e Organizao de Computadores

    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 naborda descendente do relgio

    Ex:

    DDR 8 bits, 200Mhz 8 x 200 milhes x 2

    3,2 Gbits/seg

    400 MB/seg de sada

    Memrias

  • 8/3/2019 Organizacao Computadores

    93/166

    93

    Memrias

    Arquitetura e Organizao de Computadores

    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 oprograma 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

    Memrias

  • 8/3/2019 Organizacao Computadores

    94/166

    94

    Memrias

    Arquitetura e Organizao de Computadores

    Chips de memria no voltil

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

    Dispositivos para programao

    Mudanas durante o projeto EEPROM (Electrically EPROM): apagvel por pulsos eltricos

    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

    Memrias

  • 8/3/2019 Organizacao Computadores

    95/166

    95

    Memrias

    Arquitetura e Organizao de Computadores

    Comparao de Memrias

    Tipo Categoria Apagamento Voltil Utilizao

    SRAM R/W Eltrico Sim Cache L2

    DRAM R/W Eltrico Sim MP (antiga)

    SDRAM R/W Eltrico Sim MP

    ROM R No No Equipamentos: grande volume

    PROM R No No Equipamentos: pequenovolume

    EPROM R > W Luz UV No Prototipagem

    EEPROM R > W Eltrico No PrototipagemFlash R/W Eltrico No Pen drives

    Memrias

  • 8/3/2019 Organizacao Computadores

    96/166

    96

    Memria Cache

    Memrias

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    97/166

    97

    Memria Cache

    Quantidade pequena de memria rpida

    Situa-se entre memria principal e a CPU

    dividida em linhas (bloco de palavras)

    Memrias

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    98/166

    98

    Organizao tpica de cache

    Memrias

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    99/166

    99

    Operao da Cache viso geral

    Memrias

    Arquitetura e Organizao de Computadores

    i. CPU requisita contedo do local de memria.

    ii. Verifica se os dados esto em cache.

    iii. Se estiverem, apanha da cache (rpido).iv. Se no, l bloco solicitado da memria principal para acache.

    v. Depois, entrega da cache CPU.

    vi. Cache inclui tags para identificar qual bloco da memriaprincipal est em cada slot da cache.

    Memrias

  • 8/3/2019 Organizacao Computadores

    100/166

    100

    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 instruesso colocadas em caches separadas

    Memrias

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    101/166

    101

    Linhas de Cache

    So blocos de clulas de cache que so transferidasda MP no caso de falha no acesso cache detamanho de 4 a 128 bytes (32 a 1024 bits).

    Exemplos:

    80386 (1985) : cache na placa me (fora doprocessador)

    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

    Memrias

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    102/166

    102

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

    Memrias

    Arquitetura e Organizao de Computadores

    tm = c + (1-h)*m,

    tm

    : tempo mdio de acesso mdio

    c : tempo de acesso a cache

    m : tempo de acesso a memria

    h : taxa de acerto ("hit ratio")

    Memrias

  • 8/3/2019 Organizacao Computadores

    103/166

    103

    Operao de leitura de cache

    Memrias

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    104/166

    104

    Custo e Velociadade

    Memrias

    Arquitetura e Organizao de Computadores

    Custo:

    Mais cache caro.

    Velocidade: Mais cache mais rpido (at certo ponto).

    Verificar dados na cache leva tempo.

    Memrias

  • 8/3/2019 Organizacao Computadores

    105/166

    105

    Memrias

    Arquitetura e Organizao de Computadores

    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

    Memrias

  • 8/3/2019 Organizacao Computadores

    106/166

    106

    Mapeamento Direto: Tabela das linhas do cache

    Memrias

    Arquitetura e Organizao de Computadores

    Linha Bloco

    0 0, m, 2m, 3m2s-m

    1 1, m+1, 2m+12s-m+1

    m-1 m-1, 2m-1,3m-12s-1

    Frmula: linha = bloco % (nmero de linhas)

    Memrias

  • 8/3/2019 Organizacao Computadores

    107/166

    107

    Cache: Mapeamento Direto

    Memrias

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    108/166

    108

    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 deendereo (224=16M) composta de 4M 222 blocos (linhas).

    Memrias

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    109/166

    109

    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

    Memrias

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    110/166

    110

    Exemplo: Mapeamento Direto

    Memrias

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    111/166

    111

    Memrias

    Arquitetura e Organizao de Computadores

    Prs e contras do mapeamento direto Simples.

    Barato.

    Local fixo para determinado bloco.

    Se um programa acessa 2 blocos que mapeiampara a mesma linha repetidamente, perdas decache so muito altas.

    Memrias

  • 8/3/2019 Organizacao Computadores

    112/166

    112 Arquitetura e Organizao de Computadores

    Mapeamento Associativo

    Um bloco de memria principal pode ser carregadoem 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.

    Memrias

  • 8/3/2019 Organizacao Computadores

    113/166

    113

    Cache: totalmente associativa

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    114/166

    114

    Estrutura dos endereos no mapeamento associativo

    Rtulo de 22 bits armazenados com cada bloco de dadosde 32 bits

    Compare o campo TAG com o campo TAG da cache paraverificar o acerto

    Os 2 bits menos significativos do endereo identificam qualpalavra de 16 bits requerida do bloco de dados de 32 bits

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    115/166

    115

    Exemplo: mapeamento associativo

    Arquitetura e Organizao de Computadores

    Como a palavra de4bytes, dividimos o endereopor 4 e obtemos o rtuloespecfico:

    000000 / 4 = 00000016339C / 4 = 058CE7FFFFF4 / 4 = 3FFFFDFFFFF8 / 4 = 3FFFFEFFFFFC / 4 = 3FFFFF

    *Valores em hexadecimal

    Memrias

  • 8/3/2019 Organizacao Computadores

    116/166

    116

    mapeamento associativo por conjunto

    Combina as vantagens do mapeamento direto e domapeamento associativo.

    A cache dividida em v conjuntos, cada com k linhas

    m = v x k

    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

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    117/166

    117

    Cache associativa por conjuntos (2 linhas)

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    118/166

    118

    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

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    119/166

    119

    Estrutura do endereo do mapeamento associativo por conjunto

    Arquitetura e Organizao de Computadores

    0000 / 4 = 0000

    0004 / 4 = 0001339C / 4 = 0CE77FFC / 4 = 1FFF7FF8 / 4 = 1FFE

    *Valores em hexadecimal

    Memrias

  • 8/3/2019 Organizacao Computadores

    120/166

    120 Arquitetura e Organizao de Computadores

    Algoritmos de substituio Mapeamento direto

    Sem escolha. Cada bloco mapeado apenas a uma linha. Substitui essa linha.

    Memrias

  • 8/3/2019 Organizacao Computadores

    121/166

    121 Arquitetura e Organizao de Computadores

    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.

    Memrias

  • 8/3/2019 Organizacao Computadores

    122/166

    122

    Polticas de atualizao (escrita)

    No deve sobrescrever bloco de cache a menos que amemria 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

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    123/166

    123

    Polticas de atualizao (escrita)

    Escrita de volta (Write back)

    Atualizaes feitas inicialmente apenas na cache.

    Bit de atualizao para slot de cache definidoquando 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 dacache. 15% das referncias de memria so escritas.

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    124/166

    124

    Tamanho de Linha

    Recupere no apenas a palavra desejada, mas tambmuma 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 reutilizarinformaes substitudas.

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    125/166

    125

    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

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    126/166

    126

    Caches Unificadas versus Separadas

    Uma cache para dados e instrues ou duas, uma paradados 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 debusca/decodificao de instruo e a unidade deexecuo. Importante no pipeline de instrues.

    Arquitetura e Organizao de Computadores

    Memrias

  • 8/3/2019 Organizacao Computadores

    127/166

    127

    Caches Unificadas versus Separadas

    Uma cache para dados e instrues ou duas, uma paradados 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 debusca/decodificao de instruo e a unidade deexecuo. Importante no pipeline de instrues.

    Arquitetura e Organizao de Computadores

    AOC Organizao de Computadores

  • 8/3/2019 Organizacao Computadores

    128/166

    128

    I. Introduo

    II. Processadores

    I. Ciclo de Instruo

    II. Pipeline

    III. MemriasIV. Barramentos

    V. Dispositivos de E/S

    Arquitetura e Organizao de Computadores

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    129/166

    129 Arquitetura e Organizao de Computadores

    Hardware: Principais Componentes

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    130/166

    130 Arquitetura e Organizao de Computadores

    Hardware: Principais Componentes

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    131/166

    131 Arquitetura e Organizao de Computadores

    Conexo E/S e UCP

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    132/166

    132 Arquitetura e Organizao de Computadores

    Dispositivos Perifricos

    Qualquer dispositivo de hardware no requerido por umcomputador para executar instrues de software.

    Os dispositivos internos so referidos como dispositivos perifricosintegrados.

    Placas de interface de rede, modems, placas de som. Unidades de disco rgido, CD e DVD.

    Dispositivos de caracteres: transferem dados: um caractere porvez.

    Teclados e mouses

    Podem ser conectados a um computador por meio de portas eoutros barramentos.

    Portas seriais, portas paralelas, USB, portas IEEE 1394 e SCSI

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    133/166

    133 Arquitetura e Organizao de Computadores

    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 amemria principal

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    134/166

    134 Arquitetura e Organizao de Computadores

    Controladores Adaptador E/S

    Os controladores de dispositivos so geralmente programveis epossuem vrios registradores internos, cada um podendo seracessado por um endereo. Exemplos:

    COMANDO(S)

    PARMETROS ESTADO

    DADOS (E/S)

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    135/166

    135 Arquitetura e Organizao de Computadores

    Registradores de Dispositivo: terminal simples

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    136/166

    136 Arquitetura e Organizao de Computadores

    Comunicao UCP Controlador E/S

    Espaos separados E/S e Memria

    E/S Mapeada em Memria

    Sistema Hbrido

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    137/166

    137 Arquitetura e Organizao de Computadores

    E/S Mapeada na memria

    a) Arquitetura com barramento nico b) Arquitetura com barramento dual

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    138/166

    138 Arquitetura e Organizao de Computadores

    MTODOS DE E/S

    CONTROLADA PROGRAMADA (POLLING) POR INTERRUPO

    POR DMA (ACESSO DIRETO MEMRIA)

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    139/166

    139 Arquitetura e Organizao de Computadores

    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

    (BUSYWAITING)

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    140/166

    140 Arquitetura e Organizao de Computadores

    E/S PROGRAMADA

    Passos para a impresso de uma cadeira de caracteres

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    141/166

    141 Arquitetura e Organizao de Computadores

    Interrupes e excesses

    So desvios do fluxo de execuo de um programa

    So diferentes de branches e jumps (que tambmmudam o fluxo normal de execuo de instrues).

    As interrupes, podem ser de hardware e de software.

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    142/166

    142 Arquitetura e Organizao de Computadores

    Interrupes e excesses

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    143/166

    143 Arquitetura e Organizao de Computadores

    Excesses

    Desvios forados do fluxo de execuo de umprograma causado por um evento interno sncrono, ouseja, tem origem dentro do processador e ocorremdevido a prpria execuo das instrues do programa.

    So geralmente geradas em resposta a erros ou condiesde exceo. Exemplos: diviso por zero, overflowaritmtico, falta de pgina, erro de segmentao, instruo

    invlida, etc.

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    144/166

    144 Arquitetura e Organizao de Computadores

    Interrupo de Hardware

    Desvio forado do fluxo de execuo de um programacausado por um evento assncrono externo (relgio,teclado, disco, impressora, etc), ou seja, ocasionada por umevento 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/Senvia ao processador um sinal denominado interrupo.

    O sistema operacional pode responder a uma interruponotificando os programas que esto espera desses eventos

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    145/166

    145 Arquitetura e Organizao de Computadores

    Pinagem lgica de uma CPU genrica

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    146/166

    146 Arquitetura e Organizao de Computadores

    Pinagem lgica do

    Pentium 4

    Sinais individuais:letras maisculas

    Grupos de sinaisrelacionados oudescries de sinais:letras maisculas e

    minsculas

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    147/166

    147 Arquitetura e Organizao de Computadores

    Controlador de interrupo

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    148/166

    148 Arquitetura e Organizao de Computadores

    Interrupes de Hardware

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    149/166

    149 Arquitetura e Organizao de Computadores

    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 programainterrompido

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    150/166

    150 Arquitetura e Organizao de Computadores

    Tratadores de Interrupo

    Passos que devem ser executados em software depois da interrupoter 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

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    151/166

    151 Arquitetura e Organizao de Computadores

    Vetores de interrupo

    O Vetor de interrupo um mecanismo usado paraindicar o dispositivo est solicitando operao de E/S. Elesservem para indicar uma entrada na tabela de vetores deinterrupo.

    A Tabela de vetores de interrupo armazena os endereos

    das rotinas de tratamento de interrupo (RTI) de cadadispositivo de E/S, de excees e das interrupes desoftware.

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    152/166

    152 Arquitetura e Organizao de Computadores

    Interrupes Mltiplas

    Interrupes desabilitadas O processador ignorar as interrupes enquanto processa uma

    interrupo

    As interrupes permanecero pendentes e sero verificadasaps a primeira interrupo ter sido processada.

    Manipulao das interrupes na sequncias que elas ocorrem

    Definir prioridades

    Interrupes de baixa prioridade podem ser interrompidas porinterrupes de maior prioridade

    Quando a interrupo de maior prioridade foi processada, oprocessador retorna para a interrupo prvia

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    153/166

    153 Arquitetura e Organizao de Computadores

    Temporizadores e Relgios

    Temporizadores O temporizador de intervalo gera periodicamente uma

    interrupo.

    Os sistemas operacionais usam temporizadores deintervalo para impedir que processos monopolizem oprocessador.

    Relgios

    Oferecem uma medida de continuidade.

    Um relgio de 24 horas habilita o sistema operacional adeterminar a hora e a data atuais

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    154/166

    154 Arquitetura e Organizao de Computadores

    Temporizadores de Software

    Um segundo relgio programvel para interrupes de Temporizao

    ajustado para causar interrupes em qualquer taxa queum programa precisar

    sem problemas se a frequncia de interrupo baixa Temporizadores de software evitam interrupes

    ncleo checa se o temporizador de software expirou antesde retornar para o modo usurio

    quo bem isso funciona depende da taxa de entradas noncleo

    Dispositivos de E/S

  • 8/3/2019 Organizacao Computadores

    155/166

    155 Arquitetura e Organizao de Computadores

    Interrupes de Software

    Na arquitetura x86 (ou IA-32 da Intel) usa o termointerrupo de software para designar instruesespeciais que fazem parte do conjunto de instrues de umprocessador, mas que tem um tratamento semelhante sinterrupes de hardware.

    Os servios do Sistema Operacional (SO) so geralmenteobtidos atravs deste mecanismo (chamadas ou traps aoSO).

    Exemplos:

    INT 0x80 (Linux)

    INT 0x21 (DOS)

    Dispositivos de E/S

    Ch d SO

  • 8/3/2019 Organizacao Computadores

    156/166

    156 Arquitetura e Organizao de Computadores

    Chamadas ao SO

    Dispositivos de E/S

    I d S f

  • 8/3/2019 Organizacao Computadores

    157/166

    157 Arquitetura e Organizao de Computadores

    Interrupo de Software

    Dispositivos de E/S

    I E MIPS (E l )

  • 8/3/2019 Organizacao Computadores

    158/166

    158 Arquitetura e Organizao de Computadores

    Interrupes e Excesses no MIPS (Exemplo)

    Dispositivos de E/S

    C i l i t (MIPS

  • 8/3/2019 Organizacao Computadores

    159/166

    159 Arquitetura e Organizao de Computadores

    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) numregistrador especial EPC (Exception Program Counter).

    2) transferir o controle (atualizar o contedo de PC) para umendereo especfico, que possibilite ao computador executar a rotina detratamento 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 continuarexecutanto, o programa que estava executando antes da exceo.

    O EPC usado para determinar o endereo de reincio daexecuo

    Dispositivos de E/S

    C b d (MIPS)

  • 8/3/2019 Organizacao Computadores

    160/166

    160 Arquitetura e Organizao de Computadores

    Como saber a causa da exceo (MIPS)

    Para o computador manipular uma exceo, ele deve conhecera razo da exceo.

    A razo pode ser obtida de duas formas:

    1) usar o registrador de status (cause register) que indicaa razo

    2) usar interrupo vetorizada, caso em que o endereode desvio para executar a exceo determinado pelacausa da exceo

    Dispositivos de E/S

    Implementao de e ceo no MIPS

  • 8/3/2019 Organizacao Computadores

    161/166

    161 Arquitetura e Organizao de Computadores

    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 detratamento de exceo dado por C0 00 00 00 (em hexa).

    Dispositivos de E/S

    Alterao do Fluxo de Dados (MIPS)

  • 8/3/2019 Organizacao Computadores

    162/166

    162 Arquitetura e Organizao de Computadores

    Alterao do Fluxo de Dados (MIPS)

    Dispositivos de E/S

    DMA A di t i

  • 8/3/2019 Organizacao Computadores

    163/166

    163 Arquitetura e Organizao de Computadores

    DMA: Acesso direto a memria

    Melhora a transferncia de dados entre a memria e osdispositivos de E/S.

    Dispositivos e controladores transferem dados para e damemria principal diretamente.

    O processador fica livre para executar instrues.

    O canal DMA usa um controlador de E/S para gerenciar atransferncia de dados.

    Notifica o processador quando uma operao de E/S concluda.

    Melhora o desempenho em sistemas que realizam grandequantidade de operaes de E/S (por exemplo, computadoresde grande porte e servidores).

    Dispositivos de E/S

    DD De ice Dri er

  • 8/3/2019 Organizacao Computadores

    164/166

    164 Arquitetura e Organizao de Computadores

    DD: Device Driver

    Programa que se comunica com o controlador de dispositivo deE/S.

    Realiza a comunicao do subsistema de E/S com os dispositivosatravs dos controladores de E/S

    Dispositivos de E/S

    Driver dos Dispositivos

  • 8/3/2019 Organizacao Computadores

    165/166

    165 Arquitetura e Organizao de Computadores

    Driver dos Dispositivos

    Dispositivos de E/S

    Plug and Play (PnP)

  • 8/3/2019 Organizacao Computadores

    166/166

    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,tifi d t d d i