Introdução à Arquitetura de Computadores 2014/2015 2º Teste 28 de Janeiro de 2015 1º Semestre Duração: 1h30 - O teste é sem consulta, apenas tem disponível o anexo que lhe deverá ter sido entregue com o teste. Por favor, não escreva nesse anexo e devolva-o no final do teste. - Resolva o teste no próprio enunciado, o espaço reservado para cada pergunta é suficiente para a sua resposta. Tenha em atenção que cada grupo deve ficar em folhas separadas. Utilize as costas das folhas para rascunho. - Identifique todas as folhas que entregar, folhas não identificadas não serão cotadas! - Responda ao teste com calma. Se não sabe responder a uma pergunta, passe à seguinte e volte a ela no fim. I (1,5 + 1 + 1 + 1,5 = 5 val.) 1. Considere o seguinte programa em Assembly do P3. SP_INICIAL INT_MASK_ADDR INT_MASK INT4 Inicio: Ciclo: Rotina: Número: EQU EQU EQU ... ORIG WORD ORIG MOV MOV MOV MOV ENI ... MOV MOV AND INC XOR BR.Z ... PUSH MOV XOR MOV POP RTI FDFFh FFFAh 0010h FE04h Rotina 0000h R7, SP_INICIAL SP, R7 R7, INT_MASK M[INT_MASK_ADDR], R7 R1, 1 R2, R0 R1, R1 R2 R0, R0 Ciclo R1 R1, M[SP+3] R1, 8h M[SP+3], R1 R1 Nome: 1 a) Em que situação é que a execução do programa saí do ciclo Ciclo? b) O que se alteraria em termos de funcionalidade se em vez da instrução XOR R1, 8h estivesse XOR R1, 18h? Número: Nome: 2 c) Indique, usando instruções ou pseudo-instruções Assembly do P3, o que teria que ser acrescentado ou alterado no programa para que a rotina Rotina fosse executada com um período de 60s. 2. Considere agora os seguintes valores para os registos do processador P3: R1 1AB2h R2 1102h R3 1217h R4 415Fh R5 0000h R6 FFFFh R7 C00Ch PC 1102h SP FDA0h RE 0010h Na execução da instrução OR M[R1+1400h], R6, indique na tabela seguinte qual é a sequência de acessos à memória, especificando o valor do barramento de endereços, do barramento de dados e tipo de acesso (leitura/escrita). - a tabela tem 5 posições, utilize apenas as que achar necessárias; - use notação hexadecimal; - use ? para indicar que não tem informação suficiente para determinar um dado valor. Endereço Dados Leitura/Escrita 1 2 3 4 5 Número: Nome: 3 II (2 val.) 1. Indique na tabela seguinte quais as micro-operações realizadas pela micro-instrução 00083B9Eh. Operações realizadas (em RTL): NOTA1: Utilize apenas as posições da tabela que considere necessárias. NOTA2: cunho a abaixo. 1 26 25 24 23 22 21 FM 20 19 CALU 18 17 16 15 14 MA MB M2 13 12 11 10 RB 9 8 7 MCOND CC LI LF 5 WM WR LS 6 MD 4 MAD M5 27 MRB 0 28 IAK 29 SR2 30 SR1 31 Pode usar como rastabela disponibilizada 3 2 1 0 RAD CONST/NA Zona de rascunho para a pergunta Número: Nome: 4 III (1,5 + 1 + 1 + 1,5 + 1 = 6 val.) Considere um sistema de memória virtual paginada com um só nível de tabelas de páginas. Neste sistema, o espaço de endereçamento virtual é de 1M palavras, o espaço físico tem 64K palavras e a página tem 1K palavras. a) Indique a estrutura do endereço virtual (nome e bits ocupados por cada campo do endereço). b) Qual é o número máximo de páginas do espaço de endereçamento físico? Justifique sucintamente. c) Quantas páginas físicas ocupa a tabela de páginas, dado que cada entrada na tabela de páginas ocupa uma palavra? Justifique sucintamente. Número: Nome: 5 d) Em que índice da tabela de páginas está armazenado o descritor do endereço físico correspondente ao endereço virtual B34F2h (indique o valor em hexadecimal)? Justifique sucintamente. e) Qual é o número mínimo de páginas físicas que devem estar disponíveis na memória primária para executar sem faltas de página a sequência de acessos indicada à direita? Justifique sucintamente. (F – instruction fetch, R – read data, W – write data.) tipo F R F F F F F F W F F F F F Número: Nome: endereço 8010 1000 8011 8012 8013 8014 8017 8018 2000 8019 801A 801B 801C 801D 6 IV (2 + 2 = 4 val.) 1. Considere comunicação séria assíncrona e que pretende transmitir os dados A8h e C3h, transmitindo o bit menos significativo inicialmente, 8 bits de cada vez, paridade impar e um stop bit. Qual a sequência de bits enviada (da esquerda para a direita)? 2. Considere o esquema de comunicação da pergunta anterior e um ritmo de transmissão de 10000 bps. Quanto tempo necessita para transmitir 1024 bytes de informação? Número: Nome: 7 V (3 val.) Indique se as seguintes afirmações são verdadeiras ou falsas. (cada pergunta certa +0,5 val.; cada pergunta errada -0,5 valores; o valor mínimo do grupo é 0) Excepto se houver indicação contrária, todas as perguntas são relativas ao caso concreto do proces- sador P3. a) Um sistema que possua um processador só com uma entrada de interrupção só pode tratar um periférico por interrupção e os demais por polling. Verdadeiro Falso b) Uma transferência de dados memória/periférico efectuada por interrupção é normalmente mais eficiente que uma transferência efectuada por DMA Verdadeiro Falso c) Um sistema que possui 16 linhas de entrada e 8 linhas de saída permite ler um teclado que tenha 130 teclas. Verdadeiro Falso d) As memórias RAM servem apenas para guardar dados e não podem conter código. Verdadeiro Falso e) Numa cache, quanto maior o tamanho do bloco melhor se tira partido da localidade temporal dos programas. Verdadeiro Falso f ) Um dos bits de controlo de uma cache write-back é o dirty bit. Verdadeiro Número: Nome: Falso 8