Upload
dodan
View
213
Download
0
Embed Size (px)
Citation preview
Arquitectura de Computadores
Unidade Central de Processamento
Nuno Cavaco Gomes Horta
Universidade Técnica de Lisboa / Instituto Superior Técnico
Arquitectura de Computadores
Unidade Central de Processamento
Sumário
• Introdução
• Unidade de Processamento
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
2
• 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
Arquitectura de Computadores
Unidade Central de Processamento
Arquitectura Genérica de um Computador
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
3
Arquitectura de Computadores
Unidade Central de Processamento
CPU
• Arquitectura CISC
• Diagrama de Blocos
• Registos e Formatos das Instruções
• Classes de Instruções
• Modos de Enedreçamento
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
4
• Modos de Enedreçamento
• Unidade de Processamento
• Unidade de Controlo – Microprogramado
• Formato das Microinstruções
• Microsequenciador
• Descodificador de Instruções
• Microprogramação
• Arquitectura RISC
• Arquitectura Pipelined
• Outras Arquitecturas
Arquitectura de Computadores
Unidade Central de Processamento
Arquitectura CISC
• Generalidade das instruções com acesso directo à memória.
• Elevado número de modos de endereçamento (8).
• Formatos de instruções de dimensões diferentes (2).
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
5
• Instruções complexas que requerem vários ciclos de relógio para a sua
execução.
Nota: As instruções ST, LD, IN e OUT podem ser realizadas pela instrução
MOVE numa estrutura de Memory-Mapped I/O.
Arquitectura de Computadores
Unidade Central de ProcessamentoUnidade
Central de
Processamento (CPU)
Arquitectura CISCLS
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
6
Arquitectura de Computadores
Unidade Central de Processamento
CPU
• Arquitectura CISC
• Diagrama de Blocos
• Registos e Formatos das Instruções
• Classes de Instruções
• Modos de Enedreçamento
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
7
• Modos de Enedreçamento
• Unidade de Processamento
• Unidade de Controlo – Microprogramado
• Formato das Microinstruções
• Microsequenciador
• Descodificador de Instruções
• Microprogramação
• Arquitectura RISC
• Arquitectura Pipelined
• Outras Arquitecturas
Arquitectura de Computadores
Unidade Central de Processamento
Conjunto de Registos da CPU
Registos de Uso Geral: R0 a R7
Program Counter – Contador de Programa: PC
Stack Pointer – Apontador para o Stack: SP
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
8
PSR – Registo de Estado: EI, Z,N,C, V
EI – Enable Interrupt
Z – Zero
N – Signal
C – Carry
V - Overflow
Arquitectura de Computadores
Unidade Central de Processamento
Formato das Instruções (Geral)
Formato Genérico:
• OPCODE – Especificação daoperação.
• MODE e S – Utilizados nadeterminação dos endereços
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
9
determinação dos endereçosdos operandos.
• SRC e DST – Campos deEndereço dos Registos deDestino e Fonte.
• W – Segunda palavra utilizadaapenas por algumas instruçõespara especificação deendereços ou operandos.
Arquitectura de Computadores
Unidade Central de Processamento
Formato das Instruções (Zero Operandos)
Formato (Zero Operandos):
• OPCODE – IR(15:14) são 00
• OPCODE – IR(13 a 10)especificação de 16 operações,sem operandos ou comoperandos implícitos.
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
10
Arquitectura de Computadores
Unidade Central de Processamento
Formato das Instruções ( 1 Operando)
Formato (1 Operando):
•OPCODE – IR(15:14) são 01
•MODE – Modo deEndereçamemto
•S e SHA – Utilizado apenasnas operações de deslocamento,indicando o número de
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
11
indicando o número dedeslocamentos unitários (0 a15)
• DST – Pode ser utilizado nadeterminação do endereço dooperando.
Arquitectura de Computadores
Unidade Central de Processamento
Formato das Instruções (2 Operandos)
Formato (2 Operandos):
• OPCODE – IR(15:14) são 10
• S – Determina qual doscampos do endereço, S=0 –SRC e S=1 – DST, utiliza omodo de endereçamentoespecificado por MODE.
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
12
especificado por MODE.
• W – Pode ser utilizada,dependendo de MODE, comoum endereço ou operandoimediato.
Arquitectura de Computadores
Unidade Central de Processamento
Formato das Instruções (Controlo de Programa)
Formato (Controlo de Prog.):
• OPCODE – IR(15:14) são 11
• MODE – Endereçamento porregisto não utilizado. Oendereço de destinocorresponde ao novo valor doPC.
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
13
PC.
Arquitectura de Computadores
Unidade Central de Processamento
Modos de Endereçamento
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
14
MODE:
• MODE(2:1) – Especifica um dos quatro modos de endereçamento (00 – Registo; 01 –Imediato; 10 - Indexado; 11 – Relativo). No modo registo não se utiliza a palavraadicional W.
• MODE(0) – Especifica se o endereço gerado é para utilizar como endereçamentoindirecto (MODE(0) = 1).
Arquitectura de Computadores
Unidade Central de Processamento
Modos de Endereçamento
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
15
MODE ADDRESSMODE IR(15:14) = 01 or 11 IR(15:14) = 10, S=0 IR(15:14) = 10, S=1
000 Registo DEC R1 ADD R1, R2 ADD R1, R2
001 Indirecto por Registo INC M[R1] ADD R1, M[R2] ADD M[R1], R2
010 Imediato PUSH 23 MOVE R1, 1024 COMP 1024, R2
011 Directo SHR 5, M[1024] MOVE R1, M[1024] MOVE M[1024], R2
100 Indexado PUSH M[R1+256] AND R1, M[R2+22] AND M[R1+12], R2
101 Indirecto Indexado ROR M[R1+12] MOVE R1, M[M[R2+22]] MOVE M[M[R1+12]], R2
110 Relativo JMP 17 AND R1, M[PC+22] COMP M[PC+12], R2
111 Indirecto Relativo BRZ M[PC+230 ] MOVE R1, M[M[PC+22]] COMP M[M[PC+12]], R2
Nota: Na generalidade dos casos os offsets são obtidos por substituição das etiquetas e não especificados directamente no código assembly.
Arquitectura de Computadores
Unidade Central de Processamento
CPU
• Arquitectura CISC
• Diagrama de Blocos
• Registos e Formatos das Instruções
• Classes de Instruções
• Modos de Enedreçamento
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
16
• Modos de Enedreçamento
• Unidade de Processamento
• Unidade de Controlo – Microprogramado
• Formato das Microinstruções
• Microsequenciador
• Descodificador de Instruções
• Microprogramação
• Arquitectura RISC
• Arquitectura Pipelined
• Outras Arquitecturas
Arquitectura de Computadores
Unidade Central de ProcessamentoUnidade
Central de
Processamento (CPU)
Arquitectura CISCLS
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
17
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Processamento
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
18
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Processamento
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
19
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Processamento (U. Armazenamento)
INSTRUÇÃO
MICROINSTRUÇÃO
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
20
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Processamento (U. Armazenamento)
Unidade de Armazenamento:
• Registos (16 de 16 bits)
• Registos de Uso Geral (R0 a R7) – Registosvisíveis para o programador (R1 a R7utilizáveis).
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
21
utilizáveis).
• Registos Temporários (R8 a R15) –Registos para armazenamento temporário deoperandos dos microprogramas.
• R0 – Fornece a constante 0.
• R12 – Endereço de origem.
• R13 – Dado de origem.
• R14 – Endereço de destino.
• R15 – Dado para destino.
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Processamento (U. Armazenamento)
INSTRUÇÃO
MICROINSTRUÇÃO
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
22
Endereçamento: 4 bits da microinstrução para endereçamento de cada registo + 1 bit damicroinstrução para seleccionar entre estes endereços ou os da instrução.
Nota: Instrução lida de memória, Microinstrução obtida na U.C; após descodificação da Instrução.
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Processamento (U. Armazenamento)
SELECÇÃO de ENDEREÇO de
REGISTO:MICROINSTR.
ouINSTRUÇÃO
SELECÇÃO de ENDEREÇO na INSTRUÇÃO
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
23Nota: (1) Apenas um dos bits DSA4 ou SB4 pode estar a 1 de cada vez para seleccionar o campo deendereço da instrução; (2) Os bits DS3 e SB3 seleccionam qual o campo de endereços da instrução.
INSTRUÇÃO
MICROINSTRUÇÃO
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Processamento
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
24
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Processamento (U. Deslocamento)
Implementação das instruções:
SHR, SHL, SHRA, SHLA, ROR, ROL, RORC, ROLC
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
25
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Processamento (U. Deslocamento)
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
26
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Processamento (U. Deslocamento)
INSTR. S3 S2 S1 S0 SHR 0 1 0 0
SHRA 0 1 0 1
ROR 0 1 1 0
RORC 0 1 1 1
SHL 1 0 0 0
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
27
SHLA 1 0 0 1
ROL 1 0 1 0
ROLC 1 0 1 1
Nota: Os sinais deselecção S3 a S0correspondem aos bitsFS3 a FS0 de selecçãoda operação na U.Funcional.
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Processamento (U. Deslocamento)
INSTR. S3 S2 S1 S0 SHR 0 1 0 0
SHRA 0 1 0 1
ROR 0 1 1 0
RORC 0 1 1 1
SHL 1 0 0 0
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
28
SHLA 1 0 0 1
ROL 1 0 1 0
ROLC 1 0 1 1
Nota: Os sinais deselecção S3 a S0correspondem aos bitsFS3 a FS0 de selecçãoda operação na U.Funcional.
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Processamento
PC, PSR e SP –Armazenamento/Leitura em/dememória realizado via U.Processamento. (PC e SPatravés do MUX A; PSR
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
29
através do MUX A; PSRatravés do MUX B)
PSR Program Status Register– Armazena os bits de estadoentre instruções.
MSTS Microstatus Register –Armazena os bits de estadopara utilização nas rotinas domicroprograma sem alterar oPSR.
Arquitectura de Computadores
Unidade Central de Processamento
CPU
• Arquitectura CISC
• Diagrama de Blocos
• Registos e Formatos das Instruções
• Classes de Instruções
• Modos de Enedreçamento
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
30
• Modos de Enedreçamento
• Unidade de Processamento
• Unidade de Controlo – Microprogramado
• Formato das Microinstruções
• Microsequenciador
• Descodificador de Instruções
• Microprogramação
• Arquitectura RISC
• Arquitectura Pipelined
• Outras Arquitecturas
Arquitectura de Computadores
Unidade Central de ProcessamentoUnidade de
Controlo
Microprogramado
Memória de Controlo –ROM 256 palavras de31 bits.
Registos de Controlo –IR (Instruction
LS
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
31
IR (InstructionRegister), PC (ProgramCounter), SP (StackPointer).
Micro-Sequenciador –Define a sequência deoperações na UC. CAR(Control AddressRegister), SBR(Subroutine BranchRegister)
Descodificador deInstruções – Geraçãodo endereço para CAR.
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Controlo Microprogramado
Formato das Microinstruções armazemadas na memória de controlo:
DATAPATH
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
32
MC – Selecciona o formato utilizado
Formato A (MC =00, 01 ou 10) – A microinstrução realiza transferência, manipulaçãode dados, descodificação de instruções e retorno de microsubrotinas.
Formato B (MC =11) – A microinstrução permite alterar o fluxo do microprograma(call, br, etc.)
Controlo da DATAPATH (Bits 23 a 4 do Formato A)
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Controlo Microprogramado: Formato das Microinstruções (bit 23 a 4)
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
33
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Controlo Microprogramado: Microsequenciador
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
34INTS – InterruptStatus Bit
Arquitectura de Computadores
Unidade Central de ProcessamentoUnidade de Controlo Microprogramado:
Microsequenciador
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
35
Microinstruções com Formato B (MC =11) – Não afectam registos da UP.
SBR – 1 registo para armazenar retorno de Microsubrotina, implica apenas um nível de subrotinasnos Microprogramas.
ST – Gerado internamento no Microsequenciador. LS – Permite guardar em SBR o end. de retorno.
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Controlo Microprogramado: Microsequenciador
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
36
MS – Especificação do tipo de salto.
PS – Especificação do nível de activação (H ou L) do bit de teste.
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Controlo Microprogramado: Descodificador de Instruções
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
37
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Controlo Microprogramado: Descodificador de Instruções
INSTRUÇÃO
MICROINSTRUÇÃO
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
38
A utilização de diferentes valores dos campos de controlo permite aceder a diferentes endereços damemória de controlo e, portanto, permite a execução de diferentes microrotinas durante a execuçãode uma mesma instrução.
MM – Define que parte dainstrução deve serconsiderada na determinaçãodo endereço da memória demapeamento cujo conteúdoserá enviado para CAR ecorresponderá ao endereço damemória de controlo.
MR (MicroprogramRegion) – permite autilização dediferentes conjuntosde endereços para osmesmos campos deIR.
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Controlo Microprogramado
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
39
MO (MiscellaneousOperations) – Controlode operações sobrememória, PC, IR, SP,PSR e MSTS.
Arquitectura de Computadores
Unidade Central de Processamento
Fluxograma para a execuçãodas Microrotinas –
(1) Aquisição de Instruções;
• PC fornece endereço de inst.
• Inst. armazenada em IR
Estrutura do Microprograma
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
40
• Inst. armazenada em IR
• PC incrementado
(2) Aquisição de Operandos
• Descodificação da instrução
• Endereços e valores deoperandos armazenados nosregistos de R12 a R15 (SA, SD,DA e DD)
Arquitectura de Computadores
Unidade Central de Processamento
Fluxograma para a execuçãodas Microrotinas –
(3) Execução de Instruções;
• Utiliza os operandos eendereços nos registos R12 aR15 e em geral coloca o
Estrutura do Microprograma
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
41
R15 e em geral coloca oresultado em DD.
(4) Actualização de Registos;
• Coloca o resultado daoperação no destinopretendido (registo ou mem.)
.
(5) Atendimento de Interrupções.
• Após a execução de cadainstrução verifica a existênciade pedidos de interrupção.
Arquitectura de Computadores
Unidade Central de ProcessamentoMicrorotinas:
Aquisição de
Instruções
Microinstruções
IF0 e IF1
LS
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
42
Arquitectura de Computadores
Unidade Central de Processamento
Microrotinas: Aquisição de Instruções
Formato AFormato B
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
43
LS
Arquitectura de Computadores
Unidade Central de Processamento
CPU
• Arquitectura CISC
• Diagrama de Blocos
• Registos e Formatos das Instruções
• Classes de Instruções
• Modos de Enedreçamento
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
44
• Modos de Enedreçamento
• Unidade de Processamento
• Unidade de Controlo – Microprogramado
• Formato das Microinstruções
• Microsequenciador
• Descodificador de Instruções
• Microprogramação
• Arquitectura RISC
• Arquitectura Pipelined
• Outras Arquitecturas
Arquitectura de Computadores
Unidade Central de Processamento
Arquitectura RISC: Registos e Formato de Instruções
• Registos
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
45
• Formato de Instruções
Arquitectura de Computadores
Unidade Central de Processamento
Arquitectura do Conjunto de Instruções
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
46
Modos de Endereçamento
• Registo, Indirecto, Imediato e Relativo
Arquitectura de Computadores
Unidade Central de Processamento
Unidade de Controlo: Palavras de
Controlo para Instruções
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
47
Arquitectura de Computadores
Unidade Central de Processamento
Pipeline CPU
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
48
Arquitectura de Computadores
Unidade Central de Processamento
Limitações da Arquitectura Pipelined: Data and Control Hazards
Solução por Software
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
49
Arquitectura de Computadores
Unidade Central de Processamento
Limitações da Arquitectura Pipelined: Data and Control Hazards
Solução por Hardware
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
50
Arquitectura de Computadores
Unidade Central de Processamento
Limitações da Arquitectura Pipelined: Data and Control Hazards
Solução por Hardware
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
51
Arquitectura de Computadores
Unidade Central de Processamento
CPU
• Arquitectura CISC
• Diagrama de Blocos
• Registos e Formatos das Instruções
• Classes de Instruções
• Modos de Enedreçamento
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
52
• Modos de Enedreçamento
• Unidade de Processamento
• Unidade de Controlo – Microprogramado
• Formato das Microinstruções
• Microsequenciador
• Descodificador de Instruções
• Microprogramação
• Arquitectura RISC
• Arquitectura Pipelined
• Outras Arquitecturas
Arquitectura de Computadores
Unidade Central de Processamento
CPU – Arquitecturas para Aumento do Desempenho
Pipeline e Paralelismo
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
53
Arquitectura de Computadores
Unidade Central de Processamento
CPU – Arquitecturas para Aumento do Desempenho
RISC-CISC
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
54
Arquitectura de Computadores
Unidade Central de Processamento
CPU – Arquitecturas para Aumento do Desempenho
Superescalar
N. Horta, IST - UTL Arquitectura de Computadores
2006/2007
55