Implementação Multi-Ciclo
|
|
|
- Betty Beppler Brás
- 10 Há anos
- Visualizações:
Transcrição
1 Implementação Multi-Ciclo Fernando Moraes 09/10/2006 Última alteração - Ney Calazans, 05/06/2012
2 Reg1 Reg2 Reg n-1 Reg n IMPLEMENTAÇÃO MULTI-CICLO Cada estágio realiza uma parte do trabalho Registradores usados para isolar os resultados são as chamadas barreiras temporais Estágio 1 Estágio n-1 Entradas CC 1 CC n-1 Saídas A Relógio
3 Primeiro estágio Comum a todas as instruções Incrementa o PC Armazena instrução no IR NPC é novo registrador Porquê existe? Um motivo: não gerar transitórios em saltos Ver especificação das instruções! PC 4 + de Instruções inc_pc pc = i_ instruction NPC IR
4 Segundo estágio Comum para todas as instruções Leitura do Banco de Registradores eterminação da constante imediata IR M M4 R AdRS AdRT AdR wreg R1 R2 Controle de escrita no banco de registradores. iscutido no último estágio 0-extend S-extend S-extend * & IR[25:0] & 00 M5 cte_im IME
5 Segundo estágio Controle do multiplexador M3 etermina o endereço do primeiro registrador a ser lido ads <= IR(20 downto 16) when uins.i=ssll or uins.i=ss or uins.i=ssrl else IR(25 downto 21); IR M3 M4 R AdRS AdRT AdR 0-extend S-extend S-extend * & IR[25:0] & 00 wreg M5 R1 R2 cte_im IME Porque M3 é necessário? evido às instruções de deslocamento (sll,...) e IME compartilham uma entrada da ULA (ver Terceiro estágio) As instruções de deslocamento usam a constante para especificar a quantidades de bits a deslocar Logo, o registrador fonte, que está nos bits, deve ser lido e gravado em
6 Segundo estágio Multiplexador M5 IR etermina o valor do dado imediato (constante) M3 M4 R AdRS AdRT AdR wreg R1 R2 0-extend S-extend S-extend * & IR[25:0] & 00 M5 cte_im IME Pseudo-código VHL cte_im <= sign-extend(29 downto 0) & "00" when inst_branch='1' else "0000" & IR(25 downto 0) & "00" when uins.i=j or uins.i=jal else x"0000" & IR(15 downto 0) when uins.i={ani,ori,xori} else sign-extend;
7 Terceiro estágio Comum a todas as instruções Realiza a operação com a ULA etermina um flag (salta) que indica se a condição de uma instrução de salto é verdadeira ou não npc R1 R2 op1 M6 op2 M7 A L U uins.i outalu LU IME cte_im IME C o m p salta
8 Terceiro estágio Controle do multiplexador M6 op1 <= npc when inst_branch='1' else ; npc R1 R2 cte_im IME IME op1 M6 op2 M7 A L U uins.i C o m p outalu salta LU uando é uma instrução de salto condicional, a ULA determina o endereço do salto somando o valor do PC à constante imediata
9 Terceiro estágio Controle do multiplexador M7 op2 <= when i={au, SUBU, AN, OR, XOR, NOR, SLTU, SLT, JR, SLLV, SV, SRLV} else IME; npc R1 R2 M6 M7 op1 op2 A L U uins.i outalu LU cte_im IME IME C o m p salta
10 Terceiro estágio Comparador salta <= '1' when ( (= and uins.i=be) or (>=0 and uins.i=bgez) or (<=0 and uins.i=blez) or (/= and uins.i=bne) ) else '0'; O valor poderia ser armazenado em um flip-flop npc R1 R2 op1 M6 op2 M7 A L U uins.i outalu LU cte_im IME IME C o m p salta
11 uarto estágio Utilizado apenas pelas instruções LW/LB/SW/SB Leitura (LB/LW) Valor endereçado pelo registrador LU é lido da memória de dados e escrito no registrador MR Valor endereçado pelo registrador LU recebe o conteúdo do registrador quando for instrução de escrita ce rw outalu LU de ados M3 x & [7:0] MR_int MR
12 uarto estágio Acesso a byte Load Byte: na instrução LBU, grava-se em MR o byte menos significativo (LSB) e coloca-se em zero os 3 bytes mais significativos (MSBs com x ) ce rw outalu LU de ados M3 x & [7:0] MR_int MR Store Byte (instrução SB): a memória seleciona o byte a ser escrito
13 uinto estágio Estágio que conclui a execução de uma determinada instrução enomina-se em inglês write-back epende da instrução corrente M1 4 + inc_pc NPC M2 PC de Instruções IR M M4 R AdRS AdRT AdR wreg R1 R2 outalu C o m p LU salta de ados ce rw MR M9
14 uinto estágio Instruções lógico-aritméticas O resultado da operação da ALU é escrito no banco de registradores O valor do NPC (PC incrementado de 4) é escrito no PC M1 4 + inc_pc NPC M2 PC de Instruções IR M M4 R AdRS AdRT AdR wreg R1 R2 outalu LU de ados ce rw MR M9
15 uinto estágio Instruções LW/LB Valor armazenado em MR é escrito no banco de registradores O valor do NPC (PC incrementado de 4) é escrito no PC M1 4 + inc_pc NPC M2 PC de Instruções IR M M4 R AdRS AdRT AdR wreg R1 R2 outalu LU de ados ce rw MR M9
16 uinto estágio Instruções de salto incondicional J / JR PC recebe valor contido no registrador Ralu M1 4 + inc_pc NPC M2 PC de Instruções IR M M4 R AdRS AdRT AdR wreg R1 R2 outalu LU de ados ce rw MR M9
17 uinto estágio Instruções de salto condicional O PC pode receber o NPC ou o endereço destino, calculado na ULA O controle do mux M1 é a saída do comparador M1 4 + inc_pc NPC M2 PC de Instruções IR M M4 R AdRS AdRT AdR wreg R1 R2 outalu C o m p LU salta de ados ce rw MR M9
18 uinto estágio Instruções JAL (Jump and Link) O PC recebe o endereço da rotina O registrador $ra (endereço recebe o NPC (PC+4, o endereço de retorno da subrotina) M1 4 + inc_pc NPC M2 PC de Instruções IR M M4 R AdRS AdRT AdR wreg R1 R2 outalu LU C o salta m p de ados ce rw MR M9 ENEREÇO 31 ($ra)
19 uinto estágio Multiplexadores de quinto estágio dtpc <= result when (inst_branch='1' and salta='1') or i={j,jal,jalr,jr}else npc; M1 4 + inc_pc NPC M2 result <= MR when i={lw,lbu} else LU; RIN <= npc when (uins.i=jalr or uins.i=jal) else result; PC de Instruções IR M M4 Ad R AdRS AdRT AdR wreg R1 R2 op1 op2 A L U uinst.i outalu C o m p salta LU de ados ce rw MR M9 ad <= 31 when uins.i=jal else IR(15 downto 11) when i={au, SUBU, AN, OR, XOR, NOR, SLTU, SLT, JALR, desloc} else IR(20 downto 16);
20 Bloco de dados - quase completo M1 4 + inc_pc NPC M2 NPC PC PC de Instruções IR M M4 R AdRS AdRT AdR wreg R1 R2 op1 M3 op2 M4 A L U uinst.i outalu LU de ados ce rw MR M ext0 ext16 ext16 & & IR[25:0] & 00 M5 cte_im Imed C o m p salta
21 Principais iferenças MIPS: monociclo X multiciclo Registradores temporários para isolar estágios: IR, NPC,,, IME, LU, MR Bloco de controle (BC) como sinais de controle devem ser gerados em ciclo específico da instrução, o BC deixa de ser combinacional e passar a ser uma máquina de estados finita Atualização do PC adiada para o fim da instrução. Porquê? Novos multiplexadores sem relação com monomulticiclo, conseqüência de a versão multiciclo ser mais completa no suporte à arquitetura MIPS
22 Execução ciclo de a ciclo de (lógico-aritméticas-r) Primeiro ciclo: busca da operação (fetch) M1 4 + inc_pc NPC M2 NPC PC de Instruções IR M M4 R AdRS AdRT Adr wreg R1 R2 op1 M6 op2 M7 A L U uinst.i outalu LU de ados ce rw MR M9 result ext0 ext16 ext16 & & IR[25:0] & 00 M5 cte_im Imed C o m p salta
23 Execução ciclo de a ciclo de (lógico-aritméticas-r) Leitura dos registradores M1 4 + inc_pc NPC M2 NPC PC PC de Instruções IR M M4 R AdRS AdRT AdR wreg R1 R2 op1 M6 op2 M7 A L U uinst.i outalu LU de ados ce rw MR M9 result ext0 ext16 ext16 & & IR[25:0] & 00 M5 cte_im Imed C o m p salta
24 Execução ciclo de a ciclo de (lógico-aritméticas-r) Terceiro ciclo: operação com a ULA M1 4 + inc_pc NPC M2 PC NPC PC de Instruções IR M M4 R AdRS AdRT AdR wreg R1 R2 op1 M6 op2 M7 A L U uinst.i outalu LU de ados ce rw MR M9 result ext0 ext16 ext16 & & IR[25:0] & 00 M5 cte_im Imed C o m p salta
25 Execução ciclo de a ciclo de (lógico-aritméticas-r) uarto ciclo: atualiza PC e atualiza o banco de registradores M1 4 + inc_pc NPC M2 NPC PC PC de Instruções IR M M4 R AdRS AdRT AdR wreg R1 R2 op1 M6 op2 M7 A L U uinst.i outalu LU de dados ce rw MR M9 result ext0 ext16 ext16 & & IR[25:0] & 00 M5 cte_im Imed C o m p salta
26 ULA ALU library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; use IEEE.std_logic_arith.all; use work.p_mr2.all; Atenção: operações sem sinal entity alu is port( op1, op2 : in reg32; outalu : out reg32; op_alu : in inst_type ); end alu; OP1 OP2 outalu architecture alu of alu is signal menoru, menors : std_logic ; begin menoru <= '1' when op1 < op2 else '0'; op_alu COMPAÇÃO sem sinal menors <= '1' when ieee.std_logic_signed."<"(op1, op2) else '0' ; -- signed Observar uso do tipo inst_type na entity COMPAÇÃO com sinal redefinição do operador <
27 ULA Obervar: uso de concatenação nos SLTxx operações de deslocamento outalu <= op1 - op2 when op_alu=subu else op1 and op2 when op_alu=aan or op_alu=ani else op1 or op2 when op_alu=oor or op_alu=ori else op1 xor op2 when op_alu=xxor or op_alu=xori else op2(15 downto 0) & x"0000" when op_alu=lui else (0=>menorU, others=>'0') when op_alu=sltu or op_alu=sltiu else (0=>menorS, others=>'0') when op_alu=slt or op_alu=slti else op1(31 downto 28) & op2(27 downto 0) when op_alu=j else op1 when op_alu=jr or op_alu=jalr else to_stdlogicvector( to_bitvector(op1) sll CONV_INTEGER(op2(10 downto 6))) when op_alu=ssll else to_stdlogicvector( to_bitvector(op1) srl CONV_INTEGER(op2(10 downto 6))) when op_alu=ssrl else op1 + op2; -- default end alu;
28 entity fsm is port(x, rst, ck : std_logic; Z: Máquina out std_logic); de estados end; architecture A of fsm is type STATES is (S0, S1, S2, S3); signal scurrent, snext : STATES; begin process(rst, ck) begin if rst='1' then scurrent <= S0; elsif ck'event and ck='1' then scurrent <= snext; end if; end process; process(scurrent, X) begin case scurrent is when S0 => if X='0' then Z<= 0 ; snext <= S1; else Z<= 1 ; snext <= S2; end if; when S1 => if X='0' then Z<= 1 ; snext <= S2; else Z<= 0 ; snext <= S1; end if; when S2 => if X='0' then Z<= 1 ; snext <= S2; else Z<= 0 ; snext <= S3; end if; when S3 => if X='0' then Z<= 0 ; snext <= S0; else Z<= 0 ; snext <= S1; end if; end case; end process; end A; Exercício: Máquina de Estados 1.esenhe o diagrama de transição de estados da máquina de estados finitos ao lado. 2.Trata-se de uma máquina de Moore ou Mealy? Justifique.
29 Bloco de controle do Processador Multi-Ciclo Microinstrução definida no package type microinstruction is record CY1: std_logic; -- command of the first stage CY2: std_logic; -- " of the second stage wula: std_logic; -- " of the third stage wmdr: std_logic; -- " of the fourth stage wpc: std_logic; -- PC write enable wreg: std_logic; -- register bank write enable ce: std_logic; -- Chip enable and R_W controls rw: std_logic; bw: std_logic; -- Byte-word control (mem write only) i: inst_type; -- operation specification end record;
30 Sinais de controle type microinstruction is record CY1 / CY2/ wula / wmdr / wpc / wreg ce / rw / bw i end record; 4 + inc_pc NPC ce CY1 NPC PC ce wpc PC de Instruções IR ce CY R AdRS AdRT AdR wreg wreg R1 R2 ce CY2 ce CY2 op1 op2 A L U uinst.i outalu LU ce walu de ados ce rw MR ce wmdr result ext0 ext16 ext16 & & IR[25:0] & 00 cte_im IME ce CY2 C o m p salta
31 Bloco de controle do Processador Multi-Ciclo Reset= 1 (todos os registradores do Banco são zerados) Sidle Reset= 1 Reset= 0 Sfetch CY1 Três primeiros ciclos iguais para todas as instruções Sreg CY2 walu Salu Caso geral IR=LBU/ LW IR=SB/ SW IR =J/JAL/JALR/JR /BE/ BGEZ/BLEZ/BNE Swbk wreg wpc Sld ce wmdr Sst rw 0, ce, wpc bw 0 se IR=SB Ssalta wpc wreg se IR=JAL/JALR
32 Entidade/Arquitetura do bloco de controle library IEEE; use IEEE.Std_Logic_1164.all; use work.p_mr2.all; entity control_unit is port( ck, rst : in std_logic; uins : out microinstruction; ir : in reg32 ); end control_unit; architecture control_unit of control_unit is begin type type_state is (Sidle, Sfetch, Sreg, Salu, Swbk, Sld, Sst, Ssalta); signal PS, NS : type_state; signal i : inst_type; ENUMEÇÃO PA A MÁUINA E ESTAOS
33 Primeira parte decodificação de instruções i <= AU when ir(31 downto 26)="000000" and ir(5 downto 0)="100001" else SUBU when ir(31 downto 26)="000000" and ir(5 downto 0)="100011" else AAN when ir(31 downto 26)="000000" and ir(5 downto 0)="100100" else OOR when ir(31 downto 26)="000000" and ir(5 downto 0)="100101" else XXOR when ir(31 downto 26)="000000" and ir(5 downto 0)="100110" else SSLL when ir(31 downto 21)=" " and ir(5 downto 0)=" else SSRL when ir(31 downto 21)=" " and ir(5 downto 0)="000010" else AIU when ir(31 downto 26)="001001" else ANI when ir(31 downto 26)="001100" else... JR when ir(31 downto 26)="000000" and ir(5 downto 0)="001000" else invalid_instruction ; assert i /= invalid_instruction report "******************* INVALI INSTRUCTION *************" severity error; uins.i <= i; COMPONENTE PRINCIPAL A MICROINSTRUÇÃO
34 Segunda parte escrita nos registradores / acesso memória uins.cy1 <= '1' when EA=Sfetch else '0'; uins.cy2 <= '1' when EA=Sreg else '0'; Sfetch CY1 uins.walu <= '1' when EA=Salu else uins.wmdr <= '1' when EA=Sld else '0'; '0'; SReg CY2 uins.wreg <= '1' when EA=Swbk or (EA=Ssalta and (i=jalr or i=jal)) else '0'; walu SAlu uins.wpc <= '1' when EA=Swbk or EA=Sst or EA=Ssalta else '0'; Caso geral IR = LBU/ LW IR =SB / SW IR = J / JAL JALR / JR / BE / BGEZ / BLEZ / BNE uins.rw uins.ce <= '0' when EA=Sst else '1'; <= '1' when EA=Sld or EA=Sst else '0'; Wbk wreg wpc Slw ce wmdr Ssw rw 0, ce, wpc bw 0 se IR=SB SSalta wpc wreg se IR=JAL/JALR uins.bw <= '0' when (EA=Sst and i=sb) else '1';
35 Terceira parte máquina de estados (1/2) Parte sequencial process(rst, ck) begin if rst='1' then EA <= Sidle; elsif ck'event and ck='1' then i EA CIRCUITO COMBINACIONAL PE end if; end process; if EA=Sidle then EA <= Sfetch; else EA <= PE; end if; CIRCUITO SEÜENCIAL (um registrador síncrono) ck reset
36 Terceira parte máquina de estados (2/2) Parte combinacional process(ea, i) begin case EA is when Sidle => PE <= Sidle; -- do nothing! when Sfetch => PE <= Sreg; when Sreg => PE <= Salu; when Salu => if i=lw or i=lbu then PE <= Sld; elsif i=sw or i=sb then PE <= Sst; elsif i=j or i=jalr or i=jal or i=jr or i=be or i=bgez or i=blez or i=bne then PE <= Ssalta; else PE <= Swbk; end if; when Sld => PE <= Wbk; when Sst Ssalta Swbk => PE <= Sfetch; end case; end process; end control_unit;
37 Tempo de execução de programas Calcule o tempo de execução para o programa abaixo, supondo de 50 MHZ para a organização MIPS vista main: la $t0,array la $t1,size lw $t1,0($t1) la $t2,const lw $t2,0($t2) loop: blez $t1,end lw $t3,0($t0) addu $t3,$t3,$t2 sw $t3,0($t0) addiu $t0,$t0,4 addiu $t1,$t1,-1 j loop end: j $ra Resposta: 7,2 microsegundos. array:.word 0x12 0xff 0x3 0x14 0x878 0x31 0x62 0x10 0x5 0x16 0x20 size:.word 11 const:.word 0x100
38 Fase de inicialização das variáveis 680 ns 34 ciclos de la $t0,array ANALISAR A MICROINSTRUÇÃO la lw la lw $t1,size $t1,0($t1) $t2,const $t2,0($t2)
39 Uma iteração do laço 580 ns 29 ciclos de loop: blez $t1,end lw $t3,0($t0) addu $t3,$t3,$t2 sw $t3,0($t0) addiu $t0,$t0,4 addiu $t1,$t1,-1 j loop
40 Tempo total de execução 7220 ns 361 ciclos de Início: 40 ns Início: 7260 ns
41 Exercício Cálculo do tempo de execução Considerar que deseja-se utilizar o processador MIPS como um timer. Frequência do processador: 10 MHz Tempo do timer: 1 centésimo de segundo Pede-se: escreva um laço que execute no tempo especificado pelo tempo do timer.
Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans
Prova G2 isciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans Aluno: 5/julho/213 1. (2, pontos) Abaixo é dado um código em linguagem de montagem do MIPS. iga em uma frase o que
Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans
Prova P2 isciplina: Organização Computadores Professor: Ney aert Vilar Calazans luno: 3/maio/21 Para realizar a prova, refira-se à proposta organização MIPS monociclo vista em aula. O senho da versão monociclo
Prova G2 Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans .data 0x1E20FFF9 seis palavras da memória de programa
Prova G2 Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans Aluno: 07/dezembro/2012 1. (3,0 pontos) Verdadeiro ou Falso. Abaixo aparem 10 afirmativas. Marque com V as afirmativas
datapath adrt adrd uins.i ext_sinal ext_0
Prova P2 isciplina: Organização Computadores Professor: Ney aert Vilar Calazans luno: 9/novembro/212 Para realizar a prova, refiram-se as propostas organização MIPS monociclo e multiciclo vistas em aula.
Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans lui+ori syscall 1. .text 2. main: $s0, string 3.
Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans Aluno: 30/novembro/2012 1. (4 pontos) Assumindo uma frequência de relógio de 500 MHz para a organização MIPS multiciclo
PROCESSADOR MULTICICLO MIPS-S
V 1.5 - De: 16/novembro/2013 por Ney Calazans - 1 - Organização de Computadores PROCESSADOR MULTICICLO MIPS-S 1 CARACTERÍSTICAS GERAIS DA ARQUITETURA MIPS A arquitetura MIPS é do tipo load-store, ou seja,
1. uins.ce <= '1' when i=sw or i=lw else '0'; 2. uins.rw <= '0' when i=sw else '1'; 3. uins.wreg <= '0' when i=sw else '1';
Prova P2 Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans Aluno: 4/novembro/215 Para realizar a prova, refira-se à proposta de organização MIPS monociclo vista em aula. O desenho
Arquitetura de Computadores
Universidade Federal de Santa Catarina Centro Tecnológico Curso de Pós-Graduação em Ciência da Computação Aula 2 Arquitetura do Processador MIPS: características gerais, registradores, formatos de instrução,
LABORG. Parte 5 Projeto de um circuito digital de média complexidade Parte 2. Fernando Gehm Moraes Matheus Trevisan
LABORG Parte 5 Projeto de um circuito digital de média complexidade Parte 2 Fernando Gehm Moraes Matheus Trevisan 0/maio/2015 Relógio de Xadrez 1. Em campeonatos, o xadrez é jogado usando um relógio. A
Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans
Prova P2 isciplina: Organização Computadores Professor: Ney aert Vilar Calazans luno: 12/junho/2013 Para realizar a prova, refiram-se às propostas organização MIPS monociclo e multiciclo vistas em aula.
Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans
Prova P2 isciplina: Organização Computadores Professor: Ney aert Vilar Calazans luno: 6/junho/212 Para realizar a prova, refiram-se as propostas organização MIPS monociclo e multiciclo vistas em aula.
LABORG. Parte 3 - VHDL: Processos, Paralelismo e o Comando process. Fernando Gehm Moraes Ney Laert Vilar Calazans
LABORG Parte 3 - VHDL: Processos, Paralelismo e o Comando process Fernando Gehm Moraes Ney Laert Vilar Calazans 31/março/2014 Sumário Ø Introdução Ø Processos em VHDL Ø TRABALHO A FAZER Ø A ENTREGAR 2
Arquitetura de Computadores. Linguagem de Máquina
Arquitetura de Computadores Linguagem de Máquina Ivan Saraiva Silva Formato de Instrução MAC O MIC possui dois formatos de instrução: 4 bits 12 bits Formato 1 CODOP ENDEREÇO 8 bits 8 bits Formato 2 CODOP
CIRCUITOS COMBINACIONAIS
Fundamentos de Sistemas Digitais 04/outubro/2018 CIRCUITOS COMBINACIONAIS modelagem VHDL profs. Alexandre M. Amory e Fernando G. Moraes 1 (1) (DE)CODIFICADOR Codificador é um circuito que mapeia um conjunto
Circuitos Seqüenciais
Circuitos Seqüenciais Circuitos Lógicos DCC-IM/UFRJ Prof. Gabriel P. Silva Circuitos Seqüenciais Um circuito seqüencial síncrono consiste de um circuito combinacional e uma rede de memória formada por
Organização e Arquitetura de Computadores II
Organização e Arquitetura de Computadores II Rômulo Calado Pantaleão Camara [email protected] www.univasf.edu.br/~romulo.camara 60h/02h Disciplinas Correlacionadas Programação Org. e Arq. de
MIPS_Monociclo. instruction instr add AdWP. wreg instruction. Memória de
Prova P2 Dscplna: Organzação Computadores Professor: Ney Laert Vr Cazans Aluno: 20/novembro/2018 1. [3,0 pontos] Assumndo uma frequênca relógo 200MHz para a organzação MIPS monocclo estudada em au (e com
Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans
Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans Aluno: 27/junho/2014 1. [3 pontos] Dado o programa em linguagem de montagem do MIPS abaixo, gere código objeto
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans
Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans Aluno: 26/junho/2013 1. (4 pontos) Assumindo uma frequência de relógio de 500 MHz para a organização MIPS multiciclo
LABORG. VHDL Máquina de estados finitos
LABORG VHDL Máquina de estados finitos Sumário Introdução TRABALHO A FAZER A ENTREGAR 2 Na aula anterior vimos: Introdução VHDL pode ser vista não como uma, mas como várias linguagens modelagem/simulação/síntese
Projeto de Circuito Combinacional
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I Projeto de Circuito Combinacional Unidade Lógica e Aritmética (ULA) prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno 2 / 12 ULA Unidade
Sistemas Processadores e Periféricos Aula 5 - Revisão
Sistemas Processadores e Periféricos Aula 5 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão
12/11/13. Obje%vos do laboratório. SST20707 Síntese de Sistemas de Telecomunicações. Síntese de máquinas de estado (FSM) Finite State Machine (FSM)
Instituto Federal de Santa Catarina Área de Telecomunicações SST20707 Síntese de Sistemas de Telecomunicações Prof. Roberto de Matos Aviso de direitos Autorais: Transparências baseadas no trabalho do Prof.
Número de Linha. Código objeto
Prova P4/PS Disciplina: Organização de Computadores-EC Professor: Ney Laert Vilar Calazans Aluno: 25/novembro/2015 1. [3 pontos] Dado o trecho de programa em linguagem de montagem do MIPS abaixo, gere
CIRCUITOS SEQUENCIAIS parte 2 Máquina de Estados Finita (FSM)
Fundamentos de Sistemas Digitais 3/outubro/28 CIRCUITOS SEQUENCIAIS parte 2 Máquina de Estados Finita (FSM) profs. Alexandre M. Amory e Fernando G. Moraes Máquina de estados finita (FSM) Uma máquina de
VHDL - VHSIC Hardware Description Language. Exemplo prático. Raiz Quadrada
VHDL - VHSIC Hardware Description Language Exemplo prático Raiz Quadrada Exemplo de um circuito completo Descrição de um circuito que realiza a raiz quadrada de um número natural; Obtenção de um modelo
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Caminho de Dados Slide 1 Sumário Introdução Convenções Lógicas de Projeto Construindo um Caminho de Dados O Controle da ULA Projeto da Unidade de Controle Principal
FSM em VHDL e Verificação Funcional. CMP de junho de 2006
FSM em VHDL e Verificação Funcional CMP 238 20 de junho de 2006 Máquina de Estados: exemplo Reset= S0 S S3 X= S2 Descrição em VHDL library IEEE; use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL;
instruction uins.i add AdWP instruction Memória de ext_sinal ext_0
Prova P2 Disciplina: Organização Computadores Professor: Ney Laert Vilar Calazans Aluno: 18/novembro/2016 Para realizar a prova, refira-se à proposta organização MIPS monociclo vista em aula. O diagrama
Arquitetura de Computadores. Assembly Miscelâneas. Mário O. de Menezes. http://www.tf.ipen.br/~mario
Arquitetura de Computadores Assembly Miscelâneas Mário O. de Menezes http://www.tf.ipen.br/~mario AC Mário O. de Menezes 1 Lembrando Instruções Lógicas e Shift operam em bits individuais, diferente de
Disciplina: Organização de Computadores Professor: Ney Laert Vilar Calazans
Prova P2 Disciplina: Organização Computadores Professor: Ney Laert Vilar Calazans Aluno: 16/junho/2017 Para realizar a prova, refira-se à proposta organização MIPS monociclo vista em aula. O diagrama blocos
Aula 14: Instruções e Seus Tipos
Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos
O diagrama ASM contém dois elementos básicos: o bloco de estado e o bloco de decisão.
14 3.2 Projeto da Unidade de Controle (VHDL) 3.2.1 Diagrama ASM (Algorithmic State Machine) ASM é um fluxograma através do qual se representa a seqüência de ações que a unidade de controle de um sistema
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Aula 5-P Processos em VHDL. Comandos de atribuição em VHDL:
Descreva em VHDL, simule no simulador logico e sintetize usando uma ferramenta de CAD para FPGA :
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMATICA LISTA DE EXERCÍCIOS DE SISTEMAS DIGITAIS Prof. Fernanda Gusmão de Lima Kastensmidt E Marcelo Porto (aluno mestrado PPGC) Descreva em VHDL,
Circuitos Seqüenciais
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I Circuitos Seqüenciais Contadores prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno 2 / 8 Introdução Contadores são circuitos de natureza
Fundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno
Fundamentos de Sistemas Digitais Lógica Sequencial Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno 2 Referências Sugiro estudarem nesta ordem de preferência: Floyd, Cap 7 até 7.4, 9, 10. Não tem
- Arquitetura de sistemas digitais- Cap 1 - Introdução
- Arquitetura de sistemas digitais- Cap 1 - Introdução Prof. Alan Petrônio - www.ufsj.edu.br/alan - 2012 Conteúdos/propósitos deste capítulo: 1.1 - Relembrando conceitos 1.2 - Arquitetura de computadores
MODOS DE ENDEREÇAMENTO
UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO MODOS DE ENDEREÇAMENTO MARINGÁ 2014 SUMÁRIO 6 MODOS DE ENDEREÇAMENTO...2 6.1 ENDEREÇAMENTO
VHDL Lógica Síncrona. Sinais de Saída. Sinais de Entrada. barreira. carg. VHDL -Lógica Síncrona
VHDL Lógica Síncrona Circuitos combinacionais respondem a estímulos com um atraso que depende de sua implementação Para sincronizar subsistemas em lógica combinacional utiliza-se barreiras temporais, que
MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS
Datapath do MIPS MIPS Implementação Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS Instruções de leitura (load lw) e de escrita (store sw) Instruções aritméticas e lógicas
VHDL. Descrição e Projeto de Circuitos Utilizando VHDL
VHDL Descrição e Projeto de Circuitos Utilizando VHDL O projeto de circuitos digitais de forma automatizada se tornou prática industrial comum. As principais vantagens são : Portabilidade de tecnologia
Pipelining - analogia
PIPELINE Pipelining - analogia Pipelining OBJECTIVO: Aumentar o desempenho pelo aumento do fluxo de instruções Program execution Time order (in instructions) lw $1, 100($0) Instruction fetch ALU Data access
CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE
CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE Introdução Uma implementação MIPS básica Sinopse da implementação Sinais de controle Multiplexadores (muxes) Implementação monociclo Metodologia de clocking Construindo
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
Linguagem de programação Linguagem de Alto Nível próximo ao ser humano, escrita de forma textual. Ex: if (a==b) a=b+c; Linguagem de Montagem (Assembly) próximo à linguagem de máquina, escrita em códigos
Exercícios de Fixação
Exercícios de Fixação Para entregar em 07/02/2013 Exercício I Implemente o circuito de seis portas lógicas abaixo em VHDL; Crie um projeto com o simulador Modelsim que contenha o par entidade-arquitetura
Sistemas Processadores e Periféricos Aula 2 - Revisão
Sistemas Processadores e Periféricos Aula 2 - Revisão Prof. Frank Sill Torres DELT Escola de Engenharia UFMG Adaptado a partir dos Slides de Organização de Computadores 2006/02 do professor Leandro Galvão
Implementação de um Sistema Digital em VHDL Cronômetro para Jogos de Basquete
- 1 - V 1.0 - De: 02/maio/2012 por Ney Calazans Laboratório de Organização de Computadores-EC V 3.2 - De: 21/abril/2013 por Fernando Gehm Moraes e Ney Calazans Implementação de um Sistema Digital em VHDL
Registradores. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva
Registradores Circuitos Lógicos DCC-IM/UFRJ Prof. Gabriel P. Silva 2 Registradores Conjunto de elementos de memória (flip-flops ou latches) utilizados para armazenar n bits. Utilizam um único sinal de
Organização de Computadores 1
Organização de Computadores 1 5 CONJUNTO DE INSTRUÇÕES Prof. Luiz Gustavo A. Martins Introdução O que é um conjunto de instruções? Coleção completa das instruções que a CPU é capaz de executar (entende).
SSC0114 Arquitetura de Computadores
SSC0114 Arquitetura de Computadores 3ª Aula Arquitetura MIPS: ISA, Formato das instruções e Modos de endereçamento MIPS Monociclo: Caminho de Dados e Unidade de Controle Profa. Sarita Mazzini Bruschi [email protected]
CIRCUITOS SEQUENCIAIS parte 1
Fundamentos de Sistemas Digitais 21/outubro/2018 CIRCUITOS SEQUENCIAIS parte 1 profs. Alexandre M. Amory e Fernando G. Moraes 1 Referências Sugiro estudarem nesta ordem de preferência: Floyd, Cap 7 até
Computadores de Programação (MAB353)
Computadores de Programação (MAB353) Aula 6: 27 de abril de 2010 1 Recaptulando operações já estudadas Operações lógicas 2 3 Exercícios Referências bibliográficas Recaptulando operações já estudadas Operações
VHDL Circuitos Combinacionais
VHDL Circuitos Combinacionais Neste módulo será feita uma revisão de circuitos combinacionais introduzindose alternativas representações em VHDL Uma descrição VHDL, de forma geral, pode seguir uma das
Curso Superior de Sistemas de Telecomunicações Unidade São José. Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase
Curso Superior de Sistemas de Telecomunicações Unidade São José Disciplina: Síntese de Sistemas de Telecomunicações 7º Fase Bases tecnológicas Dispositivos Lógicos Programáveis. Introdução à Tecnologia
low): Descreve o que o sistema deve fazer utilizando expressões lógicas.
Descrição por fluxo de dados (Data Data-Flow low): Descreve o que o sistema deve fazer utilizando expressões lógicas. Descrição estrutural: Descreve como é o hardware em termos de interconexão de componentes.
Paralelismo a Nível de Instrução
Paralelismo a Nível de Instrução É possível obter maior desempenho computacional com: tecnologias mais avançadas, tais como circuitos mais rápidos; melhor organização da CPU, tais como o uso de múltiplos
Módulo 4 Introdução ao VHDL
1 Módulo 4 Introdução ao VHDL Conceitos básicos do VHDL Modelação, Simulação e Síntese de Sistemas Digitais entity declara o interface de um componente; architecture descreve a realização de um componente;
Acetatos de apoio às aulas teóricas
Microprocessadores e Aplicações Acetatos de apoio às aulas teóricas Ana Cristina Lopes Dep. Engenharia Electrotécnica http://orion.ipt.pt [email protected] Ana Cristina Lopes, 24 de Outubro de 2004 Microprocessadores
O Processador: Caminho de Dados e Controle
22 Capítulo 3 O Processador: Caminho de Dados e Controle O desempenho de um computador é determinado por três fatores principais: o número de instruções executadas, o período do clock e o número de ciclos
Os sistemas combinacionais a saída depende exclusivamente das condições das entradas, portanto o sistema não possui memória interna.
AULA 1 Introdução aos Sistemas Seqüenciais pg. 111 a 117 1. SISTEMAS COMBINACIONAIS Os sistemas combinacionais a saída depende exclusivamente das condições das entradas, portanto o sistema não possui memória
Descrição e Projeto de Circuitos Utilizando VHDL
Descrição e Projeto de Circuitos Utilizando VHDL O projeto de circuitos digitais de forma automatizada se tornou prática industrial comum. As principais vantagens são : Portabilidade de tecnologia Melhor
Introdução à Arquitetura de Computadores
1 Introdução à Arquitetura de Computadores Hardware e software Organização de um computador: Processador: registradores, ALU, unidade de controle Memórias Dispositivos de E/S Barramentos Linguagens de
Arquitetura de Computadores I
Arquitetura de Computadores I Pipeline -- Conflito de dados paradas e adiantamentos -- Conflito de controle detecção de desvios e descarte de instruções -- Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno
Capítulo 3 Aula 8. Representação Numérica. Aritmética Computacional Representação Numérica
Universidade de Brasília Instituto de Ciências Exatas Departamento de Ciências da Computação Capítulo 3 Aula 8 Aritmética Computacional Representação Numérica 1 Representação Numérica Base binária (base
Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios
Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios 1) Explore conversões de números a partir de números binárias com sinal e sem sinal para decimal:
Relembrando desempenho...
Parte 5 OBS: Essas anotações são adaptações do material suplementar (apresentações PPT) ao Livro do Hennessy e Patterson, 2ª e 3ª Ed. e do Livro do 5ª Ed. A parte final do material corresponde às aulas
MIPS. Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio [email protected]
MIPS Prof. Carlos Bazilio http://www.ic.uff.br/~bazilio [email protected] Introdução Plataforma projetada da parceria entre NEC, Nintendo, Silicon Graphics e Sony Possui um conjunto de instruções que e
Tipos enumerados definem uma lista de valores, e são especialmente úteis na
Usando a palavra reservada TYPE é possível definir tipos personalizados. Por exemplo, pode-se definir tipos enumerados (Enumerated) e tipos compostos (Array). Tipos enumerados definem uma lista de valores,
Sistemas Lógicos II. Aula 10
Sistemas Lógicos II Aula 10 1 2 rbh rbl wbh wbl Arquitectura Corrente + IPC Increment Program Counter Transfer from PC - TPC Transfer from IR - TIRH Transfer from IR - TIRL Transfer from C - TC rch rcl
RISC simples. Aula 7. 31 de Março de 2005 1
RISC simples Aula 7 31 de Março de 2005 1 Estrutura desta aula Principais características dos processadores RISC Estrutura de um processador (MIPS) sem pipeline, de ciclo único O datapath ou circuito de
Conjunto de. Instrução MIPS. Parte II. Instruções MIPS. Instruções MIPS. Instruções MIPS :: Instruções lógicas. :: Instruções lógicas
Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE Conjunto de Pae II Transferência de Dados Lógicas Controle Supoe a procedimentos Prof. Sérgio Adaptado dos slides de Sistemas Processadores
Componentes do Computador e. aula 3. Profa. Débora Matos
Componentes do Computador e modelo de Von Neumann aula 3 Profa. Débora Matos O que difere nos componentes que constituem um computador? Princípios básicos Cada computador tem um conjunto de operações e
Organização e Arquitetura de Computadores I
Organização e Arquitetura de Computadores I Pipeline Slide 1 Pipeline Pipeline Hazards: Hazards Estruturais Hazards de Dados Hazards de Controle Organização e Arquitetura de Computadores I Caminho de Dados
Arquitectura de Computadores
Arquitectura de Computadores Prof. Doutora Ana Isabel Leiria Ano Lectivo 2004/05 Prof. Doutora Margarida Madeira e Moura Eng. António Rosado Ano lectivo 2005/06 Pág. 1 Guias das aulas práticas 1. INTRODUÇÃO
Registradores na Arquitetura MIPS. 29/4/2016 MIPS - Instruction Set Architecture
Registradores na Arquitetura MIPS 29/4/2016 MIPS - Instruction Set Architecture 1 Mapa de Memória da Arq. MIPS 2 GB 2 GB 256 MB 64 KB 2 GB 64 KB 256 4 MB 4 MB 29/4/2016 MIPS - Instruction Set Architecture
Eletrônica Digital para Instrumentação
G4 Eletrônica Digital para Instrumentação Prof. Márcio Portes de Albuquerque ([email protected]) Prof. Herman P. Lima Jr ([email protected]) Centro Brasileiro de Pesquisas Físicas Ministério da Ciência e Tecnologia
Marcos da Arquitetura de Computadores (1)
Marcos da Arquitetura de Computadores (1) Marcos da Arquitetura de Computadores (2) Gerações de computadores Geração Zero Computadores Mecânicos (1642 1945) Primeira Geração Válvulas (1945 1955) Segunda
IMPLEMENTAÇÕES POR EQUAÇÃO DE ESTADOS E DE SAÍDA DOS MODELOS DE MEALY E DE MOORE 1 BIT POR ESTADO.
SISTEMAS DIGITAIS Módulo 06 - Prof. Luís Caldas www.luiscaldas.com.br IMPLEMENTAÇÕES POR EQUAÇÃO DE ESTADOS E DE SAÍDA DOS MODELOS DE MEALY E DE MOORE 1 BIT POR ESTADO. 1.) Introdução: Quando o número
Computador Cleópatra
ORGNIZÇÃO E RQUITETUR DE COMPUTDORES Computador Cleópatra Introdução a rquitetura e Programação lexandre mory Edson Moreno 2 / 9 Na ula nterior bstração em Software Programa em linguagem C Programa em
Aula 2 Semântica de VHDL
VHDL - VHSIC Hardware Description Language Aula 2 Semântica de VHDL Leonardo Augusto Casillo Ivan Saraiva Silva 2003-2 Identificadores Usados como referência a todos os objetos declarados no código. Regras:
LABORG. Parte 5 Projeto de um circuito digital de média complexidade. Fernando Gehm Moraes Matheus Trevisan
LABORG Parte 5 Projeto de um circuito digital de média complexidade Fernando Gehm Moraes Matheus Trevisan 20/janeiro/2016 Introdução O objetivo deste trabalho é especificar um módulo que deverá ser implementado
Computador: Hardware + Software
Conceitos Básicos de Arquitetura de Computadores Capítulo 3 Computador: Hardware + Software 1 Computador: Hardware + Software Aplicação (Netscape) Software Hardware Compilador Montador Processor Memory
Descrição por fluxo de dados (Data-Flow): Descreve o que o sistema deve fazer utilizando expressões lógicas.
Descrição por fluxo de dados (Data-Flow): Descreve o que o sistema deve fazer utilizando expressões lógicas. Descrição estrutural: Descreve como é o hardware em termos de interconexão de componentes. Descrição
Introdução a Sistemas Digitais
Introdução a istemas Digitais Projeto Parte de Controle e Parte Operativa Descrição em linguagem de hardware RTL Implementação ERIAL x PARALELA Parte Operativa Parte de Controle Descrição a nivel de transferencia
