02.03 À 23.03

Upload: priscyla-toledo-de-souza

Post on 02-Mar-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 02.03 23.03

    1/18

    DATA: 17/02/2016

    Organizao de Computadores e Softwares Bsico

    Mquina de Von Neumann (l-se Fn Noman)

    Computador sequencial de programa armazenado

    Faz clculos executa instruo Dados e instrues

    Aritmticos em sequncia fica na mesma

    E lgico programa sequencial memria = mesma representao logica

    De instrues

    Computador Bsico

    Processador:executa instruo (clculos) e controla a sequncia das aes para a execuo

    (sincronismo).

    Processador ou

    unidade central de

    processamento

    Memria PrincipalDispositivo de

    Entrada/Sada

    Barramento de dados de endereos e de controle

  • 7/26/2019 02.03 23.03

    2/18

    Memria Principal: Armazena dados (valores) e instrues (verbos) representados na forma

    binrio. O processador s executa instrues que estejam armazenadas na memria

    principal. O dado armazenado usando eletricidade (volatilidade = o dado se perde quando

    a eletricidade desligada.

    Dispositivos de entrada e sada: permitem a comunicao do computador com o mundoexterior (pessoas principalmente).

    Barramento: interligam processador, memria e dispositivos

    DATA: 24/02/2016

    Processador ou Unidade Central de Processamento: Tem por funo executar os

    programas armazenados na memria principal, buscando cada uma das instrues do

    programa, examinando-as, e executando-as uma aps a outra.

    O processador constitudo de diversas partes distintas.

  • 7/26/2019 02.03 23.03

    3/18

    A unidade de controle (UC) a parte do processador responsvel, pela busca das

    instrues na memria principal e pela determinao do tipo de cada instruo

    (decodificao).

    A Unidade Aritmtica logica (UAL) realiza operaes aritmticas, operaes lgicas e

    operaes de deslocamento. Necessrio execuo de instrues.

    O processador tem tambm uma memria pequena e de alta velocidade, usada para

    armazenar resultados temporrios e certas informaes de controle. Essa memria

    formada por um conjunto de registradores (cache), cada qual com um determinado tamanho

    e uma determinada funo. Em geral, todos os registradores de um processador tm o

    mesmo tamanho. Cada um deles pode armazenar um nmero at um valor mximo, valoresse estabelecido pelo tamanho do registrador.

    Os registradores de proposito especifico armazenam informaes usadas para

    controlar a execuo das instrues. Dentre os registradores de proposito especifico.

    O RegistradorProgram Counter (CONTADOR DE PROGRAMAS) (PC ou contador de

    programas)ele sabe onde est a prxima instruo dos mais importantes; seu valor aponta

    o endereo da prxima instruo a ser buscada na memria para ser executada.

    O Registrador de Instrues (IR), um registrador muito importante ele que

    armazena a instruo que est sendo executada.

    O Registrador de Estado (STATUS) guarda as informaes sobre a instruo,

    armazena informaes sobre a execuo da instruo, por exemplo, ocorrncia de vai 1.

    O Registrador Apontador da Pilha(Stack Pointer)armazena o endereo do topo da

    pilha operacional, onde ficam armazenadas as informaes sobre os programas

    interrompidos. Nome de pilha devido uma informao ficar em cima da outra.

  • 7/26/2019 02.03 23.03

    4/18

    CAMINHO DE DADOS

    A maioria das instrues de um processador pode ser classificada em uma dentre

    duas categorias: registrador-memoria ou registrador-registrador permitem que o contedo

    de palavras de memria seja armazenado nos registradores, de onde poder ser usado (ou

    vice-versa).

    Uma instruo registrador-registrador tpica busca dois operandos em registradores,

    coloca-os nas entradas da UAL, realiza alguma operao sobre eles, e armazena o resultado

    em algum registrador.

    O processo de passar dois operandos pela UAL armazenados o resultado em um

    registrador chamado de ciclo do caminho de dados (execuo de instruo), que, sob

    certos aspectos, definem aquilo que a mquina pode fazer. A velocidade do ciclo do caminho

    de dados determina a velocidade do processador.

  • 7/26/2019 02.03 23.03

    5/18

    Execuo de instrues

    Ciclo de busca-decodificao-execuo

    Quando um processador executa instrues ele segue basicamente 7 passos.

    1. Busca da prxima instruo na memria e armazenamento da instruo no registrador de

    instrues (IR). a unidade de controle que faz esse passo.

    2. Atualizao do valor do RegistradorProgram Counter (CONTADOR DE PROGRAMAS) (PC ou

    contador de programas)fazendo-o apontar para a instruo seguinte.

    3. Determinao do tipo da instruo que est armazenada no registrador de instrues

    (Decodificao da instruo).

    4.

    Se a instruo precisar de uma palavra armazenada na memria, nesse passo deve ser

    determinado onde essa palavra est armazenada. (Descobrir o endereo)

    5. Busca da palavra, se necessrio, e armazenamento em um dos registradores do processador.

    (Busca o de fora e coloca dentro).

    6. Execuo da instruo

    7. Retorno ao passo 1, para iniciar a execuo da instruo seguinte.

    Tarefa 2

    1. Qual o papel do passo nmero dois do ciclo de busca-decodificao-execuo?

    2. Quais passos deste ciclo no so sempre executados e porque no so?

    DATA: 02.03.16

    possvel escrever um programa que simule a funo de um processador, que busque, decodifique

    e execute suas instrues. Um programa assim chamado de interpretador. (Tanenbaum).

    RISC versus CISC

    RISC = Reduced Instruction Set Computer e denomina um tipo de processador que tem um nmero

    pequeno de instrues, todas simples e executadas diretamente pelo hardware (20 at 35 instrues

    normalmente).

  • 7/26/2019 02.03 23.03

    6/18

    Ele executa instrues simples que so executadas pelo hardware. Normalmente em torno de 20 at

    35 instrues.

    CISC = Complex Instruction Set Computer e denomina um tipo de processador com um nmero

    grande de instrues (100 ~200), algumas complexas e executadas por um interpretador embutidono processador.

    Ele possui um interpretador que executa as instrues.

    Uma instruo simples executada no hardware mais rpida do que uma instruo complexa

    executada com auxlio de um interpretador.

    Precisa ser verificado com um teste para saber se realmente a instruo ser mais rpida.

    Processadores CISC podem evoluir mais facilmente e com menor custo do que processadores RISC.

    PRINCIPIOS DE PROJETO DE PROCESSADORES RISC

    1. Todas as instrues devem ser executadas por hardware.

    2. Maximizar a taxa qual as instrues so executadas.

    3.

    As instrues sejam facilmente decodificadas.

    4.

    Somente as instrues de LOAD (que permite trazer coisas da memria para dentro do processador)

    e STORE (levar dados do processador para a memria) devem referenciar a memria, no pode ter

    processamentos que busque as informaes da memria.

    5. Projetar um processador com muitos registradores (memria interna)

    PARALELISMO NO NIVEL DAS INSTRUES

    EXECUO DE INSTRUES EM PIPELINE (Linha de produo)

    O processamento em pipeline (l-se paipelaine) divide a execuo das instrues em partes

    independentes, cada uma das quais tratada por um hardware dedicado exclusivamente a ela. A

    execuo das partes ocorre simultaneamente (paralelamente).

    A figura a seguir ilustra um pipeline com cinco unidades, que recebem o nome de estgios.

    Unidade de

    Busca de

    Instruo

    Unidade de

    Decodificao

    De instalao

    Unidade de

    Busca de

    Operandos

    Unidade de

    Execuo de

    Instruo

    Unidade de

    Escrita de

    Resultados

    E1 E2 E3 E4 E5

  • 7/26/2019 02.03 23.03

    7/18

    Essas unidades so independentes e trabalham simultaneamente

    E1.

    8. Busca da prxima instruo na memria e armazenamento da instruo no registrador de

    instrues (IR). a unidade de controle que faz esse passo.

    9. Atualizao do valor do RegistradorProgram Counter (CONTADOR DE PROGRAMAS) (PC ou

    contador de programas)fazendo-o apontar para a instruo seguinte.

    E2.

    10.Determinao do tipo da instruo que est armazenada no registrador de instrues

    (Decodificao da instruo).

    E3.

    11.Se a instruo precisar de uma palavra armazenada na memria, nesse passo deve ser

    determinado onde essa palavra est armazenada. (Descobrir o endereo)

    12.Busca da palavra, se necessrio, e armazenamento em um dos registradores do processador.

    (Busca o de fora e coloca dentro).

    E4.

    13.Execuo da instruo

    E5.

    14.Final da Instruo quando a instruo registradora de uso geral.

  • 7/26/2019 02.03 23.03

    8/18

    EVOLUO DA EXECUO DE INSTRUES NO PIPELINE

    ESTGIOS TEMPO

    1 2 3 4 5 6 7

    E1 Instr1 Instr2 Instr3 Instr4 Instr5 Instr6 ...

    E2 - Instr1 Instr2 Instr3 Instr4 Instr5 Instr6

    E3 - - Instr1 Instr2 Instr3 Instr4 Instr5

    E4 - - - Instr1 Instr2 Instr3 Instr4

    E5 - - - - Instr1 Instr2 Instr3

    Latncia = Tempo que a primeira instruo demora para atravessar todo o pipeline. Demoracinco segundos de tempo como acima.

    Banda Passante =o nmero de instrues executadas num determinado intervalo de tempo.

    Pode ser medida em MIPS (Milhes de instrues por segundo).

    Tarefa 3

    1. Calcule a latncia e desenhe um diagrama ilustrando a evoluo da execuo de instrues

    no pipeline da figura, at que a 3 instruo fique pronta.

    2Ut 2Ut 2Ut

    E1 E2 E3

    Latncia =2+2+2 = 6 UT

    1 2 3 4 5 6 7 8 9 10

    E1 Instr1 Instr1 Instr2 Instr2 Instr3 Instr3 Instr4 Instr4 Instr5 Instr5E2 - - Instr1 Instr1 Instr2 Instr2 Instr3 Instr3 Instr4 Instr4

    E3 - - - - Instr1 Instr1 Instr2 Instr2 Instr3 Instr3

    Instruo 1 Fica pronta

  • 7/26/2019 02.03 23.03

    9/18

    DATA:09/03/20016

    possvel afirmar que o processador executa uma instruo a cada 2 unidades de tempo. Essa

    afirmao expressa a banda passante do processador

    Quando o tempo medido em nano segundos (ns = 1s

    1000000000

    a banda passante e medida em MIPS(Milhes de Instrues Por Segundo) vale a relaobanda passante = 1000 MIPS

    T

    possvel afirmar que o processador executa uma instruo a cada 2 unidades de tempo. Essa

    afirmao expressa a banda passante do processador

    Quando o tempo medido em nano segundos (ns = 1s

    1000000000

    a banda passante e medida em MIPS(Milhes de Instrues Por Segundo) vale a relaobanda passante = 1000 MIPS

    T

    Se ao invs de 2UT, o tempo que a instruo fica em cada estgio fosse 2NS, a banda passante em

    MIPS seria:

    Banda Passante: = 1000 MIPS = 1000 = 500MIPS

    T 2(UT)

    Exerccio

    Calcular a latncia e a banda passante do pipeline da figura, e fazer um diagrama mostrandoa evoluo da execuo das instrues at que a 3 instruo fique pronta.

    4ns 2ns 3ns 1ns

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

    E1 I1 I1 I1 I1 I2 I2 I2 I2 I3 I3 I3 I3 I4 I4 I4 I4 I5 I5

    E2 - - - - I1 I1 - - I2 I2 - - I3 I3 - - I4 I4

    E3 - - - - - - I1 I1 I1 - I2 I2 I2 - I3 I3 I3 -

    E4 - - - - - - - - - I1 - - - I2 - - - I3

    Latncia = 10

    1000 = 250 MIPS

    4

    E1 E2 E3 E4

  • 7/26/2019 02.03 23.03

    10/18

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18E1 I1 I2 I3 I4 I5 I6 I7

    E2 I1 I1 I1 I2 I2 I2 I3 I3 I3 I4 I4 I4 I5 I5 I5 I6 I6

    E3 I1 I1 I2 I2 I3 I3 I4 I4 I5 I5

    E4 I1 I1 I1 I1 I2 I2 I2 I2 I3 I3 I3 I3

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

    E1 I1 I2 I3 I4E2 I1 I1 I1 I2 I2 I2 I3 I3 I3 I4 I4 I4

    E3 I1 I1 I2 I2 I3 I3

    E4 I1 I1 I1 I1 I2 I2 I2 I2 I3 I3 I3 I3

    Arquitetura Superescalar

    Um pipeline com arquitetura Superescalar tem alguns estgios em caminhos paralelos, como

    mostrado na figura.

    Esta construo aumenta a banda passante sem aumentar na mesma proporo o custo.

    Se os estgios que esto em caminhos paralelos forem idnticos, a latncia no ser alterada apenas

    a banda passante se alterar.

    Dois estgios idnticos em paralelo podem ser vistos como um nico estagio duas vezes mais rpido

    =

    TAREFA 4

    Calcule a latncia do pipeline sabendo que E2 e E3 so idnticos

    LATENCIA = 1+2+3 = 6NS

    E2

    E3

    E1 E4

    E2

    E3

    E2

    E3

    E1 E4

    E2

    E3

    1ns

    2ns

    3ns

    2ns

  • 7/26/2019 02.03 23.03

    11/18

    DATA:16/03/2016

    PARALELISMO NO NVEL DO PROCESSADOR

    Um computador com vrios processadores pode executar vrias instrues ao mesmo tempo

    (simultaneamente), um em cada processador.

    mais fcil obter altos ganhos de desempenho usando vrios processadores do que arquitetura

    Superescalar.

    Um computador com uma memria principal nica, um nico conjunto de dispositivos de e/s, um

    nico sistema operacional e vrios processadores chamado multiprocessador.

    Um computador vetorial tem uma UAL nica que executa instrues em pipeline e registradores

    vetoriais.

    Um registrador vetorial armazena mais do que um valor e carregado com uma nica instruo.

    UAL

    A1 A2 A3 B1 B2 B3

    A1+B1 A2+B2 A3+B3

  • 7/26/2019 02.03 23.03

    12/18

    A mesma instruo efetuada sobre os trs valores dos registradores de entrada.

    Um computador vetorial adequado para aplicaes cientificas de clculo numrico, processamento

    de imagens e outras com clculo matricial. No adequado para aplicaes comerciais com valores

    escalares.

    Esse computador vetorial tem apenas um ncleo.

    UALregistradores que realizam todosa mesma instruo comandada por uma nica Unidade deControle.

    Cada instruo efetuada sobre vrios conjuntos de dados diferentes simultaneamente.

    Computador vetorial e computador matricial noso multiprocessadores.Um multiprocessador tem

    vrias UCPs trabalhando em paralelo.

    Um multicomputador composto de vrios computadores interligados por linha de comunicao.

    As vrias UCPs se comunicam por algum mecanismo de troca de mensagem

    Instrues em Broadcast

    UNIDADE DE

    CONTROLE

    M

    P

    M

    P

    M

    P

    M

    P

    M

    P

    M

    P

    UPC1 UPC2

    MEMRIA

    PRINCIPAL

    Ncleos

    DISPOSITIVOS

    E/S

    Barramento dados, endere os, controle

  • 7/26/2019 02.03 23.03

    13/18

    Um multicomputador notem uma memria nica.

    DATA: 23/03/2016

    MEMORIA PRINCIPAL

    Armazena dados e instrues de programa, ambos representados em binrio.

    voltil, os valores so mantidos enquanto a memria principal est ligada a uma fonte de

    eletricidade.

    A unidade bsica de memria o BIT(binary digitdigito binrio). Um bit pode assumir o valor 0

    (zero) ou o valor 1 (um). Ele a unidade de memria mais simples possvel, e a mais confivel.

    Os bits so agrupados formando clulas. Cada uma das clulas pode guardar uma informao.

    Cada clula recebe um identificador chamado endereo da clula.

    A primeira clula de uma memria recebe o endereo 0 (zero) e a K-smia clula recebe o endereo

    K-1.

    Como os endereos das clulas tambm so representados em binrio, uma memria com endereo

    de n BITS ter, no mximo, 2clulas, endereadas desde 0 at (2)-1.

    Todas as clulas de uma memria tm o mesmo tamanho, isto , a mesma quantidade de bits.

    Sistema Binrio

    Base =2.

    Algarismos = 0 e 1.

    0 0 0 0 1 0 1 0

    0 1 0 1 1 0 1 1

    1 1 0 0 0 0 0 0

    Linha de comunicao

    Cada PC pode ter seu prprio

    sistema operacional

    128 64 32 16 8 4 2 1

    128 64 32 16 8 4 2 1

    91 =

    10 =

    128 64 32 16 8 4 2 1

    192 =

    255 =

  • 7/26/2019 02.03 23.03

    14/18

    1 1 1 1 1 1 1 1

    1 0 0 0 0 0 0 0

    (128) = 27

    256 = 28

    256-1 = 255 = (28)-1

    Qual o maior valor que se pode escrever em binrio usando

    a.

    Quatro Bits = 15 (1111)2 = (24) -1

    b. Seis Bits = 63 (111111)2 = (26)-1

    c.

    Oito Bits = 255 (11111111)2= (28)-1

    d. Dez bits = 1023 (1111111111)2= (210)-1

    Uma clula com tamanho de 8 BITS chamada BYTE (binary term)

    1024 bytes = 210bytes = 1KB = endereo de 10 bits

    1024*1024 bytes = 1.048.576 bytes = 220bytes = 1 MB = endereo 20 bits

    1.048.576 * 1024 bytes = 1.073.741.824 bytes = 230bytes = 1GB = endereo 30 bits

    Os bytes so agrupados formando palavras( um conjunto de bytes)

    128 64 32 16 8 4 2 1

    128 64 32 16 8 4 2 1

    27 26 25 24 23 22 21 20

    128 =

    0 1 2 3

    1 0 2 3

    3 2 1 0

    1 0 2 3 Big - endian

    Little(menor) -endian (terminam)

  • 7/26/2019 02.03 23.03

    15/18

    O computador em que a numerao dos Bytes das palavras atribui um numero maior a parte mais

    significativa da palavra chamado de Big-Endian

    30/03/2016

    CDIGO COM CORREO DE ERROS Os dados armazenados na memria principal podem ocasionalmente ser alterados em razo de

    oscilaes na tenso de alimentao ou outras razes. Para se prevenir contra esses tipos de

    alimentao ou outras razes. Para se prevenir contra esses tipos de erros, algumas memrias

    armazenam as informaes usando um cdigo que permita a deteco ou a correo de erros.

    preciso acrescentar bits extras a cada palavra para poder verificar a exatido da informao

    armazenada. Quando uma palavra lida da memria, os bits extras permitem verificar a ocorrncia

    eventual de erros que tenham corrompido a informao.

    Suponha que uma palavra de memria contenha Mbits de dados aos quais sero acrescentados R

    bits de redundncia ou verificao. Seja n o novo tamanho da palavra. Uma unidade de Nbits sendo

    Mbits de dados e R bits de redundncia chamadapalavra de cdigo.

    Chama-sedistncia de Hammingnmero de bits correspondentes que dizem em duas palavras de

    cdigo quaisquer. Por exemplo, a distncia de HAMMING entre as palavras de cdigo (11001011) e

    (10011011) 2 pois essas tm 2 bits correspondentes diferentes.

    1 1 0 0 1 0 1 1

    1 0 0 1 1 0 1 1

    2 bits correspondentes diferentes.

    Se duas palavras de cdigo tm distncia de HAMMING igual a Dser necessria a ocorrncia de D

    erros para transformar uma delas na outra. Por exemplo, quantos erros devem ocorrer para que a

    palavra de cdigo (10 10 10 10) fique igual a palavra de cdigo (11101110)?

    1 0 1 0 1 0 1 0

    1 1 1 0 1 1 1 0 2 bits correspondentes diferentes.

  • 7/26/2019 02.03 23.03

    16/18

    Se conhecermos o algoritmo para clculo dos bits de verificao ser possvel construir uma tabela

    com todas as palavras de cdigos vlidos, e dessa tabela extrair duas palavras de cdigo com a menor

    distncia de HAMMING. Essa ser a distncia para todo o cdigo.

    Para detectar Derros necessrio montar um cdigo com distncia de Hamming igual a (d+1).

    Para corrigir Derros necessrio montar um cdigo com distncia de Hamming igual a (2xd) + 1.

    Como construir um cdigo com distncia de Hamming igual a 2 que permitir detectar 1 erro:

    R: Acrescentando um bit de paridade.

    O valor do bit de paridade deve ser tal que a quantidade de bits com valor 1 na palavra de cdigo

    seja par- para paridade par- ou mparpara paridade mpar.

    1 3 5 2 3 6 4 5 6 8 9 10

    7 9 11 7 10 11 7 12 13 11 12 13

    13 15 - 14 15 - 14 15 - 14 15 -

    0 0 0 0

    0 0 1 1

    0 1 0 1

    0 1 1 0

    1 0 0 1

    1 0 1 0

    1 1 0 0

    1 1 1 1

    O BIT em amarelo o bit acrescentado chamado de paridade

    1 1 1 0 uma palavra de cdigo invlida

    8 4 2 1

    Est tabela

    baseada na tabela

    de binrios onde oa casa 1 vale 1

    Est tabela

    baseada na tabela

    de binrios onde oa casa 2 vale 1

    Est tabela

    baseada na tabela

    de binrios onde oa casa 4 vale 1

    Est tabela

    baseada na tabela

    de binrios onde oa casa 8 vale 1

    Os nmeros em vermelhos a base da tabela sendo a otncia de dois

    Tabela Binrio

  • 7/26/2019 02.03 23.03

    17/18

    0 1 1 1 1 0 01 2 3 4 5 6 7

    Os bits em azul so bits de paridade no qual eles devem permanecer nas casas que possuem apotncia de dois.

    Os bits em preto so os Bits de dado

    Quais posies so Verificadas pelo bit de paridade que est na casa n1

    0 1 1 0 01 2 3 4 5 6 7

    Quais as posies so verificadas pelo bit de paridade que est na casa n2

    0 1 1 1 0 0

    1 2 3 4 5 6 7

    1

    4 2 1

    1

    A B

    C

    1 3 2

    4

    5 671 0

    0

    1 100

    1

    Posies com bits de paridade Posies com bits de dado

  • 7/26/2019 02.03 23.03

    18/18

    0 1 1 1 1 0 01 2 3 4 5 6 7

    4 2 1

    14 2 1