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