Buscar

UFPI 5.Arquiteturas-II

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 22 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Federal do Piauí
Centro de Tecnologia
Departamento de Engenharia Elétrica
CIRCUITOS DIGITAIS II
Prof. Marcos Zurita
zurita@ufpi.edu.br
www.ufpi.br/zurita
Teresina - 2011
 Arquiteturas II
2
Circuitos Digitais II – Prof. Marcos Zurita
● 1. Pipeline
● 2. Arquiteturas CISC, RISC, NISC
● Bibliografia
3
Circuitos Digitais II – Prof. Marcos Zurita
1. Pipeline
4
Circuitos Digitais II – Prof. Marcos Zurita
Execução Sequencial
● Considere a execução sequencial de 4 instruções em 
um processador onde cada instrução é composta de 4 
estágios, cada um consumindo um ciclo de clock:
T
E1 E2 E3 E4
Instrução 1
T
E1 E2 E3 E4
Instrução 2
T
E1 E2 E3 E4
Instrução 3
T
E1 E2 E3 E4
Instrução 4
Tempo total = 4T (16 ciclos de clock)
5
Circuitos Digitais II – Prof. Marcos Zurita
Execução em Paralelo (Pipeline)
● Considere agora que as mesmas instruções sejam 
executadas em um processador cuja execução é feita 
em pipeline:
● As mesmas 4 instruções 
passam a ser executadas 
em menos da metade do 
tempo do processador 
anterior.
E1 E2 E3 E4
Instrução 1
E1 E2 E3 E4
Instrução 2
E1 E2 E3 E4
Instrução 3
E1 E2 E3 E4
Instrução 4
1,75T (7 ciclos de clock)
6
Circuitos Digitais II – Prof. Marcos Zurita
Execução em Pipeline
● Trata-se de uma técnica de paralelismo no nível das 
instruções de um processador.
● A máquina é capaz de processar mais de uma instrução 
ao mesmo tempo, não precisando esperar que uma uma 
instrução termine para iniciar a execução de outra.
● Num processador em pipeline, a execução de cada 
estágio de uma instrução é realizada por um conjunto 
distinto de componentes.
● Com isso, uma vez que uma instrução passa para o 
estágio E2, o hardware usado para executar o estágio 
E1 não é mais necessário, podendo ser usado pela 
próxima instrução.
7
Circuitos Digitais II – Prof. Marcos Zurita
● Para o exemplo anterior, a partir do 4° ciclo de clock, os 
circuitos de cada um dos estágios passam a ser 
permanentemente utilizados, cada ciclo por uma 
instrução “diferente”.
E1 E2 E3 E4
Instrução 1
E1 E2 E3 E4
Instrução 2
E1 E2 E3 E4
Instrução 3
E1 E2 E3 E4
Instrução 4
E1 E2 E3 E4
Instrução 5
E1 E2 E3 E4
Instrução 6
E1 E2 E3 E4
Instrução 7
E1 E2 E3 E4
Instrução 8
E1 E2 E3 E4
Instrução 9
E1 E2 E3 E4
Instrução 10
E1 E2 E3 E4
Instrução 11
E1 E2 E3 E4
Instrução 12
E1 E2 E3 E4
Instrução 13
E1 E2 E3
Instrução
E1 E2
Instru
E1
In
Todos os 4 estágios estão em uso
8
Circuitos Digitais II – Prof. Marcos Zurita
● Naturalmente, para os circuitos de cada estágio de uma 
máquina possam operar em pipeline, devem haver 
registradores ou latches separando um estágio do outro:
● Eles garantem que o resultado do estágio anterior, 
necessário à operação do estágio atual, não será alterado 
pela próxima instrução ao usar o estágio anterior.
E1:
Busca de
Instrução
E2:
Decodificação
e Leitura dos
Registradores
E3:
Operação da
ULA e do
Deslocador
E4:
Escrita nos
Registradores
L1 L2 L3
Ex.: Arquitetura para Execução em Pipeline
E1:
Busca de
Instrução
E2:
Decodificação
e Leitura dos
Registradores
E3:
Operação da
ULA e do
Deslocador
E4:
Escrita nos
Registradores
Ex.: Arquitetura para Execução Sequencial
9
Circuitos Digitais II – Prof. Marcos Zurita
Ex.: Conversão de uma microarquitetura tipo MIC-1 para 
execução em pipeline.
Registradores
BA
ULA
C
Registrador de
saída da ULA
Registradores 
de entrada da 
ULA
Memória de
Programa IR
IFU
(Unidade de
Busca de
Instrução)
10
Circuitos Digitais II – Prof. Marcos Zurita
● O pipeline não melhora a latência de uma tarefa:
● O tempo de execução de uma instrução é o mesmo, com 
ou sem pipelining.
● Entretanto, o pipeline é capaz de melhorar a vazão 
(throughput) de toda o trabalho:
● Uma nova instrução é finalizada a cada ciclo de clock (a 
partir do 4° ciclo).
● Nem todas microarquiteturas de processadores sequenciais 
são capazes de serem convertidas para execução em 
pipeline de maneira adequada.
● A natureza de alguns processadores sequenciais é excessi-
vamente causal, isto é, possuem uma forte dependência da 
conclusão de estágios ou instruções para que novas instru-
ções possam ser executadas sem que hajam conflitos.
11
Circuitos Digitais II – Prof. Marcos Zurita
Conflitos em Pipeline
● Situações de execução no pipeline em que a instrução 
seguinte não pode ser executada no próximo ciclo de 
relógio.
● Tipos de Conflitos:
● Estruturais
● De dados
● De controle
12
Circuitos Digitais II – Prof. Marcos Zurita
Conflitos Estruturais
● O hardware não suporta uma combinação de instruções 
executadas no pipeline.
● Ex.: Uma dada microarquitetura faz leitura em registra-
dores diferentes em mais de um estágio de uma mesma 
instrução, impedindo que outras instruções leiam os 
registradores nesses estágios.
● Solução:
● Projeto adequado do caminho de dados.
13
Circuitos Digitais II – Prof. Marcos Zurita
Conflito de Dados
● A execução de uma instrução depende de um dado de 
instrução anterior e o dado ainda não está disponível.
● Ex.:
● Solução:
● Adiantamento (forwarding).
Coisa1: TOS=H+MBR
Coisa2: MDR=TOS; wr
Coisa3: SP=SP+1;
Coisa4: PC=PC+1; fetch
Coisa1: TOS=H+MBR
Coisa2: SP=SP+1;
Coisa3: PC=PC+1; fetch
Coisa4: MDR=TOS; wr
14
Circuitos Digitais II – Prof. Marcos Zurita
Conflito de Controle
● Originam-se na necessidade de se tomar uma decisão 
baseada nos resultados de uma instrução, a qual ainda 
não foi concluída.
● Muito comuns em instruções de salto condicional.
● Solução:
● Uma possível solução é a parada (também chamada de 
“bolha”), ou seja, interromper a progressão das instruções 
pelo pipeline.
15
Circuitos Digitais II – Prof. Marcos Zurita
2. Arquiteturas RISC, CISC e NISC
16
Circuitos Digitais II – Prof. Marcos Zurita
Arquitetura CISC
● Complex Instruction Set Computer – Computador com 
um Conjunto Complexo de Instruções.
● Designa arquiteturas de 
instruções complexas, 
implementadas através de uma 
memória de controle.
● Cada microinstrução correspon-
de a uma palavra de controle 
(CW - Control Word).
● 1 instrução CISC no nível ISA = 
várias CWs.
Memória de
Programa
PC
MPC
Memória de
Controle
CW
Caminho
de Dados
Memória de
Dados
17
Circuitos Digitais II – Prof. Marcos Zurita
● Este tipo de arquitetura tornou-se muito popular na 
década de 70.
● Como a memória de programa era muito lenta os 
projetistas tentaram aumentar o desempenho cirando 
instruções complexas.
● Cada instrução consome vários ciclos de clock, e cada 
ciclo possui sua própria CW armazenada em uma rápida 
memória de controle (interna ao processador).
● Cada linha da memória de controle, onde estão 
armazenadas as CW, contém uma microinstrução.
● O conceito de microprogramação permite a criação de 
qualquer conjunto de instruções, mesmo complexas.
● Infelizmente, é pouco eficiente para pipelining.
18
Circuitos Digitais II – Prof. Marcos Zurita
Arquitetura RISC
● Reduced Instruction Set Computer – Computador com 
um Conjunto Reduzido de Instruções.
● Designa arquiteturas de 
instruções simples, 
implementadas através de um 
decodificador.
● 1 instrução RISC no nível ISA = 
uma (ou poucas) CWs.
Memória de
Programa
PC
IR
Decodificador
CW
Caminho
de Dados
Memória de
Dados
19
Circuitos Digitais II – Prof. Marcos Zurita
● Este tipo de arquitetura tornou-se muito popular no final 
da década de 80.
● Elimina todas as instruções complexas e a memória de 
controle, substituindo-a por um decodificador hardwired.
● Todas as instruções RISC devem sersimples e executar 
em um ou poucos ciclos de clock, facilitando sua 
implementação em pipeline.
● Como as instruções RISC são simples, cada instrução 
CISC corresponde, em média, a duas instruções RISC, o 
que faz com que uma mesma implementação ISA 
precise do dobro de linhas de código RISC do que CISC.
20
Circuitos Digitais II – Prof. Marcos Zurita
Arquitetura NISC
● No Instruction Set Computer – Computador sem um 
Conjunto Instruções.
● Designa arquiteturas nas quais a 
palavra de controle (CW) é 
diretamente gerada pelo 
programa, sem a necessidade de 
uma etapa de decodificação.
● Uma CW = várias instruções ISA.
Memória de
Programa
PC
CW
Caminho
de Dados
Memória de
Dados
21
Circuitos Digitais II – Prof. Marcos Zurita
● Elimina completamente o estágio de decodificação, 
passando armazenar as palavras de controle (CWs) 
diretamente na memória de programa.
● Como cada CW é, em média, 2 a 3 vezes mais larga que 
uma instrução ISA, a memória de programa aumenta 2 a 
3 vezes em largura.
● Por outro lado, cada CW pode executar mais de uma 
instruções RISC no nível ISA, o que reduz o número de 
linhas de código.
● Como instrução NISC controla diretamente todo o 
caminho de dados, é possível maximizar a eficiência da 
máquina para cada aplicação.
22
Circuitos Digitais II – Prof. Marcos Zurita
● Andrew S. Tanenbaum, “Organização 
Estruturada de Computadores”, 5a Ed., 
Pearson, 2006.
● J. L. Hennessy & D. A. Patterson, “Arquitetura 
de Computadores - Uma Abordagem 
Quantitativa”, Editora Campus, 2003.
● Willians Stallings, “Arquitetura e Organização 
de Computadores”, 5ª Edição, Pearson, 2003.
● Albert Paul Malvino, “Microcomputadores e 
Microprocessadores”, McGraw-Hill, 1985.
● Herbert Taub, “Circuitos Digitais e 
Microprocessadores”, Mcgranw-Hill, 1984.
● Notas de aula do professor Ivan Saraiva, UFPI.

Outros materiais