unidade de processamento - técnico lisboa - autenticação · unidade de processamento nuno cavaco...
TRANSCRIPT
Arquitectura de ComputadoresLEEC/MEEC (2006/07 – 2º Sem.)
Unidade de Processamento
Nuno Cavaco Gomes Horta
Universidade Técnica de Lisboa / Instituto Superior Técnico
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
2
Arquitectura de ComputadoresUnidade de Processamento
Sumário
• Introdução• Unidade de Processamento• Unidade de Controlo• Conjunto de Instruções• Unidade Central de Processamento (CPU)• Unidade de Entrada/Saída (I/O)• Unidade de Memória• Perspectiva Evolutiva das Arquitecturas de Computadores
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
3
Arquitectura de ComputadoresUnidade de Processamento
Unidade de Processamento
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
4
Arquitectura de ComputadoresUnidade de Processamento
Sistemas Digitais Complexos: Unidade de Processamento + Unidade de Controlo
Unidade de Processamento (Datapath): Módulo responsável pela execução das operações de processamento de dados.
Unidade de Controlo: Módulo responsável pelo controlo da sequência de operações a executar na Datapath para implementação de uma tarefa.
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
5
Arquitectura de ComputadoresUnidade de Processamento
Datapath: Caracteriza-se pelo conjunto de registos e pelo conjunto de operações realizado sobre os dados armazenados nos registos.
Operações Elementares sobre Registos: Shift (Deslocamento), Clear(Apagar), Load (Carregamento), Incrementar, Decrementar, Somar, Subtrair, etc.
Microoperações (Aritméticas, Lógicas, Deslocamento): Operações elementares aplicadas sobre os dados em registos.
Unidade de Controlo: Fornece os sinais que permitem sequenciar as microoperações de um modo definido, e.g., sequência do conjunto de operações para realizar uma multiplicação.
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
6
Arquitectura de ComputadoresUnidade de Processamento
Datapath: Caracteriza-se pelo conjunto de registos (Unidadede Armazenamento) e peloconjunto de operações (Unidade Funcional) realizado sobre osdados armazenados nesses registos.
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
7
Arquitectura de ComputadoresUnidade de Processamento
Datapath (Exemplo)Unidade de ArmazenamentoUnidade Funcional
ALU: Unidade Logica e AritméticaShifter: Unidade de Deslocamento
(Exemplo de Operação)
Entradas de Controlo (da U. de Controlo)• Selecção de A• Selecção de B• Selecção de G• Selecção de MB• Selecção de MF• Selecção de MD• Selecção do Destino• Carregamento do ResultadoOperação relizada num 1 ciclo de relógio(Cálculo e Carregamento)
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
8
Arquitectura de ComputadoresUnidade de ProcessamentoMicroprocessadores
Unidade de Processamento
Exemplo de Operação:
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
9
Arquitectura de ComputadoresUnidade de ProcessamentoMicroprocessadores
Unidade de Processamento
Unidade de Armazenamento:
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
10
Arquitectura de ComputadoresUnidade de Processamento
Registo: Elemento básico de memória que permite armazenar um conjunto de N bits (dimensão do registo).
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
11
Arquitectura de ComputadoresUnidade de Processamento
Operação de Transferência de Dados entre 2 Registos:
12:1 RRK ←çãoMicrooperaControlo :
CP_H
D0
D1
D2
D3
M1[Load]
C2
1, 2D
K1
Q0
Q1
Q2
Q3
M1[Load]
C2
1, 2D
R1 R2
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
12
Arquitectura de ComputadoresUnidade de Processamento
Simbologia: (Transferências de Registos)
?
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
13
Arquitectura de ComputadoresUnidade de Processamento
Operações de Transferência entre Registos: (Multiplexagem)
20:,10: 211 RRKKRRK ←←
...
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
14
Arquitectura de ComputadoresUnidade de Processamento
Operações de Transferência entre Registos: (BUS)
Multiplexers Dedicados BUS ÚnicoMultiplexers Dedicados: 9 portas lógicas (3x(2AND+1OR)), 6 linhas de entrada.
BUS: 4 portas lógicas (1x(3AND+1OR)), 3 linhas de entrada.
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
15
Arquitectura de ComputadoresUnidade de Processamento
Operações de Transferência entre Registos: (BUS)
BUS Único
Exemplo:
O número de registos fonte em transferências simultâneas condiciona o número mínimo de
BUSES no sistema
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
16
Arquitectura de ComputadoresUnidade de Processamento
Operações de Transferência entre Registos: (BUS Tri-State)
BUS ÚnicoBUS Three-State
?
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
17
Arquitectura de ComputadoresUnidade de Processamento
Operações de Transferência entre Registos: (BUS Endereços e Dados + Memória)
[ ]ARMDRREAD ←:[ ] DRARMWRITE ←:
Exemplos:
[ ] 21: DAMWRITE ←
[ ]21: AMDREAD ←
ABD Control: 01DBSD Control: 10DBDD Control: 11
ABD Control: 10DBSD Control: 11DBDD Control: 01
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
18
Arquitectura de ComputadoresUnidade de Processamento
Datapath (Exemplo)Unidade de ArmazenamentoUnidade Funcional
ALU: Unidade Logica e AritméticaShifter: Unidade de Deslocamento
(Exemplo de Operação)
Entradas de Controlo (da U. de Controlo)• Selecção de A• Selecção de B• Selecção de G• Selecção de MB• Selecção de MF• Selecção de MD• Selecção do Destino• Carregamento do ResultadoOperação relizada num 1 ciclo de relógio(Cálculo e Carregamento)
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
19
Arquitectura de ComputadoresUnidade de ProcessamentoMicroprocessadores
Unidade de Processamento
Exemplo de Operação:
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
20
Arquitectura de ComputadoresUnidade de ProcessamentoMicroprocessadores
Unidade de Processamento
Unidade Funcional:
Unidade Aritmética e Lógica (ALU)
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
21
Arquitectura de ComputadoresUnidade de Processamento
Microoperações: (Aritméticas)
?
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
22
Arquitectura de ComputadoresUnidade de Processamento
Microoperações: (Lógicas)
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
23
Arquitectura de ComputadoresUnidade de Processamento
Microoperações: (Deslocamento)
?
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
24
Arquitectura de ComputadoresUnidade de Processamento
ALU: Unidade Lógica e Aritmética
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
25
Arquitectura de ComputadoresUnidade de Processamento
ALU: Circuito Aritmético (Exemplo)
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
26
Arquitectura de ComputadoresUnidade de Processamento
ALU: Circuito Aritmético
?
in
iii
ii
CC
SBSBY
AX
=+=
=
0
10
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
27
Arquitectura de ComputadoresUnidade de Processamento
ALU: Circuito Aritmético (Exemplo)
SomaSubtracçãoIncrementoDecrementoTransferência...
?
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
28
Arquitectura de ComputadoresUnidade de Processamento
ALU: Circuito Lógico (Exemplo)
ANDORXORNOT
?
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
29
Arquitectura de ComputadoresUnidade de Processamento
ALU: Circuitos Aritmético e Lógico (Exemplo)
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
30
Arquitectura de ComputadoresUnidade de ProcessamentoMicroprocessadores
Unidade de Processamento
Unidade Funcional:
Unidade de Deslocamento
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
31
Arquitectura de ComputadoresUnidade de Processamento
Unidade de Deslocamento: Circuito (Exemplo1)
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
32
Arquitectura de ComputadoresUnidade de Processamento
Unidade de Deslocamento: Circuito (Exemplo2)
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
33
Arquitectura de ComputadoresUnidade de Processamento
Datapath: Representação Hierárquica
Diagrama de Blocos:Unidade de ArmazenamentoUnidade Funcional
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
34
Arquitectura de ComputadoresUnidade de Processamento
Datapath: Representação Hierárquica
Diagrama de Blocos:Unidade de ArmazenamentoUnidade Funcional
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
35
Arquitectura de ComputadoresUnidade de Processamento
Datapath: Palavra de Controlo
Palavra de Controlo: Conjunto de bits correspondente às variáveis de controlo que permitem seleccionar as microoperações.
AA – Selecção do Registo ABA – Selecção do Registo BDA – Selecção do R. de DestinoMB – Selecção do Operando BFS – Selecção da Função na U. FuncionalMD – Sel. dos Dados para R. de DestinoRW - Carregamento
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
36
Arquitectura de ComputadoresUnidade de Processamento
Datapath: Codificação da Palavra de Controlo
Nota: o número de palavras de controlo, com significado
no presente caso, não é2^17=131072, mas apenas
61440, justifique!
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
37
Arquitectura de ComputadoresUnidade de Processamento
Datapath: Palavra de Controlo (Exemplo de Microoperações)
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
38
Arquitectura de ComputadoresUnidade de Processamento
Datapath: Palavra de Controlo (Exemplo de Microoperações - Codificação)
?
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
39
Arquitectura de ComputadoresUnidade de Processamento
Datapath: Simulação da Execução de uma Sequência de Microoperações (Exemplo)
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
40
Arquitectura de ComputadoresUnidade de ProcessamentoMicroprocessadores
Unidade de Processamento
Fmax = 1/Tmin
Fmax – Frequência máxima de funcionamento
Tmin – Período mínimo que respeita todos as restrições temporais impostas por cada componente
Fmax = 1/(Tua+Tuf+Tlc)
Tua – Restrição temporal imposta pela UA
Tuf – Restrição temporal imposta pela UF
Tlc – Restrição temporal impostas pela lógica combinatória adicional
Unidade de Processamento:
Temporizações
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
41
Arquitectura de ComputadoresUnidade de ProcessamentoMicroprocessadores
Unidade de Processamento
Tua – Restrição temporal imposta pela UA
Não considerando, para já, a geração dos sinais de controlo, a contribuição da UA para a definição do período do sinal de relógio corresponde, por um lado, ao caminho dos dados que inclui o tempo de propagação nos registos e o tempo de propagação nos MUXs e, por outro lado, ao caminho dos sinais de controlo correspondentes à geração do sinal de load. Estes 2 caminhos são concorrentes na determinação do período máximo devendo ser considerada a situação mais desfavorável.
UP: Unidade de Armazenamento
Temporizações
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
42
Arquitectura de ComputadoresUnidade de ProcessamentoMicroprocessadores
Unidade de ProcessamentoUP: Unidade Funcional (1) –Unidade Aritmética
Temporizações
Tuf – Restrição temporal imposta pela UF
Neste caso há que considerar a situação mais desfavorável para a propagação do sinal ao nivel dos vários circuitos combinatórios: Unidade Aritmética, Unidade Lógica e Unidade de Deslocamento.
Na Unidade Aritmética há que ter em conta a propagação do Carry ao longo do somador.
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
43
Arquitectura de ComputadoresUnidade de ProcessamentoMicroprocessadores
Unidade de Processamento
Na Unidade Lógica há que ter em conta a diferente complexidade das várias portas lógicas envolvidas.
Considerando o bloco U. Aritmetica e Lógica deve, neste caso, ser considerado o maior dos atrasos associados a estes blocos e adicionar o atraso associado ao MUX de interligação.
UP: Unidade Funcional (2) –Unidade Lógica
Temporizações
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
44
Arquitectura de ComputadoresUnidade de ProcessamentoMicroprocessadores
Unidade de Processamento
Na U. De Deslocamento há que considerar o tempo de propagação atarvés dos MUXs (1 nível de MUXs)
Em conjugação com Uarit. e Ulog deve ser considerado ainda o tempo de propagação no associado ao MUX de interligação.
UP: Unidade Funcional (2) –Unidade de Deslocamento
Temporizações
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
45
Arquitectura de ComputadoresUnidade de Processamento
Unidade de Processamento
Unidade de Armazenamento
Unidade Funcional
MUX Interligação
Registo MUXSelecção Unidade Aritmética Unidade Lógica Unidade de DeslocamentoDescodificador
......
UP: Projecto no Xilinx (Especificação e Hierarquia)
UP de 4 bitsUA com 4 Registos de 4 bits
Escrita possível em apenas um registo por cada cicloLeitura de qualquer dos registos para obter operando A e B
UF composta por UArit, ULog, UDeslOperações: A, A-B, A+B, A+1, NAND(A,B), NOR(A,B), SR(B), SL(B)Bits de Estado (Flags): C,V,N,Z
MUX de interligaçãoPermitir a selecção de uma constante em alternativa ao conteúdo do registo para o operando B. Permitir a selecção de uma palavra de memória em alternativa àsaída da UF par escrita na UA.
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
46
Arquitectura de ComputadoresUnidade de ProcessamentoMicroprocessadores
Unidade de ProcessamentoUP: Projecto no Xilinx (Esquemático de Topo)
UP de 4 bitsUA com 4 Registos de 4 bits
Escrita possível em apenas um registo por cada cicloLeitura de qualquer dos registos para obter operando A e B
UF composta por UArit, ULog, UDeslOperações: A, A-B, A+B, A+1, NAND(A,B), NOR(A,B), SR(B), SL(B)Bits de Estado (Flags): C,V,N,Z
MUX de interligaçãoPermitir a selecção de uma constante em alternativa ao conteúdo do registo para o operando B. Permitir a selecção de uma palavra de memória em alternativa àsaída da UF par escrita na UA.
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
47
Arquitectura de ComputadoresUnidade de ProcessamentoMicroprocessadores
Unidade de ProcessamentoUP: Projecto no Xilinx
(UA – Esquemático e Teste)
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
48
Arquitectura de ComputadoresUnidade de ProcessamentoMicroprocessadores
Unidade de ProcessamentoUP: Projecto no Xilinx
(UF – Esquemático e Teste)
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
49
Arquitectura de ComputadoresUnidade de Processamento
Datapath: Arquitectura Convencional vs Arquitectura Pipeline
Convencional –Unidades a funcionar sequencialmente.Pipeline – Unidades a funcionar em simultaneo.
OF – Operand FetchEX – ExecuteWB – Write Back
Pipeline oferece maior rapidez mas obriga a hardware adicional,3 estruturas de Registos.
N. Horta, IST - UTL Arquitectura de Computadores2006/2007
50
Arquitectura de ComputadoresUnidade de Processamento
Datapath: Execução de Microoperaçõesna Arquitectura Pipeline
Execução Convencional:7 x 12 = 84 ns
Execução Pipelined:9 x 5 =45 ns !!