Sie sind auf Seite 1von 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 ou
unidade central de
processamento

Memria Principal

Dispositivo de
Entrada/Sada

Barramento de dados de endereos e de controle

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

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 mundo


exterior (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.

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, valor
esse 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 Registrador Program 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.

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.

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 Registrador Program 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).

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 embutido
no 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.
E1

E2

E3

E4

Unidade de
Busca de
Instruo

Unidade de
Decodificao
De instalao

Unidade de
Busca de
Operandos

Unidade de
Execuo de
Instruo

E5
Unidade de
Escrita de
Resultados

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 Registrador Program 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.

EVOLUO DA EXECUO DE INSTRUES NO PIPELINE


Instruo 1 Fica pronta
ESTGIOS

TEMPO
1

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. Demora
cinco 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

10

E1

Instr1 Instr1

Instr2 Instr2

Instr3 Instr3

Instr4 Instr4

Instr5 Instr5

E2

Instr1 Instr1

Instr2 Instr2

Instr3 Instr3

Instr4 Instr4

E3

Instr1 Instr1

Instr2 Instr2

Instr3 Instr3

Latncia =2+2+2 = 6 UT

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 relao
banda 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 relao
banda 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

2(UT)

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

2ns

3ns

1ns

E1

E2

E3

E4

1 2
E1 I1 I1
E2 E3 E4 Latncia = 10

3
I1
-

1000 = 250 MIPS


4

4
I1
-

5
I2
I1
-

6
I2
I1
-

7
I2
I1
-

8
I2
I1
-

9
I3
I2
I1
-

10
I3
I2
I1

11
I3
I2
-

12
I3
I2
-

13
I4
I3
I2
-

14
I4
I3
I2

15
I4
I3
-

16
I4
I3
-

17
I5
I4
I3
-

18
I5
I4
I3

E1
E2
E3
E4

E1
E2
E3
E4

1
I1

2
I2
I1

1
I1

3
I3
I1

4
I4
I1

I1

I1

I1

5
I5
I2
I1

6
I6
I2
I1

5
I2
I1

7
I7
I2

10

11

12

13

14

15

16 17 18

I3
I2
I1

I3

I4
I3
I2

I5
I4
I2

I5
I4
I3

I5

I1

I4
I3
I2

I4

I1

I3
I2
I1

9
I3

10

11

12

13
I4

14

15

16 17 18

I2
I1

I2

I2

I3

I3

I4

I1

I2

I2

I4
I3
I2

I4

I1

I3
I2
I1

I3

I3

I2
I1

I2

I3
I2

I3

I6
I5
I3

I3

I6
I5
I3

I3

Arquitetura Superescalar
Um pipeline com arquitetura Superescalar tem alguns estgios em caminhos paralelos, como
mostrado na figura.
E2
E4

E1
E3

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
E2
=
E3

TAREFA 4
Calcule a latncia do pipeline sabendo que E2 e E3 so idnticos
2ns
1ns

E2

3ns
E4

E1
E3
2ns

LATENCIA = 1+2+3 = 6NS

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

A2

A3

B1

B2

UAL

A1+B1

A2+B2

A3+B3

B3

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.
UAL registradores que realizam todos a mesma instruo comandada por uma nica Unidade de
Controle.
UNIDADE DE
CONTROLE
Instrues em Broadcast

Cada instruo efetuada sobre vrios conjuntos de dados diferentes simultaneamente.


Computador vetorial e computador matricial no so multiprocessadores. Um multiprocessador tem
vrias UCPs trabalhando em paralelo.
Ncleos

UPC1

UPC2

MEMRIA
PRINCIPAL

DISPOSITIVOS
E/S

Barramento (dados, endereos, controle

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


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

Cada PC pode ter seu prprio


sistema operacional

Linha de comunicao

Um multicomputador no tem 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 digit digito 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, 2 clulas, 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.
10 =

0
128

91 =

64
1

128
192 = 1

0
32

0
64

1
128

255 =

16
1

32
0

64

1
8
1
16

0
32

0
4
0
8

0
16

1
2
1
4

0
8

1
2

0
4

1
0

1
128

128 = 1

1
64

1
32

16
0

128

64

32

16

27

26

25

24

23

22

2
21

1
20

(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 = 210 bytes = 1KB = endereo de 10 bits
1024*1024 bytes = 1.048.576 bytes = 220 bytes = 1 MB = endereo 20 bits
1.048.576 * 1024 bytes = 1.073.741.824 bytes = 230 bytes = 1GB = endereo 30 bits

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

1
0

0
1

2
2

Little(menor) -endian (terminam)

3
3

Big - endian
0

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 M bits de dados aos quais sero acrescentados R
bits de redundncia ou verificao. Seja n o novo tamanho da palavra. Uma unidade de N bits sendo
M bits de dados e R bits de redundncia chamada palavra de cdigo.

Chama-se distncia de Hamming nmero 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.
11001011
10011011
2 bits correspondentes diferentes.

Se duas palavras de cdigo tm distncia de HAMMING igual a D ser 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)?
10101010
1 1 1 0 1 1 1 0 2 bits correspondentes diferentes.

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 D erros necessrio montar um cdigo com distncia de Hamming igual a (d+1).

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

Como construir um cdigo com distncia de Hamming igual a 2 que permitir detectar 1 erro:
R: Acrescentando um bit de paridade.
O BIT em amarelo o bit acrescentado chamado de paridade
0000
0011
0101
0110
1001
1010
1100
1111

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 mpar para paridade mpar.
Os nmeros em vermelhos a base da tabela sendo a potncia de dois
1

10

11

10

11

12

13

11

12

13

13

15

14

15

14

15

14

15

Est tabela
baseada na tabela
de binrios onde o
a casa 1 vale 1

Est tabela
Est tabela
baseada na tabela
baseada na tabela
de binrios onde o
de binrios onde o
a
casa
2
vale
1
a casainvlida
4 vale 1
1 1 1 0 uma palavra de cdigo

Tabela Binrio
8

Est tabela
baseada na tabela
de binrios onde o
a casa 8 vale 1

A
3

0
7
5 1

1
4
C
0
1

1
2

1
3

1
4

1
5

0
6

0
7

Posies com bits de paridade


Posies com bits de dado
Os bits em azul so bits de paridade no qual eles devem permanecer nas casas que possuem a
potncia 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
3

1
5

0
6

0
7

1
1

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


0
1

1
2
1

1
3

1
5

0
6

0
7

0
1
1
4

1
2
2

1
3

1
4

1
5

0
6

0
7

Das könnte Ihnen auch gefallen