Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Escola de Engenharia da UFMG Departamento de Engenharia Eletrônica Sistemas Processadores e Periféricos 2a Prova – 35 pontos – 28/05/2018 Nome: GABARITO NÃO DESTAQUE AS FOLHAS DA PROVA. QUESTÃO 1: Assunto: Procedimentos e subprogramas no MIPS Em um dado procedimento é necessário salvar os registradores $s0, $s1, $s6 e $s7. Quantos bytes são necessários alocar na região da pilha para salvar o contexto? a) 4 bytes b) 8 bytes c) 12 bytes d) 16 bytes QUESTÃO 2: Assunto: Procedimentos e subprogramas no MIPS A chamada de procedimentos no MIPS é realizada única e exclusivamente com a instrução jal. Quais os passos exclusivos que a instrução jal demanda do processador para ser executada? a) Busca de instruções e decodificação b) Registrar o conteúdo de PC+4 no registrador de destino e atualizar o PC com o endereço da primeira instrução do procedimento. c) Busca de instruções e atualização do PC. d) Leitura do banco de registradores e atualização do PC. QUESTÃO 3: Assunto: Instruções de Multiplicação e Divisão em Ponto Fixo no MIPS. As instruções mult $s1, $s2 e multu $s1, $s2 são instruções de multiplicação em ponto fixo do MIPS. A primeira é usada para multiplicação de números inteiros e a segunda para multiplicação de números naturais. É correto afirmar que: a) Ambas podem gerar exceções. b) Somente a segunda instrução pode gerar exceção. c) Somente a primeira instrução pode gerar exceção. d) Nenhuma delas pode gerar exceções. 2 QUESTÃO 4: Assunto: Operações e Hardware de Multiplicação e Divisão em Ponto Fixo do MIPS. Figura 1 – Divisor em Ponto Fixo no MIPS. Supondo que em um divisor em ponto fixo (mostrado na figura 1), tenhamos o conteúdo do dividendo igual a 1010 e no registrador que acumula o divisor o valor 410. Qual o valor do registrador A ao final da primeira iteração do processo de divisão? a) 11001010 b) 11101010 c) 11111010 d) 10001010 QUESTÃO 5: Assunto: Representação de números em Ponto Flutuante IEEE-754. O valor em binário da representação do expoente deslocado do número 22,75 na notação em ponto flutuante IEEE-754 de precisão simples é igual a: a) 10000001 b) 10000010 c) 10000011 d) 10000100 QUESTÃO 6: Assunto: Faixa de representação e Precisão em Ponto Flutuante. O menor número negativo, não normalizado, capaz de ser representado na notação ponto flutuante de precisão simples? a) - (2 - 2-23) × 2127 b) - (2 - 2-23) × 2128 c) - (2 - 2-22) × 2127 d) - (2 - 2-22) × 2128 QUESTÃO 7: Assunto: Instruções de Ponto Flutuante no MIPS A instrução mul.d $f4, $f6, $f8 é uma instrução de multiplicação em ponto flutuante de dupla precisão da arquitetura MIPS. Em quais registradores essa instrução armazena o resultado? a) HI e LO b) $f4 e $f6 c) $f6 e $f8 d) $f4 e $f5 3 QUESTÃO 8: Assunto: Somador em Ponto Flutuante do MIPS. Dentre as alternativas abaixo, qual a única alternativa que contém somente operações realizadas pelo somador em ponto flutuante do MIPS. a) Subtração dos expoentes e comparação da parte fracionária. b) Comparação dos expoentes e adição da parte fracionária. c) Adição dos expoentes e comparação da parte fracionária. d) Comparação dos expoentes e deslocamento para esquerda da parte fracionária do número menor. A Figura 2 apresenta uma implementação completa da microarquitetura do MIPS ciclo único. SignImm CLK A RD Instruction Memory + 4 A1 A3 WD3 RD2 RD1 WE3 A2 CLK Sign Extend Register File 0 1 0 1 A RD Data Memory WD WE 0 1 PC0 1 PC' Instr 25:21 20:16 15:0 5:0 SrcB 20:16 15:11 <<2 + ALUResult ReadData WriteData SrcA PCPlus4 PCBranch WriteReg 4:0 Result 31:26 RegDst Branch MemWrite MemtoReg ALUSrc RegWrite Op Funct Control Unit Zero PCSrc CLK ALUControl 2:0 ALU Figura 2 - Microarquitetura MIPS ciclo único QUESTÃO 9: Assunto: Implementação do Processador MIPS no modo Ciclo Único. O caminho de dados da microarquitetura Ciclo único mostrado na figura 2 não está preparado para executar a instrução lb $s0, 3($s1). Qual das alternativas abaixo demanda a menor modificação no caminho de dados da Figura 2 para que o mesmo execute a instrução lb? a) Incluir mais um multiplexador 2x1 com entradas de 32 bits antes da entrada WD3 do Register File. b) Incluir mais um multiplexador 4x1 com entradas de 32 bits antes da entrada WD3 do Register File. c) Incluir mais um multiplexador 2x1 com entradas de 8 bits antes da entrada WD3 do Register File. d) Incluir mais um multiplexador 4x1 com entradas de 8 bits antes da entrada WD3 do Register File. QUESTÃO 10: Assunto: Implementação do Processador MIPS no modo Ciclo Único. Qual a alternativa correta que representa a configuração dos sinais de controle necessária para executar corretamente a instrução OR no caminho de dados da microarquitetura mostrada na Figura 2? a) RegWrite = ALUSrc = MemtoReg = RegDst = 1 b) RegWrite = ALUSrc = MemtoReg = RegDst = 0 c) RegWrite = 1 e ALUSrc = MemtoReg = RegDst = 0 d) RegWrite = 0 e ALUSrc = MemtoREg = RegDst = 1 User Note Questão 9nullnullJustificativa da resposta:nullnullA menor modificação no caminho de dados da Figura 2 é realizada com a inclusão de um MUX 4:1 com entradas de 32 bits (e por consequência uma única saída de 32 bits) antes da entrada WD3 do BR.nullnullnullnullA alternativa da letra D demandaria um complemento com outro MUX, pois a entrada WD3 é de 32 bits para todas as outras instruções e não de 8 bits. User Note Questão 10nullnullJustificativa da resposta:nullnullRegwrite = 1 (pois escreve no BR).nullnullALUSrc = 0 (pois é uma instrução do tipo R)nullnullMemtoReg = 0 (pois o resultado do OR vem da ALU diretamente, não passa pela Data Memory)nullnullRegDst = 1 (pois Rd vem do campo de bits 15:11 da instrução decodificada)nullnullnullnullNão existe alternativa correta, portanto está ANULADA.nullnull 4 ImmExt CLK A RD Instr / Data Memory A1 A3 WD3 RD2 RD1 WE3 A2 CLK Sign Extend Register File 0 1 0 1PC 0 1 PC' Instr 25:21 20:16 15:0 SrcB20:16 15:11 <<2 ALUResult SrcA ALUOut Zero CLK ALU WD WE CLK Adr 0 1 Data CLK CLK A B 00 01 10 11 4 CLK ENEN 00 01 10 <<2 25:0 (Addr) 31:28 27:0 PCJump 5:0 31:26 Branch MemWrite ALUSrcA RegWrite Op Funct Control Unit PCSrc CLK ALUControl 2:0 ALUSrcB 1:0IRWrite IorD PCWrite PCEn RegDst MemtoReg Figura 3 - Microarquitetura MIPS multiciclo IorD = 0 AluSrcA = 0 ALUSrcB = 01 ALUOp = 00 PCSrc = 00 IRWrite PCWrite ALUSrcA = 0 ALUSrcB = 11 ALUOp = 00 ALUSrcA = 1 ALUSrcB = 10 ALUOp = 00 IorD = 1 RegDst = 1 MemtoReg = 0 RegWrite IorD = 1 MemWrite ALUSrcA = 1 ALUSrcB = 00 ALUOp = 10 ALUSrcA = 1 ALUSrcB = 00 ALUOp = 01 PCSrc = 01 Branch Reset S0: Fetch S2: MemAdr S1: Decode S3: MemRead S5: MemWrite S6: Execute S7: ALU Writeback S8: Branch Op = LW or Op = SW Op = R-type Op = BEQ Op = LW Op = SW RegDst = 0 MemtoReg = 1 RegWrite S4: Mem Writeback ALUSrcA = 1 ALUSrcB = 10 ALUOp = 00 RegDst = 0 MemtoReg = 0 RegWrite Op = ADDI S9: ADDI Execute S10: ADDI Writeback PCSrc = 10 PCWrite Op = J S11: Jump Figura 4 – FSM da Unidade de Controle do MIPS multiciclo S0 FETCH S1 DECODE S11 JUMP S2 ENDER S6 EXEC_R S8 BRANCHS9 EXEC_I S3 MEMR S7 WB_R S5 MEMW S10 WB_I S4 WB 5 A tabela 1 apresenta a configuração do sinal ALUControl para cada tipo de situação que a microarquitetura dada é capaz de executar. Tabela 1 – Configuração de ALUControl ALUControl Significado 010 Add 110 Subtract 000 And 001 Or 111 Slt QUESTÃO 11: Assunto: Implementação do Processador MIPS Multiciclo. O caminho de dados da microarquitetura Multiciclo mostrado na figura 3 é capaz de executar qual subconjunto de instruções do MIPS? a) slt, sll, addi, lw, sw b) slt, j, add, lw, beq c) addi, slt, beq, lw, and d) addi, sll, sw, lw, or QUESTÃO 12: Assunto: Implementação do Processador MIPS Multiciclo. Quais os sinais de controle que deverão estar ativados em nível lógico 1 no estado S10? a) RegWrite e MemtoReg b) Somente RegWrite c) Somente MemtoReg d) RegWrite, MemtoReg e RegDst QUESTÃO 13: Assunto: Implementação do Processador MIPS no modo Pipeline. Dada a Figura 5, é correto afirmar que: a) Saltos incondicionais não gerarão stalls. b) Saltos condicionais não gerarão stalls. c) O caminho de dados da microarquitetura possuí previsão de desvio. d) O sinal de controle forwardAE pode ser usado para evitar conflitos de dados. QUESTÃO 14: Assunto: Controle do Processador MIPS no modo Pipeline. Qual a melhor alternativa que representa o sinal de controle flushE? a) flushE = ((rsD==rtE) OR (rtD==rtE)) AND MemtoRegE b) flushE = ((rsE==rtD) OR (rtE==rtD)) AND MemtoRegE c) flushE = ((rsE==rtD) OR (rtE==rtD)) AND not(MemtoRegE) d) flushE = ((rsD==rtE) OR (rtD==rtE)) OR MemtoRegE User Note Questão 11nullnullJustificativa:nullnullLetra (a) e letra (d) estão incorretas, pois não fazem a instrução SLL. Observem que o caminho de dados Figura 3 não faz SLL !!nullnullnullnullLetra (b) e Letra (c) estão corretas.nullnullnullnullAtribuirei os 2 pontos da questão quem marcou (b) ou (c).nullnull 6 QUESTÃO 15: Assunto: Exceções no MIPS. Uma instrução não definida no conjunto de instruções do MIPS foi buscada na memória de programa. Na fase de decodificação da instrução, o processador gerou uma exceção do tipo “instrução indefinida”. Quantos estados, no mínimo, você deveria introduzir na máquina de estados finitos da unidade de controle da Figura 4, para tratar unicamente essa exceção? a) 1 estado b) 2 estados c) 3 estados d) 4 estados QUESTÃO 16: Assunto: Microarquiteturas Superescalar. É correto afirmar sobre microarquiteturas superescalares que: a) Proporcionam CPI menores que 1 b) Proporcionam CPI iguais a 1 c) Proporcionam CPI maiores que 1 d) Nada se pode afirmar QUESTÃO 17: Assunto: Microarquiteturas Multithreading. É correto afirmar que: a) SFGM (Multithreading estática de granularidade fina) só funciona em microarquiteturas superescalares. b) DFGM (Multithreading dinâmica de granularidade fina) só funciona em microarquiteturas superescalares. c) CGM (Multithreading de granularidade grossa) só funciona em microarquiteturas superescalares. d) SMT (Multithreading simultânea) só funciona em microarquiteturas superescalares. QUESTÃO 18: Assunto: Multiprocessadores. (1 ponto) É correto afirmar que: a) Clusters são compostos por núcleos de processamento com memória individual. b) Clusters são compostos por núcleos de processamento com memória compartilhada. c) Processadores com múltiplos núcleos de processamento com memória compartilhada são chamados de multiprocessadores heterogêneos. d) Os processadores encontrados em smartphones modernos, podem ser classificados de multiprocessadores homogêneos. User Note Veja o slide 114 do conjunto de slides do capítulo 7.nullnullnullnullAceitarei quem respondeu 1 estado ou 2 estados. Já que quem respondeu 2 estados alegou que o processador precisaria de um estado a mais para recuperar o endereço de retorno armazenado em EPC de volta para o PC. O que é correto.
Compartilhar