Beruflich Dokumente
Kultur Dokumente
de
programa armazenado
Faz clculos
executa instruo
Dados e instrues
Aritmticos
em sequncia
fica na mesma
E lgico
Computador Bsico
Processador ou
unidade central de
processamento
Memria Principal
Dispositivo de
Entrada/Sada
Processador: executa instruo (clculos) e controla a sequncia das aes para a execuo
(sincronismo).
CAMINHO DE DADOS
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)
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
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
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
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
-
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
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
UPC1
UPC2
MEMRIA
PRINCIPAL
DISPOSITIVOS
E/S
Linha de comunicao
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.
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
1
0
0
1
2
2
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
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 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
1
3
1
5
0
6
0
7
1
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