Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:11
 CAPÍTULO 1 INTRODUÇÃO 
 RESPOSTAS PARA PERGUNTAS 
 
 1.1 Arquitetura de computadores refere-se aos atributos de um sistema visíveis a um programador, 
 ou, dito de outra forma, esses atributos que têm um impacto direto sobre a execução de um programa 
lógico. Organização do computador refere-se à operação unidades e suas interconexões que realizam as 
 especificações arquitetônicas. Exemplos de atributos arquitetônicos incluir o conjunto de instruções, o 
 número de bits usados para representar vários tipos de dados (por exemplo, números, caracteres), 
 mecanismos de E/S, e técnicas para lidar com a memóri Atributos organizacionais incluem os detalhes a)
 do hardware transparentes para o programador, tais como sinais de controle; interfaces entre o 
computador e periféricos, e a tecnologia de memória utilizad a)
 1.2 Estruturas computador refere-se ao modo pelo qual os componentes de um computador são inter-
 relacionados. A Função de um Computador refere-se à operação de cada componente individual, como 
parte da estrutura) 
1.3 Processamentos de dados, armazenamento de dados, movimentação de dados e control e)
 1.4 Unidade Central de Processamento (CPU): controla a operação do computador e executa suas 
funções de processamento de dados, muitas vezes referido simplesmente como processador. 
Memória principal: Armazena dados. 
I / O: Move dados entre o computador e sI ambiente externo. 
 A interligação do Sistema: Alguns mecanismo que prevê a comunicação entre CPU, memória principal, 
 e I / O. Um exemplo comum de um sistema de interconexão ocorre por meio de um barramento de 
sistema, que consiste num número de fios condutores a que todas as outras componentes se liga m)
1.5A unidade de controle: controla o funcionamento da CPU e, portanto, o computador. 
Unidade Lógica e Aritmética (ALU): Realiza o processamento de dados do computador funções 
Registradores: fornece armazenamento interno para a CPU. 
Interconexão CPU: Alguns dos mecanismos que prevê a comunicação entre a unidade de controle, ALU 
e registradores. 
 
 CAPÍTULO 2 - EVOLUTÇÃO DO COMPUTADOR E DESEMPENHO 
 
 RESPOSTAS PARA PERGUNTAS 
 
 2.1 Em um programa de computador armazenado, os programas são representadas numa forma adequada 
 para armazenar na memória junto com os dados. O computador recebe as instruções, lendo-as da 
memória, e um programa pode ser ajustado ou alterado para definir os valores de uma parte da memóri a)
 
 2.2 A memória principal, que armazena os dados e instruções: uma aritmética e lógica unidade (UAL) 
capaz de operar em dados binários, uma unidade de controlo, a qual interpreta as instruções na memória 
 e faz com que eles sejam executados, e entrada e saída (I / O) equipamento operado pela unidade de 
controlo. 
 
 2.3 Portas, células de memória e interconexões entre portas e células de memóri a)
 
 2.4 Moore observou que o número de transistores que podem ser colocados em um único chip foi 
 dobrando a cada ano e previu corretamente que esse ritmo vai continuar em um futuro próximo. 
 
 2.5 As Instrução definidas, semelhantes ou idênticas: Em muitos casos, o mesmo conjunto de 
 instruções de uma máquina é compatível com todos os membros da famíli Deste modo, um programa a)
 que executa em uma máquina também será executado em qualquer outra) Semelhantes ou idênticos 
 sistemas operacionais: O mesmo sistema operacional básico está disponível para toda a família 
 membros. Aumentar a velocidade: A taxa de execução de instruções aumenta de baixo para os 
 membros da família mais elevados. Vão de baixo para os Aumento do número de portas de E/S: 
 membros da família mais elevados. Ao passar de baixa para os Aumentar tamanho da memória:
 familiares mais elevados. Ao passar de baixa para os membros da família mais Aumento de custos:
elevados. 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:11
 
2.6 Em um microprocessador, todos os componentes da CPU estão em um único chip. 
 
 
 RESPOSTAS PARA OS PROBLEMAS 
 
 2.1 Este programa é desenvolvido em [HAYE98]. Os vetores de A, B, e C são cada um deles 
 armazenados em 1.000 locais contíguos na memória, começando em locais 1001, 2001, e 3001, 
 respectivamente) O programa inicia-se com a metade esquerda do local 3. Uma contagem variável N é 
 configurada para 999 e depois de cada passo decrementado até atingir -1. Assim, os vetores são 
processados a partir de um local alto para uma localização baix a)
 
Localização Instrução Comentários 
0 999 Constante (contagem N) 
1 1 Constante 
2 1000 Constante 
3L LOADM (2000) Transferir A (I) para AC 
3R ADDM (3000) Computar a (i) + B (I) 
4L StorM (4000) Transfira a soma C (I) 
4R LOAD M (0) Contagem de carga N 
5L M SUB (1) Decremento N em 1 
5R JUMP + M (6, 20:39) Teste N e ramo de 6R se não negativo 
6L JUMP M (6, 00:19) Parada 
6R STOR M (0) Atualização N 
7L ADD M (1) Incrementar AC por 1 
7R ADD M (2) 
8D STOR M (3, 8:19) Modificar endereço em 3L 
8R ADD M (2) 
9L STOR M (3, 28:39) Modificar endereço no 3R 
9R ADD M (2) 
10L STOR M (4, 8:19) Modificar endereço em 4D 
10R JUMP M (3, 00:19) Filial de 3L 
 
2.2a) 
Opcode Operando 
00000001 000000000010 
 
 b) Primeiro, a CPU deve fazer acesso de memória para buscar a instrução. A instrução contém o 
endereço dos dados que deseja carregar. Durante a fase de execução de acessos de memória para carregar 
o valor de dados localizado nesse endereço para um total de duas viagens a memóri a)
 
 2.3 Para ler um valor de memória, a CPU coloca o endereço do valor que ela quer em MAR. A CPU o 
 então ativa a linha de controle de leitura de memória e coloca o endereço no barramento de endereços. 
 Memória coloca o conteúdo da localização de memória passando-o para o barramento de dados. Esta 
 dado é então transferido para o MBR. Para escrever um valor na memória, a CPU coloca o endereço do 
 valor que ele quer escrever MAR. A CPU também coloca os dados que quer escrever no MBR. A no
 CPU então afirma na linha de controle de gravação para a memória e coloca o endereço no barramento 
 de endereços e os dados no barramento de dados. Transfere os dados da memória para o barramento de 
dados para o correspondente local de memóri a)
 
 
 
 
 
 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:11
 
2.4 
 Índice de endereços 
08A LOAD M (0FA) 
 STOR M (0FB) 
08B LOAD M (0FA) 
 JUMP + M (08D) 
08C LOAD -M (0FA) 
 STOR M (0FB) 
08D 
Este programa irá armazenar o valor absoluto do conteúdo da posição de memória 0FA na memória local 0FB) 
 2.5 Todos os caminhos de dados de / para a MBR são 40 bits. Todos os caminhos de dados para / de 
MAR são 12 bits. 
Caminhos de / para AC são 40 bits. Caminhos para / de MQ são 40 bits. 
 
2.6 O objetivo é aumentar o desempenho. Quando um endereço é apresentado a um módulo de memória, 
 existe um tempo de atraso antes da operação de leitura ou gravação pode ser realizad Enquanto isso a)
 está acontecendo, um endereço pode ser apresentadopara o outro módulo. Para uma série de pedidos de 
palavras sucessivas, à taxa máxima é duplicou. 
 
 2.7 A discrepância pode ser explicado pelo fato de outros componentes do sistema, além da velocidade do 
 relógio fazer uma grande diferença na velocidade geral do sistema) Em particular, os sistemas de memória 
 e os avanços no processamento de I/Ocontribuir para o razão de desempenho. Um sistema é tão rápido 
 quanto sua ligação mais lent Nos últimos anos, os gargalos têm sido o desempenho d módulos de a a) os
memória e a velocidade do barramento. 
 
 2.8 Como observado na resposta ao problema de 2.7, embora a maquina Intel ssa ter uma maior po
 velocidade de clock (2,4 GHz contra 1,2 GHz), que não significa necessariamente que o sistema irá o 
 executar mais rápido. Diferentes sistemas não são comparáveis em velocidade de clock) Outros fatores, 
 tais como os componentes do sistema (memória, barramento, arquitetura) e conjunto de instruções o 
 também devem ser levados em cont A medida mais precisa é executar os dois sistemas com um a)
 benchmark) Existem programas de benchmark para determinadas tarefas, tais como execução de 
 aplicativos de escritório, realizando operações de ponto flutuante, gráficos operações, e assim por diante) 
 Os sistemas podem ser comparados uns com os outros sobre quanto tempo eles levam para completar 
 essas tarefas. De acordo com a Apple Computer, o G4 é comparável ou melhor do que uma velocidade 
superior de clock de um Pentium em muitos benchmarks. 
 
 2.9 Esta representação é um desperdício, porque para representar um único dígito decimal de 0 a 9 
 precisamos ter dez tubos. Se pudéssemos ter um número arbitrário desses tubos em ON, ao mesmo 
 tempo, então esses mesmos tubos podiam ser tratados como bits binários. Com dez bits, podemos 
representar 2 10 padrões, ou os padrões de 1024. Para inteiros, estes padrões podem ser usados para 
representar os números de 0 a 1023. 
 
2.10 CPI = 1.55; taxa MIPS = 25.8; Tempo de execução = 3.87 ns. Fonte: [HWAN93] 
 
 
 
 
 
 
 
 
 
 
 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:11
 
2.11 a) 
 
 
b)’ 
 
 
 2.12 (a) Podemos expressar a taxa de MIPs como: [(MIPS taxa) / 10 ] = I6 c/ T. Assim que: 
 
I c T × [(Taxa MIPS) / 10 ]. A relação de contagem de instruções do RS/6000 para o = 6 VAX é [X *18] / 
[12x * 1] = 1.5. 
 
(b) Para o Vax, CPI = (5 MHz) / (1 MIPS) = 5. 
Para o RS/6000, CPI = 25/18 = 1.39. 
 
2.13 A partir da Equação (2.2), MIPS = I c/ (T × 10 ) = 100 / T. Os valores MIPS são: 
6
 Computador A Computador B Computador C 
Programa 1 100 10 5 
Programa 2 0,1 1 5 
Programa 3 0,2 0,1 2 
Programa 4 1 0,125 1 
 
Categoria Aritmética RANK Categoria Harmônica Rank 
Computador A 25,325 1 0,25 2 
Computador B 2.8 3 0,21 3 
Computador C 3.26 2 2.1 1 
 
2.14 (a) Normalizado de R: 
 
Índice de referência Processador 
R M Z 
E 1,00 1.71 3.11 
F 1,00 1.19 1.19 
H 1,00 0,43 0,49 
I 1,00 1.11 0,60 
K 1,00 2.10 2.09 
Média Aritmética 1,00 1.31 1,50 
 
 
(b) Normalizado para M: 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:11
 
Índice de referência Processador 
R M Z 
E 0,59 1,00 1.82 
F 0,84 1,00 1,00 
H 2.32 1,00 1.13 
I 0,90 1,00 0,54 
K 0,48 1,00 1,00 
Média Aritmética 1.01 1,00 1.10 
 
(c) Recorde-se que quanto maior for a relação, maior a velocidad Com base em (a) R é mais lenta s e) a da
 máquinas, por uma quantidade significativ Com base em (b), M é a mais lenta das máquinas, por um a)
valor modesto. 
 
(d) Normalizado de R: 
 
Índice de referência Processador 
 
 R M Z 
E 1,00 1.71 3.11 
F 1,00 1.19 1.19 
H 1,00 0,43 0,49 
I 1,00 1.11 0,60 
K 1,00 2.10 2.09 
Média Geométrico 1,00 1.15 1.18 
 
Normalizado para M: 
 
Índice de referência Processador 
 
R M Z 
E 0,59 1,00 1.82 
F 0,84 1,00 1,00 
H 2.32 1,00 1.13 
I 0,90 1,00 0,54 
K 0,48 1,00 1,00 
Média Geométrico 0,87 1,00 1.02 
 
Usando a média geométrica, R é o mais lento, não importa qual máquina é usada para normalização. 
 
2.15 (a) Normalizado para X: 
 
Índice de referência Processador 
 
X Y Z 
1 1 2.0 0,5 
2 1 0,5 2.0 
Média Aritmética 1 1,25 1,25 
 Média Geométrico 1 1 1 
 
 
 
 
Normalizada a Y: 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:11
 
Índice de referência Processador 
 
X Y Z 
1 0,5 1 0,25 
2 2.0 1 4.0 
Média Aritmética 1,25 1 2.125 
 Média Geométrico 1 1 1 
 
 Máquina Y é duas vezes mais rápido como máquina X para referência 1, mas a metade da velocidade 
 para referência 2. Da mesma máquina Z é metade da velocidade X para referência 1, mas duas vezes 
 mais rápido para referência 2. Intuitivamente, estas três máquinas têm equivalência de desempenho. No 
 entanto, se normalizar a X e calcular a média aritmética da velocidade métrica descobrirão que Y e Z , 
 são 25% mais rápido do que X. Agora, se normalizar a Y e calcular a média aritmética da velocidade 
métrica, descobriram que X é de 25% mais rápido do que Y e Z é mais de duas vezes mais rápido que Y. 
Claramente, a média aritmética não tem valor neste contexto. 
 
b) Quando a média geométrica é utilizada, as três máquinas são mostrados para ter igual desempenho 
 quando normalizado para X, e também o mesmo desempenho quando normalizado para Y. Esses 
resultados são muito mais em linha com a nossa intuição. 
 
2. 16 (a) Assumindo o mesmo mix de instrução significa que as instruções adicionais para cada 
 tarefa deve ser alocado proporcionalmente entre os tipos de instrução. Assim temos a seguinte 
tabela: 
 
Tipo de Instrução CPI Instrução Mix 
Aritmética e lógica 1 60% 
Load /store com acerto de cachê 2 18% 
Branch 4 12% 
Referência da memória com falta de cache 12 10% 
 
 CPI = 0,6 + (2 × 0,18) + (4 × 0,12) + (12 × 0,1) = 2,64. O CPI aumentou devido ao aumento do tempo 
de acesso à memóri a)
 
(b) MIPS = 400/2.64 = 152. Há uma queda correspondente na taxa de MIPS. 
 
 (c) O fator de aumento d velocidade é a razão entre os tempos de execução. Utilizando a Equação 2.2, a 
 nós calculamos o tempo de execução conforme T = I c/ (MIPS × 10 ). Para o único processador caso, t
6
1 = 
 (2 × 10 ) / (178 × 10 ) = 11 ms. Com 8 processadores, cada processador executa 1/8 dos 2 milhões de 6 6
instruções, além dos 25.000 instruções gerais. 
Para este caso, o tempo de execução de cada uma das oito processadores está 
 
Portanto, temos 
 
 
  
   
  


 
  
 
 
 (d) A resposta a esta pergunta depende de como interpretamos "lei de Amdah Lá são duas ineficiências l)
 no sistema paralelo. Em primeiro lugar, há instruções adicionais de adição para coordenar entre (linhas) 
 threads. Em segundo lugar, há uma contenção para acesso à memóri O modo que o problema é a)
 afirmado, a parte do código é inerentemente serial) Tudo isso é paralelizável, mas com programação em 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:11cima) Alguém pode argumentar no conflito de acesso à memória significa que, em certa medida, 
 instruções de referência memória não são paralelizáveis. Mas, com base nas informações fornecidasa , 
 não está claro como quantificar esse efeito na equação de Amdahl) Se assumir que a fração de código 
 que é paralelizável é f = 1, então a lei de Amdahl reduz a SpeedUp = N = 8 para este caso. Assim, o 
aumento de velocidade real é de apenas cerca de 75% do aumento de velocidade teóric a)
 
2.17 Speedup = (tempo de acesso na memória principal) / (tempo de acesso em cache) = T / T . a) 2 1
b) O tempo médio de acesso pode ser calculada como T = H × T + (1 - H) × T1 2 
Usando a equação (2.8): 
 
 
 
  
       
        





        


       
 
 
 
c) T = H × T + (1 - H) × (T + T ) = T + (1 - H) × T1 1 2 1 2) 
 
Esta é a equação (4.2) no Capítulo 4. Agora, 
 
 
   
      
      





       


      
 
 
 
Neste caso, o denominador é maior, de modo que o aumento de velocidade é menor. 
 
 
 
 
CAPÍTULO 3 Computador Função e I nterconexões 
 
 Respostas as Perguntas 
 
 3.1 Processadores de memória: Os dados podem ser transferidos a partir do processador para a memória ou a 
 partir memória para o processador. da Processador- E/S: Os dados podem ser transferidos para ou a partir de um 
 periférico, transferindo entre o processador e um módulo de E/S. Processamento de Dados: O processador pode 
 executar alguma operação aritmética ou lógica em dados. Controle: Uma instrução pode especificar que a 
seqüência de execução ser alterados. 
 
 3.2 Cálculos de endereço Instrução (IAC): Determine o endereço da próxima instrução para ser executado. 
 Instrução de busca (se) Decodificação : Leia a instrução de seu local memória para dentro do processador. 
 operação Instrução (IOD): Analisa a instrução para determinar o tipo de operação a ser executada e operando(s) 
 a ser utilizado(s). Operando cálculo de endereço (OAc): Se a operação envolve referência a um operando em 
memória ou disponível via I / O, em seguida, determinar o endereço do operando. Operando busca (if): Busca o 
 operando da memória ou lê-lo em de I / O. : Executa a operação indicada na instrução. Operação de dados (do)
Operando store (os): Escreva o resultado na memória ou para I / O. 
 
3.3 
(1) Desabilitar todas as interrupções enquanto uma interrupção está sendo processada. 
(2) Definir prioridades para interrupções e permitir uma interrupção de maior prioridade causa um manipulador de
de interrupção de menor prioridade para ser interrompido. 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:11
 
3.4 
Memórias para o processador: O processador lê uma instrução ou uma unidade de dados da memóri a.
Processador para a memória: o processador escreve uma unidade de dados na memóri a.
 I/Opara o processador: O processador lê dados de um dispositivo de I/O através de um módulo de E/S. 
 Processador de I / O I/O para ou a partir memória: O processador envia os dados para o dispositivo de S. E/ : 
 Para estes dois casos, um módulo de E/S é permitido trocar dados diretamente com a memória, sem passar pelo 
processador, usando acesso direto à memória (DMA). 
 
 3.5 Com vários barramentos menos dispositivos por barramentos. Isto (1) reduz a propagação atraso, porque há
cada barramento pode ser mais curto, e (2) reduz os efeitos de estrangulamento. 
 
 3.6 Pinos do sistema: Incluir o relógio e o pino reset. Endereço e dados pinos: Incluir 32 linhas que são 
 multiplexadas em tempo para endereços e dados. Pinos de controle de interface: Controlar o tempo das 
 transações e fornecer coordenação entre os iniciadores e alvos. Pinos de Arbitragem: Ao contrário das outras 
 linhas de sinal da PCI, estes não são linhas compartilhadas. Em vez disso, cada mestre PCI tem o s próprio par eu 
 de linhas de arbitragem que o conecta diretamente ao barramento PCI arbitrário. Pinos de Relatório de Erros: 
 Usado para reportar paridade e outros erros. Pinos de Interrupção: Estes são fornecidos para dispositivos PCI 
 que deve gerar pedidos de serviço. Pinos de suporte de cache: Estes pinos são necessários para apoiar a 
memória PCI que pode ser armazenado em cache no processador ou outro dispositivo. Barramento de extensão 
 de pinos de 64 bits: Incluir 32 linhas que são multiplexadas em tempo para endereços e dados e que são 
 combinados com as linhas de endereço / dados obrigatoriamente para formar um 64-bit endereços / barramento 
de dados. : Estas linhas de sinal apoiar procedimentos de teste definidos na norma JTAG / Boundary Scan Pins
IEEE 1149.1. 
 
 
Perguntas e Respostas 
 
3.1 Memórias (conteúdo em hexadecimal): 300: 3005 301: 5940; ; 302: 7006 
Passo 1: 3005 → IR; Passo 2: 3 → AC 
Passo 3: 5940 → IR; Passo 4: 3 + 2 = 5 → AC 
Passo 5: 7006 → IR; Passo 6: AC → Dispositivo 6 
 
3.2 
1 
(a) O PC contém 300, o endereço da primeira instrução. Este valor é carregado em que o MAR. 
(b) O valor de localização 300 (que é a instrução com o valor de 1940, em hexadecimal) é carregado para o MBR,e 
o PC é incrementado. Estes dois passos podem ser feitos em paralelo. 
(c) O valor do MBR é carregado no IR. 
 
2 
(a) A porção de endereço de IR (940) é carregada para o MAR 
(b) O valor de localização 940 está carregado no MBR. 
(c) O valor do MBR é carregado para o AC. 
 
3 
(a) O val no PC (301) é carregado para o MAR. or
 (b) O valor de localização 301 (que é a instrução com o valor de 5941) é carregado no MBR, e o PC é 
incrementado. 
(c) O valor do MBR é carregado no IR. 
 
4 
(a) A porção de endereço de IR (941) é carregada para o MAR. 
(b) O valor de localização 941 é carregado para o MBR. 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:11
(c) O valor antigo da AC e o valor de localização MBR são adicionados e o resultado é armazenado no AC. 
 
5 
(a) O valor no PC (302) é carregado em que o MAR. 
 (b) O valor de localização 302 (que é a instrução com o valor de 2941) é carregado no MBR, e o PC é 
incrementado. 
(c) O valor do MBR é carregado no IR. 
 
6 
(a) A porção de endereço de IR (941) é carregada para o MAR. 
 
(b) O valor de AC é carregado para o MBR. 
 
(c) O valor do MBR é armazenado na localização 941. 
 
3.3 
a) 2 = 16 MBytes. 24
 b) (1) Se o barramento de endereços local é de 32 bits, o endereço completo pode ser transferido uma vez de e 
decodificado na memória. No entanto, porque o barramento de dados é de apenas 16 bits, ele exigirá dois ciclos para 
buscar uma instrução de 32 bits ou operando. 
 (2) Os 16 bits do endereço colocado no barramento de endereços não podem acessar toda a memória. Assim, 
 um controle da interface de memória de forma mais complexa é necessária para travar a primeira parte do 
 endereço e, em seguida, a segunda parte (porque o microprocessador irá terminar em duas etapas). Para um 
 endereço de 32 bits, pode-se supor a primeira metade irá decodificar para acessar uma "fila" na memória, 
 enquanto que o segundo metade é enviada depoispara o acesso de uma "coluna" de memória. Para além da 
 operação de endereços de dois passos, o microprocessador terá dois ciclos para buscar a instrução de 32 bits / 
operando. 
c) O contador de programa deve ser de pelo menos 24 bits. Tipicamente, um microprocessador de 32 bits terá um 
 barramento de endereços externo de 32 bits e um contador de programa de 32 bits, a menos que os segmentos de 
 registradores de chips sejam utilizados que podem trabalhar com um contador de programa menor. Se o registro 
 de instrução é para conter toda a instrução, ele terá de ser 32-bits de comprimento, se ele irá conter apenas o 
código operação (chamado de registro de código op) então ela terá que ser de 8 bits de comprimento. 
 
 3.4 Nos casos (a) e (b), o microprocessador será capaz de aceder a 2 = 64K bytes, única diferença é que com 16 a 
uma memória de 8 bits cada acesso irá transferir um byte, enquanto com uma memória de 16 bits um acesso pode 
 transferir um byte ou uma palavra de 16 bytes. Para o caso (c), são necessárias instruções de entrada e de saída 
 separadas, cuja execução gerará "sinais I/O" separados (diferentes dos sinais de "memória" gerados com a 
 execução de instruções do tipo de memória); no mínimo, um pino de saída adicional será necessário para realizar 
 este novo sinal) Para o caso (d), ele pode suportar 2 = 256 de entrada e dois = 256 portas de byte de saída e o 8 8
 mesmo número de portas de 16 bits de entrada e de saída, em qualquer caso, a distinção entre uma porta de 
entrada e saída é definida pelo sinal que a instrução de entrada executa ou gerado pela saída) 
 
 
3.5 
Ciclo de clock = 1/8 MHz = 125ns
 
Ciclo de Barramento = 4 × 125ns = 500ns 
2 bytes transferidos a cada 500ns; assim taxa de transferência = 4 M Bytes/se g)
 A duplicação da freqüência pode significar adotar uma nova tecnologia de fabricação de chips (assumindo que 
 todas as instruções irão ter o mesmo número de ciclos de relógio); dobrando o barramento externo de dados 
 significa mais amplos (talvez mais novos) on-chip controlador de barramento de dados / travas e modificações 
 para a lógica de controle de barramento. No primeiro caso, a velocidade dos chips de memória, também será 
 necessária duplicar (aproximadamente) para não retardar o microprocessador, no segundo caso, o "comprimento 
de palavra" de memória terá de dobrar para ser capaz de enviar / receber 32 quantidades bits . 
 
 3.6 a) Entrada do teletipo é armazenado em INPR. O INPR só aceita dados de o teletipo quando FGI = 0. Quando 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:11
 os dados chegam, ele é armazenado em INPR e FGI é definido como 1. A CPU verifica periodicamente FG Se I)
 FGI = 1, a CPU transfere os conteúdos da INPR à AC e define FGI a 0. 
 Quando a CPU tem dados para enviar para o teletipo, ele verifica FGO. Se FGO = 0, o CPU deve esperar. Se 
 FGO = 1, a CPU transfere os conteúdos da para OUTR e define FGO 0. O teletipo define FGI a 1 após a AC em
palavra ser impress a)
 b) O processo descrito em (a), é muito dispendioso. A CPU, que é muito mais rápida do que o teletipo, deve 
 verificar repetidamente FGI e FGO. Se forem utilizadas as interrupções, o teletipo pode emitir uma interrupção 
 para a CPU sempre que ele está pronto para aceitar ou enviar dados. O registro IEN pode ser definido pela CPU 
(sob controle programador) 
 
 3.7 a) Durante um único ciclo de barramento, o microprocessador de 8 bits transfere um byte enquanto que a 
 Transferências de microprocessadores de 16 bits é de dois bytes. O microprocessador de 16 bits tem o dobro da 
taxa de transferência de dados. 
b) Suponha-se que fazer 100 transferências de operandos e instruções, dos quais 50 são um byte de comprimento 
 e 50 são dois bytes. O microprocessador de 8 bits tira 50 + (2 x 50) = 150 ciclos de barramento para a 
 transferência) O microprocessador de 16 bits requer 50 + 50 = 100 ciclos de ônibus. Assim, as taxas de 
transferência de dados diferem por um fator de 1,5. 
 
 
3.8 O ponto central do relógio é para definir os horários dos eventos no barramento, por isso, desejamos 
 para uma operação de barramento arbitraria, a ser feita a cada ciclo de clock) Isto exige que o sinal de prioridade 
 se propague a longo da cadeia (Figura 3.26) em um período de relógio. Assim, o número máximo de mestres é o 
 determinado dividindo-se a quantidade de tempo que leva um mestre de barramento para passar através da 
prioridade barramento pelo período do relógio. 
 
 3.9 O dispositivo de menor prioridade é atribuída prioridade 16. Este dispositivo deve adiar a todos os outros. No 
entanto, pode transmitir em qualquer slot não reservados pelos outros dispositivos SB I)
 
 3.10 No início de qualquer ranhura, se nenhuma das linhas de TR é afirmado, apenas a prioridade 16 do 
 dispositivo pode transmitir. Isto lhe dá o tempo de espera médio mais baixo na maioria das circunstâncias. 
 Somente quando há grande demanda no barramento, o que significa que a maior parte do tempo, há pelo menos 
um pedido pendente, será o dispositivo de prioridade 16 que não terá o tempo de espera médio menor. 
 
3.11 
 a)Com uma freqüência de clock de 10 MHz, o período de clock é de 10 s = 100ns. O comprimento do ciclo de -9
leitura de memória é de 300ns. 
b)O sinal de leitura começa a cair em 75ns a partir do início do terceiro ciclo de relógio (meados do segundo meio 
de T3). Assim, a memória deve colocar os dados em no barramento no mais tardar até 55ns desde o início da T3. 
 
3.12 
a)O período de clock é de 125ns. Portanto, dois ciclos de relógio devem ser inseridos. 
 b)A partir da Figura 3.19, o sinal de leitura começa a subir no início de T . Para inserir dois ciclos de relógio, o 2
Pronto da linha pode ser colocada em baixo no início do T2 e mantida baixo para 250ns. 
 
3.13a) 
 Um relógio de 5 MHz corresponde a um período de relógio de 200ns. Portanto, o sinal Write tem uma duração de 
150ns. 
b)Os dados continuam a ser válidos para 150 + 20 = 170ns. 
c)Um estado de esper a)
 
3.14 
a)Sem os estados de espera, a instrução leva 16 ciclos de clock de barramento instrução requer quatro acessos à . A 
memória, resultando em oito estados de esper A instrução, com estados de espera, leva 24 ciclos de relógio, para a)
um aumento de 50%. 
b) Neste caso, a instrução leva 26 ciclos de ônibus sem estados de espera e 34 ônibus ciclos com estados de 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:53
espera, para um aumento de 33%. 
 
3.15 
 a)O período de clock é de 125ns. Um ciclo ler ônibus leva 500ns = 0,5us. Se os ciclos de barramento repetir um 
após o outro, podemos atingir uma taxa de transferência de dados de 2MB / s. 
b)O estado de espera se estende o ciclo de leitura de ônibus por 125ns, para uma duração total de 0.625 . A taxa us
de transferência de dados correspondente é 1/0.625 = 1.6MB / s. 
 
 3.16 Um ciclo de barramento leva 0,25 , portanto, um ciclo de memória tem . Se ambos os operandos são us 1us
 even-alinhadas, leva 2 para buscar os dois operandos. Se um é ímpar alinhado, o tempo necessário é de 3 . Se us usambos estão estranho alinhado, o tempo necessário é de 4us. 
 
 3.17 Considere um mix de 100 instruções e operandos. Em média, eles consistem de 20 de 32 bits itens, 40 itens 
 de 16 bits e 40 bytes. O número de ciclos necessários para o barramento do microprocessador de 16 bits é (2 × 
 20) + 40 + 40 = 120. Para o microprocessador de 32 bits, o número necessário é de 100. Isso equivale a uma 
melhoria de 20/120 ou cerca de 17%. 
 
 3.18 O processador precisa de mais nove ciclos de clock para completar a instrução. Assim, a interrupção 
Reconheça começará depois de 900ns. 
 
3.19 
 
 
 
 
 
 
 
 
 
 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:53
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 CAPÍTULO 4 CACHE M EMÓRIA 
 
 
 RESPOSTAS PARA PERGUNTAS 
4.1 Acesso sequencial: A memória é organizada em unidades de dados, chamado registros. Acesso 
deve ser feito em uma sequência linear específic Acesso direto: blocos individuais ou a)
 registros têm um endereço único baseado na localização físic O acesso é feito por acesso direto para chegar a a)
 uma vizinhança geral, mais a pesquisa seqüencial, contando, ou esperar para chegar ao local fina Acesso l)
aleatório: Cada local endereçável na memória tem um único, fisicamente fio-nos abordar mecanismo. O tempo de 
acesso a um determinado local é independente da seqüência de acessos anteriores e é constante) 
4.2Faster actempo cesso, maior custo por bit, maior capacidade, menor custo por bit, maior 
capacidade, mais lento o tempo de acesso. 
4.3 É possível organizar os dados através de uma hierarquia de memória de tal forma que a percentagem 
 de acessos para cada nível sucessivamente mais baixo é substancialmente menor do que o do nível acim Porque a)
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:53
 referências de memória tendem a se agrupar, os dados na memória de nível superior não precisa de alterar muitas 
vezes para satisfazer os pedidos de acesso à memóri a)
4.4 Em um sistema de cache, mapeamento direto mapeia cada bloco de memória principal em apenas um 
 possível linha de cach Mapeamento associativo permite que cada bloco de memória principal para ser e)
 carregado em qualquer linha de cach No set-associativa mapeamento, o cache é dividido em uma série de e)
 conjuntos de linhas de cache, cada bloco de memória principal pode ser mapeado em qualquer linha em um 
conjunto particular. 
4,5 Um campo identifica uma única palavra ou byte dentro de um bloco de memória principa l) O 
 outros dois campos especificam um dos blocos de memória principal) Esses dois campos são um campo de linha, 
 que identifica uma das linhas do cache, e um campo de tag, que identifica um dos blocos que podem caber em 
linha) 
4.6 Um campo de tag identifica um bloco de memória principal) Um campo de palavra identifica um 
única palavra ou byte dentro de um bloco de memória principal) 
4.7 Um campo identifica uma única palavra ou byte dentro de um bloco de memória principa l) O 
 outros dois campos especificam um dos blocos de memória principa Esses dois campos são um campo dl) e 
 conjunto, que identifica um dos conjuntos de cache, e um campo de tag, que identifica um dos blocos que podem 
caber em que set. 
4.8 Localidade espacial se refere à tendência de execução de envolver um número de memória 
 locais que estão agrupados. Localidade temporal refere-se à tendência de um processador para acessar locais de 
memória que tenham sido usados recentement e)
 
-19 - 
 
 4.9 localidade espacial é geralmente explorada usando blocos de cache maiores e por 
incorporando mecanismos de pré-busca (ir buscar itens de uso antecipado) na 
 lógica de controle de cach Localidade temporal é explorada, mantendo instrução usado recentemente e valores e)
de dados na memória cache e explorando uma hierarquia de cach e)
A NSWERS TOP ROBLEMAS 
 
4.1 O cache é dividida em 16 conjuntos de 4 linhas cad Portanto, quatro bits são necessários para a)
 identificar o número de séri A memória principal consiste em 4K = 2 blocos. Portanto, os comprimentos de e) 12
tag conjunto mais deve ser de 12 bits e, portanto, o comprimento tag é de 8 bits. Cada bloco contém 128 palavras. 
Por conseguinte, sete bits são necessários para especificar a palavr a)
 
TAGSETWORD 
Endereço de memória principal =847 
4.2 Há um total de 8 kbytes/16 bytes = 512 linhas no cach Assim o cache e)
consiste em 256 conjuntos de duas linhas cada) Portanto 8 bits são necessários para identificar o conjunto 
 número. Para a memória principal de 64 Mbyte, é necessário um endereço de 26 bits. A memória principal é 
 constituída por 64-Mbyte/16 bytes = 2 blocos. Portanto, os comprimentos de tag conjunto mais deve ser de 22 22
bits, então o comprimento tag é 14 bits eo comprimento do campo palavra é de 4 bits. 
 TAGSETWORD 
 Endereço de memória principal =1484 
 
4.3 
 Endereço111111666666BBBBBB 
 a) Tag / Linha / Palavra11/444/166/1999/2BB/2EEE/3 
 b) Tag / Palavra44444/1199999/22EEEEE / 3 
 c) Tag / Set / Palavra22/444/1CC/1999/2177/EEE/3 
4.4 Comprimento Endereço: 24, o número de unidades endereçáveis: 2a) 24, Tamanho do bloco: 4; número de 
blocos na memória principal: 2 , O número de linhas em cache: 222 14, Tamanho da tag: 8. 
b) Comprimento Endereço: 24, o número de unidades endereçáveis: 2 , Tamanho do bloco: 4; número de 24
blocos na memória principal: 2 , O número de linhas em cache: 4000 hex; tamanho da tag: 22. 22
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:53
c) Comprimento Endereço: 24, o número de unidades endereçáveis: 2 , Tamanho do bloco: 4; número de 24
blocos na memória principal: 2 , O número de linhas em conjunto: 2, número de sets: 2 ; 22 13
número de linhas no cache: 214, Tamanho da tag: 9. 
4,5Tamanho do bloco quadro = 16 bytes = 4 doublewords 
16 KBytes 
 
Número de imagens de blocos em cache = 
16 Bytes 
 
 
Número de conjuntos = 
Número de imagens de blocos 
Associatividade 
 
 
 
 
-20 - 
 1024 
 
4 
 
 
 
 
 
20 bits84 
EtiquetaConjuntoCompensar 
 
 
 
 
 
 
8 
Defina 0 
 
Conjunto 1 
 
• 
• 
• 
 
Definir 255 
 
 
 
 
20 
Tag (20) 
 
Comp1 
 
Comp2 
 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:53
COMP3 
 
Comp4 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Acertar 
 
 
 
 
4 
4 DW 
 
 
Conjunto 
0 
 
 
 
 
Conjunto 
1 
 
• 
• 
• 
 
Conjunto 
255 
 
 
Exemplo: doubleword de localização ABCDE8F8 é mapeado sobre: conjunto 143, qualquer 
linha, doubleword 2: 
 
8F8 
A B C D E(1000)(1111)(1000) 
Defina = 143 
 
 
 
-21 - 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:53
 
 
 
 
4.6 
 
12 bits10 bits 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 4.7 Um endereço de 32 bits consiste em um campo de 21 bits tag, um campo de conjunto de 7 bits, e uma 
palavra de 4 bits 
 campo. Cada conjunto no cache inclui 3 bits LRU e quatro linhas. Cada linha é composta por 
4 palavras de 32 bits, um bit válido, e uma tag 21-bit. 
 4.8 a)8 bits mais à esquerda= tag; 5 bits média = Número de linha; 3 bits mais à direita = byte 
número 
 b) slot 3, ranhura 6; slot 3, ranhura 21 
c) Bytes com endereços 0001 1010 0001 1000 através de 0001 1010 0001 1111 são 
armazenado no cache 
d)256 bytes 
e) Porque dois itens com dois endereços de memória diferentes podem ser armazenadas no 
mesmo lugar no cache) O tag é usada para distinguir entre eles. 
-22 - 
 
 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:53
 
 
 
4.9a)Os bits são definidos de acordo com as seguintes regras com cada acesso ao conjunto: 
1.Se o acesso é L0 ou L1,B0 ← 1. 
2.Se o acesso é L0,B1 ← 1. 
3.Se o acesso é L1,B1 ← 0. 
4.Se o acesso é L2 ou L3,B0 ← 0. 
5.Se o acesso é L2,B2 ← 1. 
6.Se o acesso é L3,B2 ← 0. 
O algoritmo de substituição funciona da seguinte forma (Figura 4.15): Quando uma linha tem de ser 
 substituído, o cache irá primeiro determinar se o uso mais recente foi de L0 e L1 ou L2 e L3. Em seguida, o cache 
irá determinar qual o par de 
 blocos foi menos utilizado recentemente e marcá-lo para a substituição. Quando o cache é inicializado ou liberado 
todos os 128 conjuntos de três bits LRU estão definidas para zero. 
b) A 80486 divide as quatro linhas de um conjunto em dois pares (L0, L1 e L2, L3). Bocado 
B0 é usado para selecionar o par que tem sido usado menos recentement Dentro de cada par, e)
um bit é usado para determinar qual membro do par foi usado menos recentement e)
No entanto, a seleção final apenas aproxima LRU. Considere o caso em 
que o fim da utilização era: L0, L2, L3, L1. A par usado menos recentemente é (L2, 
 L3) eo membro usado menos recentemente de que o par é L2, que é selecionado para substituição. No entanto, a 
 linha usada menos recentemente de tudo é L0. Dependendo do histórico de acessos, o algoritmo irá sempre 
escolher a entrada usada menos recentemente ou a entrada segundo usado menos recentement e)
c) A maneira mais simples de implementar verdadeiras LRU para um conjunto de quatro linhas é 
associar um contador de dois bits com cada linh Quando um acesso ocorre, o contador a)
 para esse bloco é definido como 0, todos os contadores com valores mais baixos do que o valor original para o 
 bloco acessados são incrementados por 1. Quando uma falta ocorre eo conjunto é não completa, um novo bloco é 
 trazido, o sI contador é definido como 0 e todos os outros contadores são incrementados por 1. Quando ocorre 
 uma falta eo jogo está cheio, o bloco com o valor do contador 3 passa; sI contador é definido como 0 e todos os 
outros contadores são 
incrementado por 1. Esta abordagem necessita de um total de 8 bits. 
Em geral, para um conjunto de blocos de N, a abordagem acima requer pedaços 2N. A 
 regime mais eficaz pode ser concebido, que requer apenas N (N-1) / 2 bits. O esquema funciona como se segu e)
Considere uma matriz R com N linhas e N colunas, e tomar a parte triangular superior direito da matriz, sem contar 
a diagona Para N = 4, temos o seguinte esquema: l)
 
R (1,2)R (1,3)R (1,4) 
R (2,3)R (2,4) 
R (3,4) 
 
 
 Quando a linha que é referenciado, linha i de R (I, J) é definido como 1, e coluna I do R (J, I) é definido como 0. O 
 bloco LRU é aquele para o qual a linha está inteiramente igual a 0 (para os bits na linha, a linha pode estar vazia) e 
 para os quais a coluna é inteiramente 1 (para todos os bits na coluna, a coluna pode ser vazio). Como pode ser visto 
para N = 4, um total de seis bits são necessários. 
 
-23 - 
 
 
 
 
4.10 Tamanho do bloco = 4 palavras = 2; doublewords associatividade K = 2; tamanho do cache = 4048 
 palavras, c = 1024 quadros bloco, número de conjuntos S = C / K = 512; memória principal = 64K × 32 bits = 
256 Kbytes = 2 bytes; address = 18 bits. 18
 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:53
Bits da palavra 
(6 bits)(9)(2)(1) 
EtiquetaConjunto 
palavra select 
Tag (6)4 palavras 
 
Defina 0 
 
 Comparar 
• •0 
•• 
•• 
 Comparar 
1 
Definir 511 
 
4.11 a)Formato Endereço: Tag = 20 bits; linha = 6 bits, a palavra = 6 bits 
Defina 0 
(8 palavras) 
 
 
 
 
Definir 511 
(8 palavras) 
 
Número de unidades endereçáveis = 2s + w = 2 bytes, número de blocos na principal 32
 
memória = 2s = 226, O número de linhas em cache de 2r 6 = 2 = 64; tamanho do Tag = 20 bits. 
 
b)Formato de endereço: Tag = 26 bits; word = 6 bits 
 
Número de unidades endereçáveis = 2s + w = 2 bytes, número de blocos na principal 32
 
memória = 2 = 2s 26, O número de linhasem cache = indeterminado; tamanho da tag = 26 
 
bits. 
c) Formato Endereço: tag = 9 bits; set = 17 bits; word = 6 bits 
Número de unidades endereçáveis = 2s + w = 2 bytes, o número de blocos na principal 32
memória = 2 = 2 , O número de linhas no conjunto = k = 4; número de conjuntos na cache = 2 = 2s 26 d 17, O número 
de linhas na cache = k × 2d = 2 ; Tamanho da tag = 9 bits. 19
4.12 a) Porque o tamanho do bloco é de 16 bytes e o tamanho de palavra é um byte, isto significa que existe 
são 16 palavras por bloco. Vamos precisar de 4 bits para indicar que a palavra que queremos 
fora de um bloco. Cada linha de cache / ranhura corresponde a um bloco de memóri Isso significa que cada slot a)
cache contém 16 bytes. Se o cache é 64 Kbytes então 64Kbytes/16 = 4096 slots de cach Para responder a estas e)
4096 vagas de cache, precisamos de 12 bits (212 = 4096). Consequentemente, dada a 20 bits (1 Mbyte) principal 
endereço de memória: Bits 0-3 indicam a palavra offset (4 bits) 
Bits 4-15 indicam o compartimento cache (12 bits) 
Bits 16-19 indicam a tag (restantes bits) F0010 = 1111 0000 0000 0001 0000 
Palavra offset = 0000 = 0 
Slot = 0000 0000 0001 = 001 Tag = 1111 = F 
01234 = 0000 0001 0010 0011 0100 
Palavra offset = 0100 = 4 
Slot = 0001 0010 0011 = 123 
-24 - 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:53
Ts = TIHI 
 
 
 
 
Tag = 0000 = 0 
CABBE = 1100 1010 1011 1011 1110 
Compensar Palavra = 1110 = E 
Slot = 1010 1011 1011 = ABB Tag = 1100 = C 
b) Precisamos escolher qualquer endereço onde o slot é o mesmo, mas a tag (e 
opcionalmente, o deslocamento da palavra) é diferente) Aqui estão dois exemplos em que o slot é 1111 1111 1111 
Endereço 1: 
Compensar Palavra = 1111 = Slot de 1111 1111 1111 Tag = 0000 
Endereço = 0FFFF 
Endereço 2: 
Compensar Palavra = 0001 = Slot de 1111 1111 1111 Tag = 0011 
 Endereço = 3FFF1 
c)Com um cache completamente associativo, o cache é dividido em um TAG e um 
WORDOFFSET campo. Já não precisa identificar qual slot de um bloco de memória 
pode mapear para, porque um bloco pode serem qualquer slot e vamos procurar cada cache 
ranhura em paralelo. O deslocamento palavra deve ser de 4bits para endereçar cada palavra 
no bloco de 16 palavras. Isso deixa 16 bits restantes para a marc a)
F0010 
Palavra offset = 0h Tag = F001h 
CABBE 
Compensar Palavra = Eh Tag = CABBh 
d) Como calculado em parte um, temos 4.096 vagas de cach Se implementarmos uma de duas vias e)
cache associativo, então isso significa que nós colocamos dois slots de cache em um único conjunto. 
Nosso esconderijo passou a deter 4096/2 = 2,048 sets, onde cada conjunto tem dois slots. Para 
abordar estas 2.048 conjuntos de que precisamos 11 bits (211 = 2048). Quando abordamos um conjunto, nós 
vai pesquisar simultaneamente os dois slots de cache para ver se a pessoa tem uma marca que corresponda 
o alvo. Nosso endereçode 20 bits agora está dividido da seguinte forma: 
Bits 0-3 indicam a palavra compensar 
Bits 4-14 indicar o conjunto de cache 
Bits 15-20 indicam a tag 
 F0010 = 1111 0000 0000 0001 0000 
Palavra offset = 0000 = 0 
Cache Set = 000 0000 0001 = 001 Tag = 11110 = 1 1110 = 1E 
CABBE = 1100 1010 1011 1011 1110 
Compensar Palavra = 1110 = E 
Cache Set = 010 1011 1011 = 2BB Tag = 11001 = 1 1001 = 19 
 
 
 4.13 Associar um contador de 2 bits com cada um dos quatro blocos em um conjunto. Inicialmente, 
arbitrariamente 
definir os quatro valores de 0, 1, 2, e 3, respectivamente) Quando um sucesso ocorre, o contador de 
o bloco que é referenciado é definido como 0. Os outros contadores no conjunto com os valores 
-25 - 
 
 
 
 
 
 inicialmente menores do que o contador de referência são incrementados por 1, os contadores restantes 
 permanecem inalterados. Quando uma falta ocorre, o bloco no conjunto cujo valor do contador é 3 passa e sI 
contador definido como 0. Todos os outros contadores no conjunto são 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:23:53
incrementado por 1. 
4.14 Escrevendo para trás uma linha leva 30 + (7 × 5) = 65 ns, tempo suficiente para 2.17 single-palavra 
 operações de memóri Se a linha média que está escrito, pelo menos uma vez está escrito mais de 2,17 vezes, o a)
cache write-back será mais eficient e)
4.15a) Uma referência para a primeira instrução é imediatamente seguido por uma referência para o 
segundo. 
b) Os dez acessos a [i] dentro do interior para o laço que ocorrem dentro de um curto 
intervalo de tempo. 
4.16Definir 
CI = Custo médio por bit, o nível de memória i 
SI= Tamanho do nível de memória i 
TI= Tempo para acessar uma palavra em nível de memória i 
HI = Probabilidade de que uma palavra está na memória i e em nenhuma memória de nível superior 
BI= Tempo para transferir um bloco de dados de nível de memória (i + 1) para o nível de memória i 
 Vamos cache de estar no nível de memória 1, memória principal, o nível de memória 2, e assim por diante, para 
um total de doses de N de memóri Depois a)
 
N 
ΣCISI 
 I 
Cs N 
ΣSI 
 I 
 
A derivação de Ts é mais complicado. Começamos com o resultado da teoria da probabilidade de que: 
 
N 
Valor Esperado de x = ΣiPr 
 I 
Podemos escrever: 
 
N 
Σ 
 I 
 
 Precisamos perceber que se uma palavra está em M1 (cache), -se imediatament Se está em M mas não Mlê e) 2 1, 
Em seguida, num bloco de dados são transferidos de M para M e, em seguida, ler. 2 1
Assim: 
 
T2 = B + T1 1 
 
-26 - 
 
 
 
 
Mais 
 
 T3 = B + T = B + B + T2 2 1 2 1 
Generalizando: 
I-1 
TI=Σ Bj 1 
j 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:24
 Assim 
NI-1N 
Ts
 =ΣΣ B Hj I 1ΣHI 
 I I 
 
N 
MasΣHI 
 I 
Finalmente 
NI-1 
Ts
 =ΣΣ BjHI 1 
 I 
 4.17 A memória principal é constituída por 512 blocos de 64 palavras. Cache é composto por 16 conjuntos, cada 
conjunto 
é composto por 4 faixas horárias; cada slot consiste de 64 palavras. Locais de 0 a 4351 no principal 
 memória ocupam blocos de 0 a 67. Na primeira seqüência de busca, o bloco 0 a 15 são lidas em conjuntos de 0 a 
15; blocos de 16 a 31 são lidas em conjuntos de 0 a 15; blocos 32-47 são lidas em conjuntos de 0 a 15; blocos 48-
63 são lidas em conjuntos de 0 a 15, e os blocos 64-67 são lidos em conjuntos de 0 a 3. Como cada conjunto tem 4 
 slots, não há substituição necessária através do bloco 63. Os últimos quatro grupos de blocos envolve uma 
substituição. Em cada passagem sucessiva, as substituições serão necessárias em conjuntos de 0 a 3, mas todos os 
blocos em conjuntos de 4 a 15 permanecer intacta) 
Assim, em cada passagem sucessiva, 48 blocos estão livres, e os restantes 20 
deve ler dentro 
 Seja T o tempo para ler 64 palavras a partir do cach Então 10T é o tempo para ler 64 palavras da memória e)
 principal) Se uma palavra não está no cache, então só pode estar pronto em primeiro transferir a palavra da 
 memória principal para a cache e, em seguida, a leitura do cach Assim, o tempo para ler um bloco de 64 e)
palavras a partir do cache se ele estiver ausente é 11T. 
Podemos agora expressar o factor de melhoria da seguinte form Com sem cache a)
Fetch tempo = (10 passes) (68 blocos / pass) (10T/block) = 6800T com cache 
Fetch tempo=(68) (11T)primeira passagem 
+ (9) (48) (T) + (9) (20) (11T)outros passes 
=3160T 
 
Melhoria = 3160T= 2.15 
 
-27 - 
 
 
 
 
4.18a)Acesso 631 Senhorita Bloco 3 → Slot 3 
Acesso 641 Senhorita Bloco 4 → Slot 0 
Acesso 65-706 Acessos 
Acesso 151 Senhorita Bloco 0 → Slot 0Primeiro loop 
Acesso 161 Senhorita Bloco 1 → Slot 1 
Acesso 17-3115 Acessos 
Acesso 321 Senhorita Bloco 2 → Slot 2 
Acesso 801 Senhorita Bloco 5 → Slot 1 
Acesso 81-9515 Acessos 
Acesso 151 HitSegundo loop 
Acesso 161 Senhorita Bloco 1 → Slot 1 
Acesso 17-3115 hits 
Acesso 321 Hit 
Acesso 801 Senhorita Bloco 5 → Slot 1 
Acesso 81-9515 hits 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:24
Acesso 151 HitTerceiro Circuito 
Acesso 161 Senhorita Bloco 1 → Slot 1 
Acesso 17-3115 hits 
Acesso 321 Hit 
Acesso 801 Senhorita Bloco 5 → Slot 1 
Acesso 81-9515 hits 
Acesso 151 HitQuarta loop 
Padrão ... continua a Décima loop 
Para as linhas 63-702 Misses6 Acessos 
Primeiro ciclo 15-32, 80-954 Misses30 Acessos 
Segundo malha 15-32, 80-952 Misses32 Acessos 
Terceiro ciclo 15-32,80-952 Misses32 Acessos 
Quarta laço 15-32, 80-952 Misses32 Acessos 
Quinto ciclo 15-32, 80-952 Misses32 Acessos 
Sexto malha 15-32, 80-952 Misses32 Acessos 
Sétimo malha 15-32, 80-952 Misses32 Acessos 
Laço Oitava 15-32, 80-952 Misses32 Acessos 
Laço Nona 15-32, 80-952 Misses32 Acessos 
Décimo malha 15-32, 80-952 Misses32 Acessos 
Total:24 Misses324 Acessos 
Hit Ratio = 324/348 = 0,931 
b)Acesso 631 Senhorita Bloco 3 → Conjunto 1 Slot 2 
Acesso 641 Senhorita Bloco 4 → Defina 0 Slot 0 
Acesso 65-706 Acessos 
Acesso 151 Senhorita Bloco 0 → Defina 0 Slot 1Primeiro loop 
Acesso 161 Senhorita Bloco 1 → Conjunto 1 Slot 3 
Acesso 17-3115 Acessos 
Acesso 321 Senhorita Bloco 2 → Defina 0 Slot 0 
Acesso 801 Senhorita Bloco 5 → Conjunto 1 Slot 2 
Acesso 81-9515 Acessos 
Acesso 151 HitSegundo loop 
Acesso 16-3116 Acessos 
Acesso 321 Hit 
Acesso 80-9516 Acessos 
... Todos os hits para os próximos oito iterações 
-28 - 
 
 
 
 
 
Para as linhas 63-702 Misses6 Acessos 
Primeiro ciclo 15-32, 80-954 Misses30 Acessos 
Segundo malha 15-32, 80-950 Misses34 Acessos 
Terceiro ciclo 15-32, 80-950 Misses34 Hits 
Quarta laço 15- -950 Misses34 Acessos 32, 80
Quinto ciclo 15-32, 80-950 Misses34 Acessos 
Sexto malha 15-32, 80-950 Misses34 Acessos 
Sétimo malha 15-32, 80-950 Misses34 Acessos 
Laço Oitava 15-32, 80-950 Misses34 Acessos 
Laço Nona 15-32, 80-950 Misses34 Acessos 
Décimo malha 15-32, 80-950 Misses34 Acessos 
Total = 6 Misses 342 Acessos 
Hit Ratio = 342/348 = 0,983 
 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:24
4.19a)Custo = Cm × 8 × 10
6 = 8 × 103¢ = $ 80 
b)Custo = Cc × 8 × 10 = 8 × 106 4¢ = $ 800 
c)A partir da Equação (4.1): 1,1 × T1 = T1 + (1 - H) T2 
(0,1) (100) = (1 - H) (1200) 
H = 1190/1200 
4.20a)Sob as condições iniciais, utilizando a equação (4.1), o tempo médio de acesso é 
T1 + (1 - H) T = 1 + (0,05) T2 2 
 
Sob as novas condições, otempo médio de acesso é 
1,5 + (0,03) T2 
 
Para melhorar o desempenho, devemos ter 
1 + (0,05) T > 1,5 + (0,03) T2 2 
 
Resolvendo para T2, A condição é T2 > 50 
b)À medida que o tempo de acesso quando há uma falta de esconderijo se tornam maiores, torna- se
mais importante para aumentar a taxa de acerto. 
4.21a)Primeiro, 2,5 ns são necessários para determinar que um cache miss ocorre) Em seguida, o 
linha desejada é lido no cach Em seguida, um adicional de 2,5 ns são necessários e)
ler a palavra solicitada) 
Tsenhorita
 = 2,5 + 50 + (15) (5) + 2,5 = 130 ns 
b)O valor de T
senhorita na parte (a) é equivalente à quantidade (T1 + T2) na Equação 
(4,1). Sob as condições iniciais, usando a Equação (4.1), o tempo médio de acesso 
é 
Ts
 = H × T
1
 + (1 - H) × (T
1
 + T
2
) = (0,95) (2,5) + (0,05) (130) = 8,875 ns ao abrigo do regime revisto, temos: 
-29 - 
 
 
 
 
 
Tsenhorita
 = 2,5 + 50 + (31) (5) + 2,5 = 210 ns 
e 
 
T
s
 = H × T + (1 - H) × (T + T ) = (0,97) (2,5) + (0.03) (210) = 8,725 ns 
1 1 2
4.22 Há três casos a considerar: 
 
Localização da palavra referenciada 
No esconderijo 
Não em cache, mas em principal 
memória 
Não em cache ou a memória principal 
 ProbabilidadeO tempo total para acesso em ns 
0,920 
 (0,1) (0,6) = 0,0660 + 20 = 80 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:24
(0,1) (0,4) = 0,0412ms + 60 + 20 = 12000080 
 
Assim, o tempo médio de acesso seriam: 
 
Médio = (0,9) (20) + (0,06) (80) + (0,04) (12000080) = 480.026 ns 
 
4.23a)Considerar a execução de instruções 100. Sob write-through, isto cria 
 
200 referências de cache (168 referências de leitura e 32 referências de escrita). Em média, 
 
 
as referências de leitura resultar em (0.03) 
× 168 =5.04 ler err Para cada falta ler, a)
 
uma linha de memória deve ser lido, gerando 5,04 ×8 = 40,32 palavras físicas de 
 
tráfego. Para escrever acidentes, uma única palavra é escritapara trás,gerar palavras de 32 
 
tráfego. O tráfego total: 72,32 palavras. Para escrever de volta, com 100instruções de criar 200 
 
referências de cache e, portanto, 6 erros de cach Supondo que 30% das linhas são sujos, em e)
 
média de 1,8 desses acidentes exigem uma gravação de linha antes de uma leitura de linh Assim, o total a)
 
tráfego é (6 + 1,8) × 8 = 62,4 palavras. A taxa de tráfego: 
 
 Escrever através = 0,7232 byte / instrução 
 
Escrever de volta = 0,624 bytes / instrução 
 
b)Para write-through: [(0,05) × 168× 8] + 32 = 99,2 → 0,992 bytes / instrução 
 
Para write-back: (10 + 3) × 8 = 104 → 0.104 bytes / instrução 
c) Para write-through: [(0,07) × 168 × 8] = + 32 126,08 → 0,12608 bytes / instrução 
Para write-back: (14 + 4,2) × 8 = 145,6 → 0,1456 bytes / instrução 
d) A taxa de perda de 5% é cerca de um ponto de cruzamento. Nesse ritmo, o tráfego de memória é 
aproximadamente igual para as duas estratégias. Para uma taxa de perder inferior, write-back é superior. 
Para uma taxa de perda superior, write-through é superior. 
4.24a)Um ciclo de clock é igual a 60 ns, portanto, um acesso ao cache leva 120 ns e uma memória principal 
acesso leva 180 ns. O comprimento efectivo de um ciclo de memória é (0,9 × 120) + (0,1 × 
180) = 126 ns. 
b)O cálculo é agora (0,9 × 120) + (0,1 × 300) = 138 ns. É evidente que o 
desempenho degrad No entanto, note que, embora o tempo de acesso à memória a)
aumenta em 120 ns, a média de tempo de acesso aumenta em apenas 12 ns. 
4.25a)Para um processador de 1 MIPS, a instrução média leva 1000 ns para buscar e 
executar. Em média, uma instrução utiliza dois ciclos do bus para um total de 600 ns, de modo 
a utilização de ônibus é de 0,6 
b) Por apenas metade das instruções deve ser utilizado o ônibus para busca de instrução. Ônibus 
utilização é agora (150 + 300) / 1000 = 0,45. Isto reduz o tempo de espera para 
outros solicitantes de ônibus, tais como dispositivos DMA e outros microprocessadores. 
 
-30 - 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:24
 
 4,26 Ta) uma = Tc + (1 - H) Tb + W (Tm - Tc) 
b) Tu ma = Tc + (1 - H) Tb + Wb (1 - H) Tb = Tc + (1 - H) (1 + Wb) Tb 
 
4.27 Tu ma = [Tc1 + (1 - H1 ) Tc2] + (1 - H2) Tm 
 
 4,28 ciclos pena perder = 1 + 4 = 5 relógio a)
 b) pena perder = 4 × (1 + 4) = 20 ciclos de relógio 
c) pena perder = pena perder por uma palavra + 3 = 8 ciclos de clock) 
4.29 A pena média é igual a perder os tempos de pena perder a taxa de falt Para uma linha a)
tamanho de uma palavra, média pena perder = 0,032 x 5 = 0,16 ciclos de clock) Para uma linha 
tamanho de quatro palavras ea transferência nonburst, média pena perder = 0,011 x 20 = 0,22 
ciclos de cloc Para um tamanho de linha de 4 palavras ea transferência explosão, média pena perder k)
= 0.011 x 8 = 0.132 ciclos de clock) 
 
-31 - 
 
CAPÍTULO 5 I ERCADO M EMÓRIA 
 
 
 RESPOSTAS PARA PERGUNTAS 
 
5.1 Eles apresentam dois estados estáveis (ou semi-estável), que podem ser utilizados para representar 
 binário 1 e 0, pois eles são capazes de ser escrito em (pelo menos uma vez), para definir o estado, pois eles são 
capazes de ser lido para sentir o estado. 
5.2 (1) A memória em que as palavras individuais de memória são acessados diretamente através de 
 fio-nos abordar a lógica) (2) principal de memória semicondutor, em que é possível, tanto para ler os dados a 
partir da memória e para escrever novos dados para a memória rápida e facilment e)
5.3SRAM é usada para a memória cache (dentro e fora do chip),e é usada para o DRAM 
memória principal) 
5.4SRAM geralmente têm tempos de acesso mais rápidas do que as DRAM.DRAM são menos 
caro e mais pequeno do que SRAM. 
5.5 Uma célula de DRAM é essencialmente um dispositivo analógico usando um capacitor, o capacitor pode 
armazenar qualquer valor de carga dentro de uma faixa; um valor limiar determina se o 
 carga é interpretado como 1 ou 0. Uma célula SRAM é um dispositivo digital, em que os valores binários são 
armazenados usando flip-flop configurações lógica-gate tradicionais. 
5.6 Sub-rotinas de biblioteca para freqüência, memória unidade de controle microprogramada 
queria funções, programas do sistema, mesas de função. 
5,7 EPROM é lido e escrito eletricamente; antes de uma operação de gravação, todo o armazenamento 
As células devem ser eliminados ao mesmo estado inicial pela exposição do chip empacotado à radiação 
ultravioleta) Erasure é realizada por brilhar uma luz ultravioleta intensa através de uma janela que é projetado para 
 o chip de memóri EEPROM é uma memória de leitura, principalmente, que pode ser escrito em qualquer hora a)
 sem apagar conteúdos anteriores, apenas o byte ou bytes abordados são atualizados. A memória flash é 
intermediário 
entre EPROM e EEPROM em termos de custo e funcionalidad Como EEPROM, e)
 memória flash usa uma tecnologia de apagamento elétrico. Uma memória flash inteira pode ser apagada em um 
 ou alguns segundos, o que é muito mais rápido do que EPROM. Além disso, é possível apagar apenas blocos de 
 memória em vez de um chip inteiro. No entanto, a memória flash não fornece em nível de byte rasur Tal como a)
EPROM, memória flash utiliza apenas um transistor por bit, e assim atinge a alta densidade (em comparação com 
EEPROM) de EPROM. 
5.8 Linhas A1 = Endereço - A0:. CAS = endereço de coluna, selecione:. D1 - D4 = linhas de dados. NC: = 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:24
nãoconectar. OE: saída habilitar. RAS = endereço de linha, selecione:. Vcc: = fonte de tensão. Vss: = terr WE: a)
escrever permitir. 
-32 - 
 
5.9 Um pouco anexado a uma matriz de dígitos binários para fazer a soma de todos os binário 
dígitos, incluindo o bit de paridade, sempre ímpar (paridade ímpar) ou até mesmo sempre (mesmo 
paridade). 
5.10 A síndrome é criado pelo XOR do código em uma palavra com uma versão calculado 
do referido código. Cada bit da síndrome é 0 ou 1 de acordo com, se existe ou não um 
corresponder em que a posição do bit para as duas entradas. Se o síndroma contém todos 0s, nenhuma 
Foi detectado um erro. Se o síndroma contém um e apenas um bit 1, 
em seguida ocorrI um erro num dos 4 bits de verificação. Não é necessária nenhuma correção. Se o 
síndrome contém mais de um bit definido como 1, então o valor numérico da 
Syndroma indica a posição do bit de dados de erro. Este bit de dados é invertido para 
correção. 
5.11 Ao contrário da DRAM tradicional, que é assíncrona, os dados de trocas SDRAM 
com o processador sincronizado com um sinal de relógio externo e em execução no total 
velocidade do barramento do processador / memória, sem impor estados de esper a)
A NSWERS TO P ROBLEMAS 
 
5.1 A organização de 1 bit-por-chip tem várias vantagens. Ele requer menos pinos 
o pacote (apenas uma linha de dados para fora) e, portanto, uma maior densidade de bits pode ser 
 alcançado por um determinado pacote tamanho. Além disso, é um tanto mais fiável porque tem apenas um 
 condutor de saíd Esses benefícios têm levado ao uso tradicional de 1-bit-per-chip de RAM. Na maioria dos a)
 casos, ROMs são muito menores do que RAM e é muitas vezes possível conseguir uma ROM inteiro em uma ou 
duas fichas, se um múltiplo-bits por chip 
organização é usado. Isso economiza no custo e é razão suficiente para adoptar que 
organização. 
 5.2 Em 1 ms, o tempo dedicado para atualizar é 64× 150 ns = 9600 ns. A fração de tempo 
-6 s) / 10 s = 0,0096, que é de aproximadamente -3 
1%. 
5.3 O tempo de ciclo da memória = 60 + 40 = 100 ns. A taxa de dados máxima é de 1 bit a cada 100 a)
ns, que é de 10 Mbps. 
b) 320 Mbps = 40 MB / s. 
5.4 
A22 
A21 
A20 
A19 
A0 
S0S1 
 Decoder 
S2 
S3 
S4 
S5 
S6 
S7 
 
 
 Chip selectChip select 
 1 Mb1 Mb 
 
 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:24
 
 Chip selectChip select 
 1 Mb1 Mb 
 
 
 
 Chip selectChip select 
 1 Mb1 Mb 
 
 
 
 Chip selectChip select 
 1 Mb1 Mb 
 
 
5.5a)A duração de um ciclo de relógio é de 100 ns. Marcar o início de T1como 0.Address tempo 
 
Ativar retorna para uma baixa de 75. RAS vai ativo 50 ns depois, ou o tempo de 125. Dados 
 
deve tornar-se disponível pelas DRAM em tempo de 300-60 = 240. Assim, o tempo de acesso 
 
deve ser não mais do que 240-125 = 115 ns. 
 
b)Um único estado de espera vai aumentar a exigência de tempo de acesso a 115 + 100 = 215 
 
ns. Isto pode ser facilmente atendidas por DRAM com tempos de acesso de 150 ns. 
 
5.6a)O período de atualização a partir de uma linha para outra não deve ser maior do que 
 
4000/256 = 15,625 mS. 
 
b)Um contador de 8 bits é necessária para contar 256 linhas (28 = 256). 
 
5,7a) 
 
pulsar a = writepulso f = writepulso k = leitura 
 
pulso b = writepulso g = saídas de loja-disable 
pulso c = writepulso h = leitura 
pulso d = writepulso i = leitura 
pulso e = writepulso j = leitura 
 
 
 
-34 - 
pulso l = ler 
pulso m = leitura 
pulso n = saídas de loja-disable 
 
 
 
b) Os dados são lidos em via pinos (D3, D2, D1, D0) 
palavra 0 = 1111 (escrito em posição 0 durante um pulso) palavra 1 = 1110 (escrito em posição 0 durante pulso b) 
palavra 2 = 1101 (escrito em posição 0 durante pulso c) 
 palavra 3 = 1100 (escrito em posição 0 durante pulso d) palavra 4 = 1011 (escrito em posição 0 durante pulso e) 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:24
palavra 5 = 1010 (escrito em posição 0 durante pulso f) 
palavra 6 = aleatório (não escrevi para este local 0) 
c) Ligações de saída são (O3, O2, O1, O0) 
pulso h:1111 (localização ler 0) 
pulso i:1110 (localização ler 1) 
pulso j:1101 (localização leia 2) 
pulso k:1100 (localização ler 3) 
pulso l:1011 (localização ler 4) 
pulso m: 1010 (leia localização 5) 
5.88192/64 = 128 fichas; dispostos em 8 linhas por 64 colunas: 
 
AB 
36 
A0 = GA0 = H 
Ak-A10A9-A7A -A6 1 
Seção 0 (mesmo)Seção 1 (ímpar) 
 
 
 
Todos os zeros 
 
 
En 
 
0 
Fila 0 •
Fila 1 •
•• 
•112 
• 
Linha 7 
••• 
178 
••• 
••• 
••• 
••• 
113119120 
••• 
915 
•• 
••8 
•• 
 • • •Linhas 
121127 
 
 
 
8 
Depende 
tipo de8 
processador 
 
5.9 A memória total é de 1 megabyte = 8 megabits. Levará 32 DRAM para a construção do 
memória (32 × 256 Kb = 8 Mb). A taxa de falha composto é de 2000 × 32 = 64000 
FITS. A partir disso, temos um MTBF = 109/ 64.000 = 15.625 horas = 22 meses. 
5.10 A palavra armazenada é 001101001111, como mostrado na Figura 5.10. Agora, suponha que o 
único erro é em C8, de modo que a palavra buscada é 001111001111. Em seguida, a recebI 
resultados de blocos na tabela a seguir: 
 
Posição121110987654321 
BitsD8D7D6D5C8D4D3D2C4D1C2C1 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:24
Bloco001111001111 
Códigos1010100101110011 
-35 - 
 
A verificação mordI cálculo após recepção: 
 
PosiçãoCódigo 
Hamming1111 
101010 
91001 
70111 
30011 
XOR = síndrome1000 
 
O resultado diferente de zero detecta e erro e indica que o erro está na posição do bit 8, 
que é pouco verificação C8. 
5.11 Os bits de dados com o valor 1 se encontrarem em posições de bit 12, 11, 5, 4, 2, e 1: 
Posição121110987654321 
BitsD8D7D6D5C8D4D3D2C4D1C2C1 
Bloco11000010 
Códigos110010110101 
Os bits de verificação são em número de bits 8, 4, 2 e 1. 
 Verifique o bit 8 calculado valores em números de bits: 12, 11, 10 e 9 Verificar o bit 4 calculada por valores em 
 números de bits: 12, 7, 6, 5 e Verificar o bit 2 calculada por valores em números de bits: 11, 10, 7 , 6 e 3 Verificar 
bit 1, calculado por valores em números de bits: 11, 9, 7, 5 e 3 Assim, os bits de verificação são: 0 0 1 0 
5.12 O Hamming Palavra inicialmente calculado foi: 
número de bits:121110987654321 
001101001111 
 
 Fazendo um exclusivo-OR de 0111 e 1101 os rendimentos 1010 indicando um erro no bit 10 da Hamming Word) 
Assim, a palavra de dados lidos da memória era 00011001. 
 
5.13 Necessidade K bits de verificação de tal forma que 1024 + K ≤ 2K - 1. 
O valor mínimo de K que satisfaz esta condição é 11. 
 
-36 - 
 
 
 
 
5.14 Como a Tabela 5.2 indica, 5 bits de verificação são necessárias para um código SEC para os dados de 16 bits 
palavras. O layout de bits de dados e bits de verificação: 
 
Bit PosiçãoPosição NúmeroVerifique BitsBits de dados 
 2110101M16 
 2010100M15 
 1910011M14 
 1810010M13 
 1710001M12 
1610000C16 
 1501111M11 
 1401110M10 
1301101M9 
1201100M8 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:46
1101011M7 
1001010M6 
901001M5 
801000C8 
700111M4 
600110M3 
500101M2 
400100C4 
300011M1 
200010C2 
100001C1 
 
As equações são calculados como antes, por exemplo, 
C1 = M1  M2   M5  M7  M9  M11  M12  M14  M16. 
Para a palavra 0101000000111001, o código é 
C16 = 1; C8 = 1; C 4 = 1; C2 = 1; C1 = 0. 
Se ocorrer um erro de bits de dados 4: 
C16 = 1; C8 = 1; C4 = 0; C2 = 0; C1 = 1. 
Comparandoos dois: 
 C16 C8 C4 C2 C1 
11110 
11001 
00111 
 
O resultado é um erro identificado na posição de bit 7, que é o bit de dados 4. 
 
 
 
-37 - 
 
 
 
 
 
CAPÍTULO 6 E Xternal M EMÓRIA 
 
 
 RESPOSTAS PARA PERGUNTAS 
 
6.1 Melhoria na uniformidade da superfície da película magnética para aumentar disco 
confiabilidade) Uma redução significativa em defeitos gerais na superfície para ajudar a reduzir 
leitura / gravação erros. Capacidade para suportar alturas de mosca inferiores (descritos posteriormente). 
Melhor rigidez para reduzir dinâmicas de disco. Maior capacidade de resistir a choques e 
dano 
 6.2 O mecanismo de gravação é baseada no facto de que a energia eléctrica que flui através de uma bobina 
 produz um campo magnético. Os pulsos são enviados para a cabeça de gravação, e padrões magnéticos são 
 gravados na superfície abaixo, com padrões diferentes para as correntes positivas e negativas. Uma corrente 
eléctrica no fio induz um campo magnético através da abertura, 
que por sua vez magnetiza uma pequena área do suporte de gravação. Invertendo o 
direcção da corrente inverte o sentido da magnetização do suporte de gravação. 
6.3 A cabeça de leitura é composto por um magneto (MR) Sensor parcialmente blindado. O 
Material de MR tem uma resistência elétrica que depende da direção do 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:46
magnetização do médio movendo sob el Por passagem de uma corrente através da e)
Sensor de MR, alterações de resistência são detectados como sinais de tensão. 
6.4 Para o sistema constante da velocidade angular (CAV), o número de bits por pista é 
 constante) Um aumento na densidade é conseguida com gravação por zonas múltiplas, no qual a superfície é 
 dividida em várias zonas, com zonas mais distantes do centro contendo mais bits do que as zonas mais próximas 
do centro. 
6.5 Em um disco magnético. os dados são organizados no prato em um conjunto de anéis concêntricos, 
 chamado faixas. Os dados são transferidos para e do disco em sectores. Para um disco com vários pratos, o 
conjunto de todas as faixas na mesma posição relativa no prato é referido como um cilindro. 
6.6512 bytes. 
 6,7 Em um sistema móvel-cabeça, o tempo que leva para posicionar a cabeça na pista é 
conhecido como o tempo de busc Uma vez que a faixa é selecionada, o controlador de disco espera até que o a)
setor apropriado gira para alinhar com a cabeç O tempo que leva para o a)
começando do setor a atingir a cabeça é conhecido como atraso rotacional) A soma 
 o tempo de busca, se houver, eo atraso de rotação é igual ao tempo de acesso, que é o tempo que leva para entrar 
 em posição para ler ou escrever. Uma vez que a cabeça está em posição, a leitura ou gravação é então realizada 
como os movimentos do setor sob a cabeça, o que é a parte de transferência de dados da operação e do tempo para 
a transferência é a 
tempo de transferênci a)
-38 - 
6.8 1. RAID é um conjunto de unidades de disco físicas vistos pelo sistema operacional como um único 
 unidade lógic 2. Os dados são distribuídos entre as unidades físicas de um array. 3. Capacidade do disco a)
redundante é usado para armazenar informações de paridade, que garante a recuperação de dados em caso de uma 
falha de disco. 
6.9 0: não-redundante 1: espelhado, cada disco tem um disco espelho contendo o mesmo 
dados. 2: redundante via código de Hamming, um código de correção de erro é calculado 
 através de bits em cada disco de dados correspondente, e os bits de código são armazenadas nas posições de bits 
 correspondentes por vários discos de paridad 3: paridade Bit-intercalado; semelhante ao nível 2, mas em vez de e)
 um código de correção de erro, um simples bit de paridade é calculado para o conjunto de bits individuais na 
 mesma posição em todos os discos de dados. 4: paridade Bloco entrelaçado, um bit-por-bit de paridade é 
 calculado através de tiras tiras em cada disco de dados correspondente, e os bits de paridade são armazenados na 
 faixa correspondente no disco de paridad 5: paridade distribuída bloco intercalados; semelhante ao nível 4, mas e)
distribui as tiras de paridade em todos os discos. 6: Block-intercalados dupla paridade distribuída, dois cálculos de 
paridade diferentes são executados e armazenados em blocos separados em discos diferentes. 
6.10 O disco é dividido emde tiras; estas tiras podem ser blocos físicos, setores, ou algum 
 outra unidade) As tiras são mapeadas round robin para os membros da matriz consecutivos. Um conjunto de tiras 
 logicamente consecutivas que mapeia exactamente uma tira de cada membro da matriz é referida como uma 
listra) 
6.11Para o nível RAID 1, a redundância é conseguido por ter duas cópias idênticas de todos 
dados. Para níveis mais elevados, a redundância é alcançada através da utilização de erro de correcção 
códigos. 
6.12 Em uma matriz de acesso paralelo, todos os discos membros participam na execução de todos os 
 I/Opedido. Tipicamente, os eixos das unidades individuais estão sincronizados, de modo que cada cabeça de 
 disco está na mesma posição em cada disco, em qualquer dado momento. Em uma matriz de acesso 
 independente, cada disco membro opera de forma independente, de modo que os pedidos de E/S separados 
podem ser satisfeitos em paralelo. 
6.13 Para o sistema constante da velocidade angular (CAV), o número de bits por pista é 
constante) A uma velocidade linear constante (CLV), o disco de roda mais lentamente para 
 acessos, perto da borda exterior do que para aqueles perto do centro. Assim, a capacidade de uma faixa e a 
latência rotacional ambos aumento para posições mais próximas do bordo exterior da 
o disco. 
6.14 1. Bits são embalados de forma mais estreita em um O espaçamento entre as alças de uma espiral DVD)
um CD é de 1,6 mM e a distância mínima entre os poços ao longo da espiral é 0,834 
um) O DVD utiliza um laser com comprimento de onda mais curto e atinge um espaçamento de malha 
 0,74 mM e uma distância mínima entre poços de 0,4 mM. O resultado destas duas melhorias é sobre um aumento 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:46
2K 
 de sete vezes em capacidade, a cerca de 4,7 G 2. O DVD emprega uma segunda camada de poços e as terras na B)
 parte superior da primeira camada de um DVD de camada dupla tem uma camada semireflective em cima da 
 camada reflectora, e pelo ajustamento de foco, os lasers em discos DVD pode ler cada uma das camadas 
 separadamente) Esta técnica é quase o dobro da capacidade do disco, a cerca de 8,5 G A reflectividade inferior B)
 da segunda camada limita a sua capacidade de armazenamento de modo a que uma duplicação completa não é 
conseguida) 
 
-39 - 
 3. O DVD-ROM pode ser de dois lados ao passo que os dados são gravados em apenas um lado de um C Isso D)
traz a capacidade total de até 17 G B)
6.15 A técnica de gravação típico usado em fitas de série é referido como serpentina 
gravação. Nesta técnica, quando os dados estão sendo gravados, o primeiro conjunto de bits é 
registada ao longo de todo o comprimento da fit Quando a extremidade da fita é alcançado, a)
os chefes são reposicionados para gravar uma nova pista, ea fita é novamente gravado em 
todo o sI comprimento, desta vez na direcção opost Esse processo continua, de volta a)
e para trás, até que a fita está cheia) 
A NSWERS TO P ROBLEMAS6.1Vai ser útil para manter a seguinte representação das faixas de N de um disco em 
mente: 
 
01• • •j 1• • •N - - j• • •N - 2 N - 1 
 
a) Vamos usar a notação Ps [j / t] = Pr [procurar de comprimento j quando a cabeça está atualmente 
 posicionado sobre o controle t]. Reconhecer que cada uma das N faixas é igualmente susceptível de ser solicitado. 
Portanto, a probabilidade incondicional de escolher qualquer pista particular é 1 / N. Podemos, então, afirmar: 
1 
 
 
 
 
N 
2 
N 
 set ≤ j 1 ou T ≥ N - - j 
 
se j j - 1 <t <N - 
 
 No primeiro caso, a faixa atual está tão perto de uma das extremidades do disco (pista 0 ou faixa N - 1) que 
apenas uma faixa é exatamente j faixas de distânci No segundo caso, a)
 há duas faixas que são exatamente as faixas j longe da pista t, e, portanto, a probabilidade de uma busca de 
comprimento j é a probabilidade de que qualquer uma destas duas faixas é selecionado, que é apenas 2 / N. 
b)Vamos Ps [K] = Pr [procurar de comprimento K, independente da posição actual no caminho]. Então: 
 
N-1 
Σ × Pr faixa atual é faixa t 
 
N-1 
 
 1 
N 
ΣPs K / t 
 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:46
E K  K × PSK
 
Da parte (a), sabemos que Ps [K / t] assume o valor de 1 / N para 2K do 
 
faixas, eo valor 2 / N para (N - 2K) das faixas. Assim 
 
 
Ps K 1 
N 
 
 
 2 
2 NN2K 
 
N-2K 
 2 
N2N-NK2 
-40 - 
 
 
 
 
c) 
N - -1N 1N-1N-1 
2K2 
Σ Σ-2K22 ΣK-ΣK2 
K NNN N2K 
 N-1 N2 N-1 N 2N -1 
 
 
N2 
- -1 - N-1 2N-1 
N 62 3N 
 
 
 
 N -1 
- N-1
2N -1
 
3N 
 
 
2 - 1 
3N 
 
d)Isto segue diretamente a partir da última equação. 
 
 
 6.2tA S A S 
 
2rrN2rrN 
 
6.3a)Capacidade = 8 × 512 × 64 × 1 KB = 256 MB 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:46
b) Latência de rotação = rotation_time / 2 = 60 / (3600 × 2) = 8,3 ms. 
Tempo médio de acesso = tempo de busca + latência rotacional = 16,3 ms 
 c) Cada cilindro é composto por 8 faixas × 64 setores / faixa × 1 KB / setor = 512 KB, assim 
5 MB requer exatamente 10 cilindros. O disco terá o tempo de busca de 8 ms para 
 encontrar i cilindros, 8.3 ms em média para encontrar setor 0 e 8 × (60/3.6) = 133,3 ms para ler todos os 8 faixas 
 em um cilindro. Então, o tempo necessário para passar para o próximo cilindro adjacente é de 1,5 ms, que é o 
tempo de acesso da via para o caminho certo. Suponha uma latência de rotação antes de cada pist a)
Tempo de acesso = 8 + 9 × (8,3 + 133,3 + + (8,3 + 133,3) = 1425,5 ms 1.5)
bytes 
d) 
 
Taxa de pico = rotações 
segundo 
 × setores × 
revoluçãoSecter60 
× 64 × 1 KB = 3,84 MB / s 
 
6.4a)Se assumirmos que a cabeça começa a trilha 0, então os cálculos são simplificados. 
Se a faixa é pedido trilha 0, então o tempo de busca é 0; se a pista é solicitado 
rastrear 29.999, então o tempo de busca é o tempo para atravessar 29.999 faixas. Para um 
pedido aleatório, em média, o número de faixas é atravessado 29.999 / 2 = 
 14999,5 faixas. Às um ms por 100 faixas, o tempo médio de busca é, portanto, 
149,995 ms. 
b)Às 7200 rpm, há uma revolução a cada 8,333 ms. Por conseguinte, a média 
latência rotacional é 4,167 ms. 
c) Com 600 setores por trilha eo tempo para uma revolução completa de 8,333 ms, 
o tempo de transferência para um setor é 8,333 ms/600 = 0,01389 ms. 
d) O resultado é a soma das quantidades anteriores, ou cerca de 154 ms. 
6.5 Cada setor pode conter 4 registros lógicos. O número necessário de setores é 300.000 / 4 
= 75000 setores. Isso requer 75.000 / 96 = 782 faixas, que por sua vez requer 782/110 = 8 superfícies. 
6.6 a) O tempo é constituído pelos seguintes componentes: setor ler tempo; rastrear o acesso 
tempo; atraso rotacional e tempo de gravação setor. O tempo para ler ou escrever um setor 
 é calculado da seguinte forma: A única revolução para ler ou escrever uma faixa inteira leva 60.000 / 360 = 16,7 
 ms. Tempo para ler ou escrever um único setor = 16.7/32 = 
-41 - 
 
 
 
 
 
 0,52 ms. Tempo de acesso faixa = 2 ms, porque a cabeça se move entre as faixas adjacentes. O atraso de rotação é 
 o tempo necessário para a cabeça de alinhar com um sector de novo. Isto é de 16,7 × (31/32) = 16,2 ms. O tempo 
de movimento da cabeça de 2 
ms sobrepõe o com os 16,2 ms de atraso rotacional, e tão somente o tempo de atraso de rotação é contada) Tempo 
de transferência Total = 0,52 + 16,2 + 0,52 = 17,24 ms. 
b) O tempo para ler ou escrever uma trilha inteira é simplesmente o tempo para uma única 
revolução, que é de 16,7 ms. Entre a leitura ea escrita há um tempo o movimento da cabeça de 2 ms para passar de 
faixa 8 para rastrear 9. Durante este tempo, a cabeça se move últimos três sectores, e mais de um quarto do sector. 
 No entanto, porque a trilha inteira é tamponado, os setores podem ser escritos de volta em uma seqüência 
 diferente da seqüência de leitur Assim, a gravação pode começar com setor 5 da faixa 9. Este setor é atingido a)
 0,52× 4 = 2,08 ms após a conclusão da operação de leitur Assim, o tempo total de transferência = 16,7 + 2,08 + a)
16,7 = 35,48 ms. 
6,7 Depende da natureza do padrão de pedido de I / O. Em um extremo, se apenas um 
 processo único está fazendo I/Oe só está fazendo um grande I/Oem um momento, em seguida, a distribuição de 
 disco melhora o desempenho. Se há muitos processos que fazem muitos pedidos de E/S de pequeno porte, em 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:46
seguida, uma matriz nonstriped de discos deve proporcionar um desempenho comparável ao RAID 0. 
6.8RAID 0: 800 GBRAID 4: 600 GB 
RAID 1: 400 GBRAID 5: 600 GB 
RAID 3: 600 GBRAID 6: 400 GB 
6.9 Com o regime de CD, densidade pouco melhora por um factor de 3, mas há um aumento 
o número de bits por um factor de 14/8. Fator de melhoria Net é 3 × (8/14) ≈ 
1.7. Isto é, o esquema de CD tem uma densidade de armazenamento de dados de 1,7 vezes maior do que o regime 
de gravação directa) 
6.10a)2× 3 × $ 150 = $ 900 
b)$ 2.500 + (3 × 3 × $ 50) = 2.950 dólares 
c) Seja Z = número de GB à qual as duas abordagens dar aproximadamente o 
mesmo custo. Para o disco, o custo é Cd = (Z/500) × 3 × R $ 150. Para a fita, o custo é 
 
Ct
 = 2,500 + ((Z/400) × 3 × $ 50). Se colocarmos Cd = Ct e resolver para Z, temos Z = 4762. Assim, o tamanho da 
reserva teria que ser de cerca de 5 a tuberculose para a fita a ser menos 
caro. 
d) Uma onde você manter um monte de conjuntos de backup. 
 
 
 
 
 
 
 
 
 
 
 
 
 
-42 - 
 
 
 
 
 
 CAPÍTULO 7 INput/ OUtput 
 
 
 RESPOSTAS PARA PERGUNTAS 
 
7.1 Legível: Indicado para a comunicação com o usuário do computador. Máquina 
 legível: Indicado para a comunicação com o equipamento. Comunicação: Indicado para a comunicação com 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:46
dispositivos remotos 
7.2 O código de texto mais usado é o Alfabeto Internacional de Referência (IRA), 
 em que cada caracter é representado por um código único de 7 bits binário, assim, 128 caracteres diferentes 
podem ser representadas. 
7.3Controle e timing) Comunicação Processor. Comunicação dispositivos. Dados 
buffering) A detecção de erros. 
7.4 Programmed I / O: O processador emite um comando de I / O, em nomede um processo, a 
um módulo de E/S; esse processo então ocupado-esperas para que a operação seja concluída 
 antes de prosseguir. Interromper-driven I / O: O processador emite um comando de I/Oem nome de um 
processo, continua a executar as instruções seguintes, e é 
interrompido pelo módulo de E/S quando este tiver concluído sI trabalho. O 
instruções subsequentes podem estar no mesmo processo, se não é necessária para que 
 processo para aguardar a conclusão do I / O. Caso contrário, o processo é suspensa até à interrupção do trabalho 
e a outra é realizad Acesso direto à memória a)
 (DMA): Um módulo de DMA controla a troca de dados entre a memória principal e 
um módulo de E/S. O processador envia um pedido para a transferência de um bloco de dados para 
o módulo de DMA e só é interrompido, após o bloco inteiro foi transferido. 
7.5 Com mapeamento de memória I / O, existe um único espaço de endereço para locais de memória 
 e os dispositivos de E/S. O processador trata os dados de status e registros de módulos I/Ocomo locais de 
memória e usa as mesmas instruções de máquina para acessar tanto 
 memória e I/Ode dispositivos. Com isolado I / O, um comando especifica se o endereço refere-se a uma posição 
de memória ou de um dispositivo de E/S. A gama completa de endereços pode estar disponível para ambos. 
7.6 Quatro categorias gerais de técnicas são de uso comum: várias linhas de interrupção; 
poll software; cadeia (poll hardware, vetorizado); arbitragem ônibus (vetorizado). 
7.7 O processador faz uma pausa para cada ciclo de ônibus roubado pelo módulo de DM A)
A NSWERS TO P ROBLEMAS 
 7.1 No primeiro modo de endereçamento, 28 = 256 portas podem ser abordados. Normalmente, isso seria 
 permitir que 128 dispositivos a serem abordados. No entanto, um opcode especifica ou uma operação de entrada 
 ou saída, por isso é possível rItilizar os endereços, de modo que existem 256 endereços de porta de entrada e 256 
endereços de porta de saíd No segundo modo de endereçamento, 2a) 16 = Endereços de porta 64K são possíveis. 
7.2 No modo de endereçamento direto, uma instrução pode endereçar até 2 = Portas 64 Em 16 K)
 modo de endereçamento indireto, o endereço da porta reside em um de 16 bits registradores, então, novamente, a 
instrução pode endereçar até 2 = Portas 64 16 K)
7.364 KB 
7.4 Usando não-bloco de E/S instruções, a transferência se 20 × 128 = 2560 ciclos de clock) 
 Com bloco de I / O, a transferência se 5 × 128 = 640 ciclos de clock (ignorando a busca de uma só vez da 
instrução iterativa e sIs operandos). O aumento de velocidade é 
(2560 - 640) / 2560 = 0,75, ou 75%. 
7.5 a) Cada dispositivo de I/Orequer uma saída (do ponto de vista do processador) 
porta para os comandos e uma porta de entrada para o estado. 
b) O primeiro dispositivo requer apenas uma porta parade dados, enquanto o segundo dispositivos 
exige e porta de entrada de dados e uma porta de saída de dados. Porque cada dispositivo 
requer um comando e uma porta de status, o totalnúmero de portas é set e)
c) set e)
7.6a) O pritaxa NTING é retardado a 5 cps. 
b) A situação deve ser tratada de forma diferente com os dispositivos de entrada, como a 
 teclado. É necessário verificar o tampão a uma taxa de, pelo menos, uma vez por cada 60 ms. Caso contrário, 
existe o risco de sobrescrever caracteres no buffer. 
7.7 Às 8 MHz, o processador tem um período de relógio de 0,125 mS, de modo que um ciclo de instrução 
 leva 12 × 0,125 = 1,5 mS. Para verificar o status requer um tipo de entrada instrução de ler o registro de status do 
 dispositivo, além de pelo menos uma outra instrução para examinar o conteúdo de registro. Se o dispositivo 
estiver pronto, uma instrução do tipo de saída é necessária para apresentar dados ao processador de dispositivo. O 
total é de 3 instruções, exigindo 4,5 mS. 
7.8 Vantagens de memória mapeada I / O: 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:46
1. Não há linhas de controle adicionais são necessários no ônibus para distinguir memória 
comandos a partir de comandos de E/S . 
2. Dirigindo-se mais flexíve Exemplos: Os vários modos de endereçamento de l)
o conjunto de instruções pode ser usado, e vários registos pode ser utilizado para 
trocar dados com os módulos de E/S . 
Desvantagens de mapeamento de memória I / O: 
1. Mapeados na memória I/Outiliza instruções de memória de referência, que, na maioria 
 máquinas são mais do que instruções de E/S. A duração do programa 
Por conseguinte, é mais longo. 
2. O hardware de endereçamento lógico para o módulo de E/S é mais complexa, porque 
o endereço do dispositivo é mais longo. 
7.9 a) O processador verifica o teclado 10 vezes por segundo. Em 8 horas, o número 
de vezes que o teclado é digitalizado é 10× 60 × 60 × 8 = 288.000. 
 
-44 - 
 
b) Apenas 60 visitas seria necessário. A redução é de 1 - (60/288000) = 0,999, ou 
99,9% 
7.10 a) O dispositivo gera 8000 interrupções por segundo ou uma taxa de uma a cada 125 mS. Se 
cada interrupção consome 100 mS, então a fração de tempo do processador consumido é 100/125 = 0,8 
b) Neste caso, o intervalo de tempo entre interrupções é 16 × 125 = 2000 mS. Cada 
interromper agora exige 100 mS para o primeiro caractere mais o tempo para 
transferência de cada personagem restante, que soma 8 × 15 = 120 mS, de um 
total de 220 mS. A fração de tempo de processador consumido é 220/2000 = 0,11 
c) O tempo por byte foi reduzido em 6 mS, de modo que a redução do tempo total é de 16× 6 
= 96 mS. A fração de tempo de processador consumido é, portanto, (220 - 96) / 2000 = 
 0.062. Esta é uma melhoria de quase um factor de 2 sobre o resultado da peça 
(B). 
 7.11 Se um processador seja apreendida na tentativa de ler ou escrever de memória, geralmente não 
 dano ocorre, exceto uma ligeira perda de tempo. No entanto, a transferência de DMA podem ser de ou para um 
 dispositivo que está a receber ou enviar dados por uma corrente (por exemplo, disco ou fita), e não pode ser 
 interrompida) Assim, se o módulo de DMA é realizada up (acesso negado continuando a memória principal), os 
dados serão perdidos. 
7.12 Vamos ignorar os dados das operações de leitura / escrita e assumir a processador só vai buscar 
instruções. Em seguida, o processador precisa acessar a memória principal, uma vez por 
microssegundo. O módulo de DMA transfere caracteres a uma taxa de 1200 
caracteres por segundo, ou um a cada 833 mS. O DMA, portanto, "rouba" a cada 833 
1 
 
ciclo. Isso retarda o processador aproximadamente 
833 
 
 
 7.13 a) Para a efetiva transferência, o tempo necessário é (128 bytes) / (50 KBps) = 2.56 ms. 
 Somado a isso é a hora de transferir o controle de ônibus no início e no final da transferência, que é de 250 + 250 
= 500 ns. Este tempo adicional é insignificante, de modo que o tempo de transferência pode ser considerado como 
2,56 ms. 
b) O tempo de transferência de um byte no modo de ciclo de roubo é 250 + 500 + 250 = 1000 ns 
= 1 mS. A quantidade total de tempo que o ônibus é ocupado para a transferência é de 128 mS. Este 
é menor do que o resultado obtido na parte (a) por um factor de 20. 
7.14a) Às 5 MHz, no ciclo de clock leva 0,2 mS. A transferência de um byte, portanto, leva 0,6 
mS. 
 b) A taxa de dados é de 1 / (0,6 × 10 -6 ) = 1,67 MB / s 
c) Dois estados de espera adicionar um acréscimo de 0,4 mS, de modo que a transferência de um byte leva 1 mS. 
A taxa de dados resultante é 1 MB / s. 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros.18/01/2021 12:24:46
7.15 Um ciclo de DMA pode demorar até 0,75 mS sem a necessidade de estados de esper Este a)
 corresponde a um período de relógio de 0,75 / 3 = 0,25 mS, que por sua vez corresponde a uma velocidade de 
 relógio de 4 MHz. Esta abordagem permitiria eliminar os circuitos associados a inserção estado de espera e 
também reduzir a dissipação de energi a)
7.16 a) Ligações de telecomunicações pode operar continuamente, por isso o modo burst não pode ser 
utilizado, pois isso seria amarrar o ônibus de forma contínu É necessário Ciclo-roubo. a)
b) Porque todas as 4 ligações têm a mesma taxa de dados, que deve ser dada a mesma 
prioridade) 
-45 - 
 
7.17 Apenas um dispositivo de cada vez pode ser atendido em um canal seletor. Assim, 
Taxa máxima = 800 + 800 + 2 × 6,6 + 2 × 1,2 + 10 × 1 = 1625,6 KBytes / seg 
7.18 a) O processador só pode dedicar 5% do sI tempo de I / O. Assim, o valor máximo de I / O 
taxa de execução de instrução é de 10 × 0,05 = 50.000 instruções por segundo. A taxa de transferência de E/S é, 6
portanto, 25.000 palavras / segundo. 
b) O número de ciclos de máquina disponível para o controle de DMA é 
 
106(0,05 × 5 + 0,95 × 2) = 2,15 × 106 
 
Se assumirmos que o módulo de DMA pode usar todos esses ciclos, e ignorar qualquer 
instalação ou o tempo de verificação do status-, então este valor é o que a transferência de E/S máximo 
taxa) 
7.19Para cada caso, calcula-se a fracção g de bits que são transmitidos bits de dados. Em seguida, o 
ER máxima taxa de dados eficaz é 
ER = gR 
a) Há 7 bits de dados, 1 bit de início, 1,5 stop bits e 1 bit de paridad e)
7 
 
 g = 
 1 + 7 + 1 + 1,5 
= 7/10.5 
 
ER = 0,67 × R 
 
b) Cada quadro contém 48 + 128 = 176bits.O número de caracteres é 128/8 = 16, 
 
e o número de bits de dados é 16 × 7 = 112. 
 
 ER = 
 
c) Cada quadro contém 48 = 1024 bits. O número de caracteres é 1024/8 = 128, 
e o número de bits de dados é de 128 × 7 = 896. 
 
 072 
 
 
 
d) Com 9 caracteres de controle e 16 caracteres de informação, cada quadro contém (9 + 16) 
× 8 = 200 bits. O 
número de bits de dados é de 16 × 7 = 112 bits. 
 
 
 
e) Com 9 caracteres de controle e 128 caracteres de informação, cada quadro contém 
(9 + 128) × 8 = 1096 bits. O número de bits de dados é de 128 × 7 = 896 bits. 
 
 096 
 
-46 - 
Impresso por Vitor Parisi, CPF 456.173.188-10 para uso pessoal e privado. Este material pode ser protegido por direitos autorais e não
pode ser reproduzido ou repassado para terceiros. 18/01/2021 12:24:46
 
7,20 Suponha que as mulheres estão trabalhando ou dormindo, ou de outra forma envolvidos. O a)
primeira vez que o alarme dispara, ele alerta, tanto que é hora de trabalhar em maçãs. O 
sinal de alarme ao lado provoca apple-servidor para pegar uma maçã um jogue-o sobre o 
cerca) O terceiro alarme é um sinal para a Apple comedor de que ele pode pegar e comer a 
maçã. A transferência de maçãs is em sincronia perfeita com o despertador, 
qual deve ser ajustado para corresponder exatamente às necessidades da Apple comedor. Este procedimento é 
análoga à transferência síncrona de dados entre um dispositivo e um 
computador. Isso pode ser comparado a uma leitura I/Ofuncionamento num baseado no barramento típico 
sistema) O diagrama de temporização é como se segue: 
 
No primeiro sinal de relógio, a porta endereço é a saída para o barramento de endereços. No 
 segundo sinal, a linha de leitura I/Oé activado, fazendo com que a porta seleccionada para colocar os dados no 
barramento de dados. No terceiro sinal de relógio, o CPU lê os dados. 
Um problema potencial com E/S síncrona ocorrerá se da Apple-comedor 
 precisa de mudanças. Se ele tiver que comer em um ritmo mais lento ou mais rápido do que a velocidade do 
clock, ele quer ter muitas maçãs ou muito poucos. 
b) As mulheres concordam que a Apple-server vai pegar e jogar mais de uma maçã 
 sempre que vê a bandeira de ondulação da Apple comedor. Um problema com essa abordagem é que se a Apple 
 comedor deixa sua bandeira para cima, Apple-servidor vai vê-lo o tempo todo e vai inundar a amiga com maçãs. 
Este problema pode ser evitado mediante 
Apple servidor uma bandeira e que prevê a seguinte seqüência: 
1. Apple comedor levanta a bandeira "com fome" quando estiver pronto para uma maçã. 
2. Apple servidor vê a bandeira e joga sobre uma maçã. 
3. Ondas brevemente Apple servidor a sua bandeira "enviou-maçã" 
4. Apple comedor vê a bandeira "enviou-maçã", leva para baixo a sua bandeira "com fome", e 
agarra a maçã. 
5. Apple comedor mantém sua bandeira "com fome" fica para baixo até que ela precisa de um outro 
maçã. 
Este procedimento é análogo ao assíncrono I / O. Infelizmente, a Apple- 
-47 - 
 
 servidor pode estar fazendo algo diferente do que assistir a bandeira de sI amigo (como dormir!). Nesse caso, ela 
 não vai ver a bandeira, ea Apple comedor vai passar fom Uma solução é não permitir apple-servidor para fazer e)
nada, mas olhar para a bandeira de sua amig Esta é uma votação, ou espera-loop, abordagem, que é claramente a)
ineficiente) 
 
c) Suponha que a corda que passa por cima da cerca e está ligada à Apple em servidor de 
pulso. Apple comedor pode puxar a corda quando ela precisa de uma maçã. Quando a Apple- 
servidor se sente um puxão na corda, ela pára o que está fazendo e joga mais de uma 
maçã. A seqüência corresponde a um sinal de interrupção e permite que a Apple-servidor para 
usar sI tempo de forma mais eficient Além disso, se a Apple em servidor está fazendo algo e)
realmente importante, ela pode temporarily desamarrar a corda, impossibilitando a interrupção. 
7.21 
 CAPÍTULO 8 OPERACIONAL SISTEMA SPOIO 
 
 RESPOSTAS PARA PERGUNTAS 
 
8.1 O sistema operacional (SO) é o software que controla a execução de programas 
em um processador e que gere os recursos do processador. 
8.2 Criação do Programa: O sistema operacional oferece uma variedade de instalações e 
serviços, tais como editores e depuradores, para auxiliar o programador na criação

Mais conteúdos dessa disciplina