You are on page 1of 23
S UFC UNIVERSIDADE FEDERAL DO CEARA CAMPUS QUIXADA BACHARELADO EM CIENCIA DA COMPUTACAO EXERCICIOS RESOLVIDOS ARQUITETURA E ORGANIZAGAO DE COMPUTADORES WLLLIAN STALLINGS RONILDO OLIVEIRA DA SILVA QUIXADA - CEARA 2014 INTRODUGAO 1.1. Qual é, em termos gerais, a distingao entre a organizagao e a arquitetura do computador? Arquitetura © Atributos de Sistema que so vsiveis para programador, atributos que tem impacto direto sobre a execugao logica de um programa Conjunto de instrugdes, niimero de bits utilizados para representar dados, mecanismos de E/S @ técnicas de enderegamento de meméria. Organizagao « Refere-se & unidades operacionais e suas interconexdes que implementam as especificagdes da sua arquitetura, Detalhes de hardware transparentes 20 programador, tais como, sinais de controle, as interfaces entre 0 computador e os periféricos e a tecnologia de meméria utilizada 1.2. Qual é, em termos gerais, a distingao entre a estrutura e a fungao do computador? « Estrutura: Modo como os componentes s&o inter-retacionados. «Fungo: Operagdo individual de cada componente como parte da estrutura. 1.3. Quais so as quatro funges principais de um computador? Processamento, armazenamento, movimentagao e controle 1.4. Lista e defina resumidamente os principais componentes estruturais de um computador. CPU: Controla a operagao do computador e desempenha fungdes de processamento de dados. Memeéria: Armazena dados e instrugdes E/S:Transfere dados entre 0 computador € 0 ambiente extemo (periféricos e comunicagao de dados). Sistema de interconexéo: Mecanismos que estabelecem a comunicacao entre a CPU, a meméria Principal e 0s dispositivos de E/S, 1.5, Lista e defina resumidamente os principais componentes estruturais de um processador. Unidade de Controle: Controla a operagao da CPU e, portanto do computador. Unidade Logica Aritmética: desempenha as fungdes de processamento de dados do computador. Registradores: Forecem 0 armazenamento que possibilita a comunicagao entre a unidade de controle, a ULA e os registradores. « _Interconexao de CPU: Mecanismo que possibilta a comunicagao entre a unidade de controle, a ULA © 08 registradores, DESEMPENHO E EVOLUGAO. 2.4. O que é um computador de programa armazenado? E um computador que obtém dados e instrugées a partir da meméria, pode ser modificado apenas pela atribuigo de valores as posi¢des de meméria 2.2. Quais so os quatro componentes principais de qualquer computador de uso geral? Meméria principal: armazenadora de dados e instrugdes Unidade Légica e Aritmética (ULA): realiza operagdes com dados binarios; Unidade de Controle: interpreta e executa instrugdes armazenadas na meméria Dispositivos de E/S: Eles permitem a interacao do processador com o usuario, 2.3. No nivel de circuito integrado, quais so os trés constituintes princi ‘computagao? * Unidade de processamento (CPU): ‘+ Controlador de transito de dados (Multiplexador); ‘Ammazenamento de dados e instrugdes (Meméria), 2.4, Explique a lei de Moore. A lei de Moore obsena que 0 niimero de transistores que podiam ser impressos em uma tnica pastilha dobrava a cada ano e previa corretamente que esse crescimento continuou, ano apos anos & década apés década 2.5, Liste e explique as principais caracteristicas de uma familia de computadores. ‘© Conjunto de instrugées idéntico ou semelhante: Em muitos casos, o mesmo conjunto de instrugdes de maquina usado em todos os membros da familia. Membros mais simples da familia possui em ‘conjunto de instrugdes que constituem um subconjunto de instrugdes das instrugGes usadas nos ‘computadores do topo de linha da familia. «Sistema operacional idéntico ou semelhante: O mesmo sistema operacional basico esta disponivel ‘em todos os membros da familia, Namero crescente de portas de E/S. Custo crescente. Capacidade de meméria crescente 2.6 O clock do processador é uma das medidas utilizadas para medir sua velocidade. Explique o motivo pelo qual comparar apenasesse clock nao é uma forma correta de comparara capacidade de dois processadores de executarem instrugdes. Mostre ainda outras evolugées na arquitetura e organizagao dos processadores que melhoraram a eficiéncia de execugdo de instrucdes. Existem vérios outros atributos de um processador que devem ser levados em conta, Além do clock, temsse a \elocidade basica, o tamanho e 0 grau de simultaneidade que implica em processamentos paralelos e transferéncias entre a meméria e a CPU. 2.7 Comente as dificuldades em melhorar a eficiéncia dos processadores atuais e explique porque as arquiteturas paralelas sao uma alternativa. A dificuldade de melhoria dos processamentos é devida a falta de correspondéncia de velocidade da taxa de transferéncia de dados entre a meméria principal e a CPU. 28 0 fator critico de desempenho & na comunicagéo entre processador e meméria principal. Explique algumas medidas que podem ser tomadas para melhorar essa comunicagao. + Ampliar 0 ntimero de bits obtidos em cada acesso a meméria, aumentando a largura das memérias, DRAM em vez de sua capacidade e utlizando barramentos de dados mais largos. + Mudar a interface de memoria DRAM para tomé-las mais eficiente, usando uma meméria cache ou ‘outro esquema de armazenamento temporério na pastilna de meméria DRAM. « Reduzir a frequéncia de acesso a memoria, incoporando estruturas de memérias cache eficientes e ‘complexas entre 0 processador e a meméria principal. Isso inclui o uso de memérias cache tanto na pastilha do processador como fora dele. * Aumentar a largura de banda da conexao entre processadores e memérias usando barramento de alta velocidade © uma hierarquia de barramentos para estruturar o fluxo de dados e armazenar os dados temporariamente. BARRAMENTOS 3.11 Liste e defina resumidamente os estados possiveis que definem a execucao de uma instrucao . Transferéncias de valores entre o processador e a meméria ou E/S © Calculo de enderego de instrugéo - 0 endereco da préxima instrugéo a ser executada é determinado (geralmente & um incremento ao endereco da instrugdo anterior) «Busca de instrugao — Uma instrugdo ¢ lida na meméria e armazenada no processador. © Decodificagao de instrucdo — 0 cédigo da instrugdo a ser executada é analisado, para determinar ‘qual é a operagdo a ser realizada e os operandos a serem usados, Operagées internas no processador. « CAlculo de enderego de operando - Se a operagao emolver a referéncia a um operando na meméria ou estiver disponivel via E/S, 0 enderego do operando sera determinado, Busca de operando- O operando ¢ localizado na memoria ou é lido do dispositivo de E/S. Execugao da operacao—A operacao indicada na instrugao ¢ executada Armazenamento de resultados— 0 resultado é escrito na meméria ou no dispositive de E/S. 3.2. Qual o beneficio em utilizar a arquitetura de barramento multiplo em relagao a estrutura de barramento unico? Usar um barramento miitiplo é mais eficiente pois & composto de varios barramentos tinicos postos hierarquicamente,com fungdes @ barramentos especificos (local, do sistema, de expansdo e de alta velocidade em alguns casos). Ao contrario do baramento singular, pode receber mais conexdes de dispositives sem perder significantemente 0 desempenho, 3.3. Descreva como acontece a sequéncia de instrugées na figura do slide 13 . « E efetuado 0 caloulo da proxima instrugdo (incremento 1. no valor da instrugo anterior, por exemplo). Busca a instrugo lendo-a do seu local da meméria para o processador. Analisa a instrugéo para determinar 0 tipo de operaglo @ ser realizado eo operando @ serem utilizados «Se a operacao envolver referéncia a um operando na meméria ou dispositive E/S, ent&o determina ou [8 da E/S. Realiza a operagao indicada na instrugao. «Escreve 0 resultado na memoria ou envia para a E/S. 3.4. Explique o que & uma interrup¢do, quais as suas vantagens e desvantagens e como o ciclo de interrupgao ¢ adicionado ao ciclo normal de uma instrugao. Fale ainda sobre as miltiplas interrupcoes. Interrupgao € um método de paralisagao da espera do processador de uma instrugao que esta sendo concluida. Como 0 processador é mais rapido que as demais comunicagées, ele interrompe ‘a espera e processa uma nova instrugao antes da anterior acabar. ‘As \antagens das interupgées € de no permitir a ociosidade do processador em meio as transferéncias de dados entre ele e dispositivos extemos (que s40 mais lentos que a CPU), ‘As desvantagens podem ser resumidas no fato de a instrugao anterior acabar_no meio do proceso de uma outra instrugao ou interrupeéo. Dai, tem-se a necessidade de aplicar um método de manipulagdo de interupgdes. © Ciclo de interrupeao ¢ adicionado ao ciclo de de uma instrug&o para acomodar as interupgées. A cada execugdo de instrugdo, hé a verificago de interrupcao. Se a mesma no houer concluido, ovamente busce-se mais uma instru¢ao. Caso a instrugao esteja finalizada, conclué-se 0 ciclo de normal de instrugao. © Considerando que haja vérias instrugdes, haveré também miltiplas interrupgdes, isso 6, 0 processador pode gerar uma interup¢ao para processar uma outra instrugao, @ nesse meio tempo, poderé haver mais uma interrupeao. O tratamento dessas mitipias interrupgées podem ser feitos ‘em forma de fla, em ordem de “chegada” ou por prioridades das interrupgdes, 3.5. Fale sobre os trés tipos de barramentos: endereco, dados e controle. Linhas de dados - fornecem um caminho para a transferéncia de dados entre os médulos do sistema. Possui tipicamente 8, 16 ou 32 linhas é conhecido como largura do barramento de dados, cconstitui um parametro fundamental para o desempenho global do sistema. « Linhas de enderego ~ Sao utilizadas para designar a fonte ou 0 destino dos dados transferidos pelo barramento de dados. Enderegam também as postas de E/S. Linhas de controle — Usadas para controlar 0 acesso e a utilizagao das linhas de dados e de endereco. Proporcionam uma maneira de controle j4 que as linhas de dados e de endereco séo ‘compartlhadas por todos os componente. 3.6. Explique a arquitetura de barramento de alto desempenho, também conhecida como Arquitetura Mezanino, e mostre suas vantagens e desvantagens. Na arquitetura de barramento tradicional, pode-se conectar controladores de E/S diretamente no barramento, Porém no é to eficaz quando se tem um desempenho maior nos dispositivos de E/S. Uma solugéo mais eficiente foi a utiizagao de um barramento de alta velocidade que esteja integrado ao restante do sistema, exigindo apenas um ponte entre o barramento do processador e 0 de alta velocidade. 3.7. Explique a sequéncia de acées nos diagramas de temporizacao sincrono e assincrono dos slides 51, 62¢ 53. © processador coloca um enderego de meméria nas linhas de enderego no primeiro ciclo e ativa as linhas de estado logo em seguida. Ata 0 enderego logo apés a estabilizacao das linhas de estado. Emite um ‘comando de leitura no inicio do segundo ciclo. Um médulo de memoria reconhece 0 enderego e apés um ciclo coloca os dados na linha de dados.O rocessador lé 0s dados da linha € remove o sinal de leitura. No caso de uma escrita, o processador coloca ‘08 dados no inicio da segundo ciclo e emite um sinal de escrita apés a estabilizagao. O médulo de memoria copia a informagao das linhas de dados no terceiro ciclo. ‘Temporizagao assincrona Nestes casos, os eventos dependem da ocoréncia do evento anterior. © processador coloca um sinal de endereco e estado no barramento. ‘Apés a sua estabilizagao, é emitido 0 comando de leitura, indicando sinais vélidos de enderego & controle, ‘A memoria decodifica os enderegos e coloca os dados na linha de dados. Quando os dados se estabilizam, a meméria ativa a linha de confirmacao para sinalizar que os dados estao disponives. © Quando os dados forem lidos, & emitido 0 sinal de leitura, e a meméria retira os dados e a linha de ‘confirmacao. « Eremovida a informagao do enderego. ‘Temporizagao assincrona simples © © mestre coloca os dados na linha de dados e sinais nas linhas de enderego e de estado simultaneamente, «A meméria responde a0 comando de escrita copiando os dados da linha de dados e ativando a linha de confirmagao. « Omestre remove 0 sinal de escrita e 0 médulo de meméria remove o sinal de confirmagao. MEMORIA INTERNA 4.1. No contexto da memoria interna, defina o que é uma Palavra. Palawa pode ser um conjuntos de bits que representam um numero inteiro, pode ser também uma Unidade maxima de transferéncia por ciclo ou até mesmo a largura do barramento de uma memaéria 4.2. Sobre os principios da memoria cache, explique o funcionamento apresentado nas figuras dos slides 20¢ 24, Slide 20: ‘a - Cache Unica) A fungao da meméria cache ¢ auxiliar o processador a receber dados da memeéria de forma mais eficiente e répida, alguns bytes de enderego de dados ou instrugdes s40 carregados nela ja antecipando 0 acesso & memoria principal, Caso 0 endereco no esteja na cache, é necessatio esse acesso mais lento. b- Varios niveis de cache) J com mais nives de cache, o funcionamento € praticamente 0 mesmo, algumas diferengas so 0s tamanhos que so indiretamente proporcionais. a velocidade e que dois dos trés niveis s8o partes do processador, assim assumindo maior eficiéncia na transferéncia de dados reduzindo esse gargalo. Slide 24: Operagao de leitura de cache. E solicitada e recebida 0 enderego de leitura da palawa; Verifca seo enderego da palawa_solicitada esta em cache; Se estiver, recebe a palawra e entrega ao processador, Finaliza a operacéo. Em caso contrario (0 enderego da palawa néo esteja em cache); ‘Acessa a meméria principal no bloco onde esta o enderego de leitura ‘Aloca espago na cache para o bioco de meméria Entrega a palava ao processador, Finaliza a operacéo. 4,3. Explique o principio da localidade. Como a cache acessa um bloco da meméria principal, decorre um aumento da probabilidade das demais consultas de dados por ela feita ser novamente enderecada para o mesmo bloco. 4.4. Sobre os elementos da meméria cache, fale sobre as fungées de mapeamento direto e associativo. Cite pelo menos uma vantagem e desvantagem de cada. « Mapeamento direto: Uma tnica linha da meméria cache € relacionada com um bloco da meméria principal Facil implementag8o Blocos implementados em uma linha fixa da cache. « Mapeamento associativo: Qualquer bloco da meméria principal pode ser relacionado a uma linha da meméria cache Implementagao de circuitos complexas. 4.5. Explique a necessidade dos algoritmos de substituicdo para 0 mapeamento associativo e porque esses algoritmos nao servem quando se trabalha com o mapeamento direto. Ainda sobre os algoritmos de substi lamente os algoritmos LRU, FIFO, LFU e Aleatorio. Uma vez que a cache estiver cheio, e um now bloco for trazido para a cache, um dos blocos existentes precisa ser substituido. Para o mapeamento direto, existe apenas uma linha possivel para qualquer bloco em particular e nenhum a escolha é possivel LRU: Substitua aquele bloco no conjunto que permaneceu na cache por mais tempo sem qualquer referencia a ele, FIFO: substitua 0 bloco no conjunto que esteve na caché por mais tempo, LFU: substitua aquele bloco no conjunto que teve menos referencia Aleatorio: Escolhe uma linha aleatéria dentre as linhas candidatas. 4.6. Explique as trés técnicas de coeréncia de cache: observagao do barramento, transparéncia de hardware e meméria nao cacheavel. Monitoramento do barramento: Cada controlador de meméria cache monitora as linhas de endereco para detectar operagdes de escrita na memoria feitas por outros mestres do barramento, Transparéncia em hardware: Um hardware adicional é utilizado para assegurar que todas as atualizagées feitas na memeéria principal por meio de uma meméria cache sejam refletidas em todas ‘as demais memérias cache. Se um processador modifica uma palawa em sua meméria cache, além dessa atualizag8o ser feita na meméria principal, as palawas correspondentes nas demais memérias cache so também atualizadas, Meméria ndo-cacheavel: £ apenas uma parte da memeéria principal € compartithada por mais de um processador e ndo pode ser associada @ meméria cache, 4.7. Explique como funciona internamente as duas tecnologias de acesso aleatério, dinamica e estatica, utilizadas para construcéo de memoria cache e principal. Fale sobre as vantagens e desvantagens de cada uma em termos de custo, capacidade e tempo de resposta. ASDRAM séo diferente das memérias DRAM classicas, que possuem uma interface assincrona, por isto respondem tao rapido quanto possivel a mudancas nas entradas de controle, a SDRAM possui uma interface sincrona, significando que ela espera pelo sinal do clock antes de responder as entradas de ‘comando e é portanto sincronizada com o barramento do sistema do computador, 4.8, O que sio as memérias de acesso sequencial, direto e aleatério? ‘Acesso sequencial: é feito de forma linear e para chegar a determinada parte e preciso passar pelos seus intermediarios. ‘Acesso direto: blocos tem seu endereco baseado no local fisico, para acessar determinada parte da memoria faz-se 0 acesso direto aos blocos e sequencial ate determinado endereco. ‘Acesso aleatério: cada local enderegavel tem um enderego baseado na localizagao fisica, assim qualquer um pode ser acessado de forma direta, 4.9. Qual o relacionamento entre tempo de acesso, custo de meméria e capacidade? 4.10. Como o princi ‘Tempo de acesso mais rapido, maior custo por bit. Maior capacidade menor custo por bit Maior capacidade tempo de acesso maior. da localidade se rela na com o uso de milltiplos niveis de meméria? Quanto mais perto do processador os blocos guardados na cache sero os que tem mais chance de serem mapeados mais frequentemente (principio de localizagéo temporal) como os blocos da L1 séo menores ha mais chance de linhas proximas serem mapeadas (principio de localizacao espacial. MEMORIA EXTERNA 5.1. Explique como acontece a gravacao e leitura em um disco magnético. * Gravagao: Por uma bobina chamada cabega. Os pulsos séo enviados 4 cabega de gravagdo e os padres magnéticos s20 gravados na superficie abaixo, * Leitura: Quando a superficie do disco passa pela cabega gera uma corrente de mesma polaridade da gravada 5.2. Como 0 uso de varios discos pode melhorar a confiabilidade ou o tempo de acesso as informagées armazenadas? Com diversos discos, diferentes requisig6es de E/S podem ser processados em paralelo, desde que ‘08 dados requeridos residam em discos separados. Também, uma tinica requisicao de E/S pode ser executada em paralelo se 0 bloco de dados for distribuidos em varios discos Varios discos podem ser utiizados como armazenadores tanto de cépias completas do disco, como © de blocos e bits de paridade. Tais técnicas de redundancia e de paridade, trazem seguranga ao ambiente, 5.3. Defina os termos tempo de busca, atraso rotacional, tempo de acesso e taxa de transferénci: «Tempo de busca: tempo para posicionar a cabega na trifha « Atraso rotacional: Tempo para inicio do setor alcance a cabeca Tempo de acesso: Soma do tempo de busca e do atraso rotacional «Tempo de transferéncia: Tempo necessario para uma operacéo de leitura ou esorita 5.4. Que caracteristicas comuns séo compartilhadas por todos os niveis de RAID? RAID 6 um conjunto de discos fisicos vistos pelo Sistema Operacional como uma tinica unidade légica Os dados so distribuidos pelos discos fisicos pelo esquema de striping. A capacidade do disco redundante € usada para armazenar informagdes de paridade usada para recuperar dados ‘em uma facha de disco. 5.5, Defina resumidamente os 6 primeiros niveis de RAID. + RAID 0 : Nao redundante, intercalago de dados (striping), alta capacidade de transferéncia (paralela); RAID 1: Redundante, espelhamento de discos, utiliza o dobro de discos; RAID 2: Acesso paralelo, redundante, paridade via cédigo de Hamming, utiliza m discos a mais; RAID 3. Acesso paralelo, paridade de bit intercalada nos discos, utiliza apenas um disco para isso; RAID 4: Acesso independente, paridade de bioco intercalada, utiliza apenas um disco para isso; RAID 5: Acesso independente, paridade de bloco intercalada e distribuida RAID 6: Acesso independente, paridade de bloco dupla intercalada e distribuida; 5.6. No contexto do RAID, mostre a diferenga entre acesso paralelo e acesso independente. * Paralelo: Todos os discos membros participal na execugo de cara solicitagao de E/S Normalmente os eixos das unidades indivduais s4o sincronizadas de modo que casa cabega de disco esteja na mesma posiga0 em cada disco a qualquer instante. Independentes: Cada disco opera independente, assim sdlcitagdes de E/S podem ser feitas separadamente e em paralelo. ENTRADAE SAIDA 6.1. Liste trés classificagées gerais de dispositivos externos ou periféricos. ¢ Dispositivos voltados para a comunicagao com 0 usuario; « Dispositivos voltados para a comunicagao com a maquina; ¢ Dispositivos voltados para a comunicagao com dispositivos remotos; 6.2. Quais as principais funcdes de um médulo de E/S? Controle temporizagao Comunicacae com 0 processador. Comunicagéo com 0 dispositive ‘Ammazenamento temporario (buffering) de dados. Detecgao de erro. 6.3. Liste e defina resumidamente trés técnicas para realizar EIS. «EJS programada: a E/S ocorre sob 0 controle direto e continuo do programa solicitando a operagéo de E/S, «B/S controlada por interrupgo: um programa emite um comando de E/S e depois continua a executar, ate que Seja interrompido pelo hardware de E/S para sinalizar o final da operagao de E/S. © Acesso direto 4 meméria (DMA): um processador de E/S especializado assume o controle de uma ‘operacao E/S para mover um grande bloco de dados. 6.4. Qual a diferenga entre E/S mapeada na memoria e E/S independente? Na E/S mapeada na meméria, existe um tinico espaco de enderecamento para posigdes de meméria e dispositivos de E/S. Os registradores de dacbs e de estado dos médulos de E/S sao vistos pelo processador como posigdes de meméria, e as mesmas instrugdes de maquina so usadas para acessar a meméria ou os dispositivos de E/S. Altemativamente, ele pode inclu, além das linhas de leitura e escrita, linhas de comando de entrada e saida. Nesse caso, uma linha de comando especifica se um endereco corresponde a uma posigo de meméria ou a um dispositivo de E/S. Qualquer enderego pode corresponder a uma posi¢ao de memeéria ou a um dispositivo de E/S, ‘Com dez linhas de endereco, o sistema pode incluir 1024 posigdes de meméria e 1024 enderegos de E/S. Como 0 espaco de enderecamento de E/S € independent do espago de enderecamento de meméria, esse modo é denominado EIS independente. 6: Quando ocorre uma interrupgao de dispositive, como o processador determina qual dispositivo iu a interrupgo? Linhas de interrup¢ao indivduais: Software polling, Daisy chain ou hardware polling, Arbitragem do barramento (bus mastering) 6.6. Quando 0 médulo de DMA toma o controle de um barramento, ¢ enquanto retém o controle do barramento, 0 que o processador faz? Depois de enviar 0 comando, processador pode continuar executando outras instrugdes. ‘A-execugao da operagao de EIS € delegada ao médulo de OMA Ele transfere diretamente todo 0 bloco de dados, uma palawa de cada vez, diretamente de ou para ‘a memoria, sem a intervengao do processador, Quando a transferéncia € concluida, o médulo de DMA envia um sinal de interrupcao para 0 processador. Dessa maneira, 0 processador é envolvido apenas no inicio e Tio fim da transferéncia do bloco de dados. ARITMETICA COMPUTACIONAL 7.1. Explique resumidamente as seguintes representagdes: sinal-magnitude, complemento a dois, polarizada. « Sinabmagnitude: E alocado 0 bit mais significativo para o sinal (0 corresponde ao positivo e 1 a0 negative), o restante dos bits so para a representacao do numero inteiro. © Complemento_a dois: © bit mais significativo representa o sinal do nimero, porém os numeros negativs so compostos do complement bit a bit do nimero positivo acrescido de 1 + Polarizada Um valor fix chamado polarizacao 6 subtraido do campo para obter 0 verdadeiro valor do expoente. 7.2. Explique como determinar se um nimero negativo nas seguintes representagdes: sinal-magnitude, complemento a dois, viesada. © Sinalmagnitude: O bit mais significativo seré 1 (bit de sinal) © Complemento_a dois: O bit mais significatio seré 1 (bit de sinal) © Viesada ‘um numero negativo, se 0 valor da representagao é inferior 20 wés. 7.3. Qual a regra de extensao de sinal para nimeros de complemento de dois? Acrescenta-se posigdes de bit & esquerda e preenche-se esses bits com 0 velor do bit do sinal original 7.4, Como vocé pode formar a negagao de um inteiro na representagdo de complemento de dois? ‘Tomase 0 complemento booleano bit a bit do numero ¢ acrescenta-se 1 a0 numero obtido. 7.5. Em termos gerais, quando a operagéo de complemento de dois em inteiro de n bits produz 0 mesmo inteiro? Quando bit mais significativo ¢ igual a 1 € ou demais so iguais a 0 7.6. Qual 6 a diferenga entre a representagéo de complemento de dois de um nimero e 0 complemento a dois de um nimero? «No complemento a2 ha duas representagdes para 00 (0 e +0), * No complemento de 2 existe apenas uma representagao para o 0, porém existem quantidade de valores positivos e negativos. diferentes. 7.1. Se tratarmos 2 nimeros de complemento de dois como inteiros sem sinal para fins de adigao, o resultado é correto se interpretado como um niimero de complemento de dois. Isso nao é verdade para a multiplicagao. Por qué? io] © algoritmo para a realizagao de complemento de 2 envolve simplesmente a adigao dos dois nimeros da mesma maneira que para numeros sem sinal, com um teste de “estouro” (overflow). Para a multiplicacao, se tratarmos os padres de bits como numeros sem sinal, a sua magnitude é diferente das versdes complemento de dois e por isso a magnitude do resultado sera diferente. 7.8. Quais s&0 08 quatro elementos essenciais de um nimero na notagao de ponto flutuante? Sina; Mantissa; Base; Expoente. 7.9. Qual é beneficio de usar a representagao polarizada para a parte de expoente de um niimero de ponto flutuante? A polarizagao do expoente para a preciso simples € 127, ou seja, 0 expoente é representado como © expoente real do numero somado a 127. Com esta polarizagao, é possivel representar os expoentes reais no intenalo [-127 ..._ +128] e com isso temios que os expoentes polarizados estardo no intervalo [0 ... 255] ‘A pdiarizagdo é usada para facilitar as operagdes de ponto flutuante feitas pelos circuitos, pois ela permite que 0 expoente seja manipulado apenas como numero positive. 7.10. Quais séo as diferencas entre overfiow positivo, overflow do expoente e overflow do + Qverfiow_positivo: Quando © numero a ser representado supera a quantidade de bits da palava, + Qverlow_do expoente; Quando a representagao bindria do expoente ¢ maior que o tamanho que é alocado + Qverfiow_do significado, Ocorre quando a adic de 2 signiicandos de mesmo sinal resulta num “vai-um" no bit mais signifcativ. 7.11. Quais sao os elementos basicos da adigao e subtragao de ponto flutuante? Necessidade de alinhamento, Existem quatro fases basicas do algoritmo para a adicao e subtragao’ © Verificar zeros; © Alinhar os significandos; « Somar ou subtrair os significandos; « Nommalizar o resultado. 7.12, Dé um motivo para 0 uso dos bits de guarda. Bits de guarda (bit adicional) garantem preciso melhor que metade do bit menos signifcativo da fragdo. Sem os bits de guarda ha perda de precisao a cada operacéo. 7.13, Liste quatro métodos alternativos de arredondamento do resultado de uma operacdo de ponto flutuante. = Arendondar para 0 mais préximo: 0 resultado ¢ arredondado para o niimero representavel mais proximo, Sl Sl = Arredondar para cima: o resultado é arrendondado para cima, na diregao de infinito positive. = Arredondar para baixo: 0 resultado é amedondado para baixo, na diregao de infinito negative. Arredondar para 0: 0 resultado é artedondado na diregdo de zero, CONJUNTO DE INSTRUGOES: CARACTERISTICAS E FUNGOES. 8.1. Quais os elementos tipicos de uma instrugao de maquina? Cédigo de operacéo Especifica a operacao a ser realizada (ADD, E/S). A operago € especificada por um cédigo binario conhecido como opcode (operation code. Referéncia 4 operando fonte ‘A operacao pode envolver um ou mais operandos fontes, ou seja, operandos que so entradas para ‘a operagao. Referéncia a operando destino ‘A operagao pode produzir um resultado. Referéncia_a proxima instruc&o Tss0 diz 20 processador onde buscar a proxima instrugao apés 0 término de execugdo desta instrugao. 8.2. Que tipos de locais podem manter operandos de origem e destino? Meméria principal ou virtual ‘Assim como as referencias & proxima instrugdo, 0 enderego da memoria principal ou virtual precisa ser fomecido. Registrador_do processador Com raras. excegdes, um processador contém um ou mais registradores que podem ser referenciados por instrugdes de maquina, Imediato (O valor do operando esta contido em um campo da instrugao sendo executada Dispositivos_de E/S ‘A instrugao precisa especificar o médulo e o dispositi de E/S para a operagéo. Se a E/S mapeada na meméria for usada, esse & apenas outro endereco da meméria principal ou vital 8.3. Se uma instrugo contém quatro enderecos, qual poderia ser a finalidade de cada endereco? Dois deles para referencia de origem de operandos; Um para referéncia de destino: Um para referencia de préxima instrugao. 8.4, Liste e explique resumidamente cinco questées importantes no projeto do conjunto de instrugées. © Repertério de Operacéo: Quantos e quais operacdes para fornecer, e como operacées complexas deve ser Qs tipos de dados: Os varios tipos de dados em que operagdes séo executadas. Formato de_Instrugo: Instrugo comprimento (em bits), nlimero de enderegos, o tamanho de varios ‘campos, e assim por diante « Registros: Niimero de registros de CPU que pode ser referenciado por instrugées, e a sua utiizagao. N Sl © Enderegamento: © modo ou modos pelos quais o enderego de um operando é especificado 8.5. Que tipos de operandos sio tipicos nos conjuntos de instrucao de maquina? Enderegos, niimeros, caracteres e dados logicos. 8.6. Qual é o relacionamento entre o cédigo de caracteres IRA e a representagéo decimal agrupada? Para o padrdo de bits IRA 011XXXX os digitos de 0 2 9 sdo representados por seu equivalentes binarios, 0000 a 1001, nos 4 bits mais significatios (@ direita). Esta é 0 mesmo cédigo como a representago decimal-bindria, 8.7. Qual a diferenga entre um deslocamento aritmético e um deslocamento légico? No deslocamento légico, os bits de uma palawa sao deslocados para a esquerda ou direita. Numa ‘extremidade, o bit deslocado para fora esta perdido. Na outra extremidade, um 0 € deslocado dentro. ‘A operagao de deslocamento aritmético trata os dados como um inteiro com sinal e néo muda esse bit de sinal. Em um certo desiocamento aritmético, o bit de sinal & replicado para a posi¢&0 pouco a sua direita Em um deslocamento para a esquerda, no deslocamento aritmético, desvio @ esquerda légico é realizado em todos os bits, mas o bit de sinal, o que é retidos. 8.8, Por que sao necessarias instrugdes de transferéncia de controle? Na utilizago pratica de computadores, ¢ essencial que seja capaz de executar cada instrugdo mais de uma vez e, talez, milhares de vezes. Ela pode exigir milhares ou talvez mithdes de instrugdes para implementar uma aplicagao. Este seria impensével se cada instrugéo tiver que ser escrita separadamente. Se uma tabela ou uma lista de itens processada, um ciclo do programa € necessério. Uma sequéncia de instrugdes é executada repetidamente para processar todos os dados. Praticamente todos 0s programas envolvem alguma tomada de deciséo. Queremos que o ‘computador faga uma coisa, se um condi¢ao se mantém, e outra coisa, se outra condigéo se mantém. Para compor corretamente um programa de computador grande ou mesmo de médio porte ¢ uma tarefa bastante dificil. Mas pode ser amenizada se existir mecanismos para quebrar a tarefa em menores ‘tamanhos que podem ser trabalhados em um de cada vez. 89. Liste e explique resumidamente duas maneiras comuns de gerar a condigdo a ser testada em uma instrugao de desvio. Primeiro, a maioria das maquinas proporcionam um cédigo de condigéo de 1 bit ou bits miltiplos, que € definido como 0 resultado de algumas operacdes Outta abordagem que pode ser utiizada com um periodo de trés endereco formato de instrucdo é realizar uma comparagao e especificar um ramo da mesma instrugéo. 8.10. O que significa o termo aninhamento de procedimentos? Esse termo se refere a ocorréncia de um procedimento chamado dentro de outro procedimento. 8.11. Liste trés locais possiveis para armazenar 0 enderego de retorno para um retorno de procedimento. Registrador, inicio do procedimento e topo da pilha A Sl 8.12. O que 6 um procedimento reentrante? Um procedimento de reentrada € aquele em que é possivel ter varias ligagdes abertas para ele 20 mesmo tempo. 8.13. O que 6 notacao polanesa invertida? Nesta notacao, 0 operador segue (localiza-se apds) os seus dois operands. 8.14, Qual a diferenga entre big-endian e litle-endian? Um valor de miitiplos bytes armazenado com 0 byte mais significativo no menor enderego numérico esta armazenado como big-endian Um valor de miitiplos bytes armazenado com 0 byte mais significative no maior endereco numérico esta amazenado na como iittle-endian. MODOS E FORMATOS DE ENDERECAMENTO E considerada a forma mais simples de enderegamento, no qual 0 valor do operando esta presente na instrugo. 9.2. Defina resumidamente enderegamento direto. E uma forma simples de enderegamento, onde 0 campo de enderego contém o endereco efetivo do ‘operand. 9.3. Defina resumidamente enderegamento indireto. Como o tamanho do enderego & normalmente menor que o tamanho da palawra, (limita o intervalo de enderegos), 0 enderegamento indireto possui 0 campo de endereco se referindo ao endereco de uma palavra, 0 qual por sua vez, possui contém o endereco completo do operando. 9.4, Defina resumidamente enderegamento de registradores. Semelhante ao enderegamento direto. Difere que 0 campo de enderego se refere a um registrador ‘em vez da meméria principal. 9.5, Defina resumidamente enderegamento indireto por registradores. De maneira andloga 20 enderegamento indireto, possui o campo de endereco se referindo ao endereco de uma registrador. 9.6. Defina resumidamente enderegamento por deslocamento. E @ unio de enderecamento direto e indireto, onde o enderegamento indireto (opcode), referese a um registrador cujo os contetidos so adicionados ao registrador direto. 9.7. Defina resumidamente enderecamento relativo. © registrador implicitamente referenciado & 0 contador de programa (PC). O enderego efetivo ¢ 0 deslocamento relativo ao enderego da instrugao. 9.8. Qual a vantagem da autoindexagao? ea Sl E tipico que existe uma necessidade de incrementar ou diminuir registo de indice depois de cada teferéncia a ele. Como esta é uma operaggo muito comum, alguns sistemas fazem isso automaticamente ‘como parte do mesmo ciclo de instrugao 9.8. Qual a diferenga entre posindexagao e pré-indexacao? Essas sdo duas formas de enderegar, tanto das que envolvem enderegamento indireto e indexagao. Com préindexacao, a indexagao é realizada antes do enderegamento indireto. Com a pos-indexagao, a indexagao € realizada apés 0 enderegamento. 9.10. Quais fatores devem ser levados em conta para determinar o uso de bits de enderegamento de uma instrugao? Numero de modos de enderecamento Namero de operandos: Registrador vs meméria Namero de conjuntos de registros: Intenalo_de endereco: Granularidade de enderego: Pagina 341 9.11. Quais as vantagens e as desvantagens de usar o formato da instrugo de tamanho variavel? Vantagens: E facil dar um grande repertério de opcodes, com diferentes comprimentos. O enderegamento pode ser mais flexivel, com varias combinacdes de registros e referéncias de meméria além de modos de enderegamento. Desvantagens: um aumento na complexidade do processador. ESTRUTURA DE FUNGAO DO PROCESSADOR 10.1. Quais 08 papéis s40 desempenhados pelos registradores do processador? Registradores Visiveis 20 usuario: Estes permitem a linguagem de maquina pelos programadores para minimizar as referéncias de meméria principal, otimizando 0 uso de registradores. Registradores de controle e de estado: Estes so usados pela unidade de controle para controlar 0 funcionamento da CPU e, por programas de sistema operacionais privlegiados para controlar a execucéo de programas. 10.2. Quais categorias de dados s4o normalmente suportadas pelos registradores visiveis 20 usuario? Propdsito geral, dados, enderegos e cédigo condicionais. 10.3. Qual é a fungao de cédigos condicionais? Cédigos de condi¢ao so bits definidos pela CPU como o resultado das operagées. Por exemplo, uma operacao aritmética pode produzir um positive, negativo, zero, ou um “estouro’. Além do resultado em si que esta sendo armazenado em um registro ou memaéria, um cédigo de condigdo é também definido, O ‘cédigo pode ser posteriormente testado como parte de um operacao de ramificacao condicional 10.4. O que é a palavra de estado do programa? isl ‘Todos os projetos de CPU incluem um registo ou conjunto de registros, muitas vezes conhecida ‘como a palawa de estado de programa (PSW), que contém informagées de status. A PSW normalmente ‘contém cédigos de condi¢ao além de outras informagées de status. 10.5. Por que um pipeline de instrugéo de dois estagios dificilmente diminuira o tempo do ciclo da instrugao pela metade, quando comparado a um sistema sem pipeline «0 tempo de execugao geralmente ser maior do que o tempo de busca. execugdo ira envolver a leitura © armazenamento de operandos e do desempenho de alguma operagao. Assim, a fase de buscar pode ter de esperar por algum tempo antes que ele possa esvaziar o buffer. «A instrugdo de desvio condicional faz com que 0 endereco da préxima instrugao a ser desconhecido buscado. Assim, a fase de buscar deve esperar até receber proximo endereco de instrugao a partir da fase de execugdo. A etapa de execugdo pode, entdo, aguardar enquanto @ proxima instrugao 6 buscada 10.6. Liste e explique resumidamente vi com instrugées de desvio condicionais. s formas em que um pl 1e de instrugdes pode lidar © Miltiplos fluxos; Uma abordagem de forga bruta é replicar as partes iniciais do pipeline e permitir que 0 pipeline busque as duas instrugées, Busca antecipada do alvo do desvo: Quando um desvio condicional é reconhecido, 0 alvo do desvio é préobtido , além de a instrugdo que segue © deswo. Esta alo é entéo guardado até que a instrugao de deswo executada. Se o desvo € tomado, 0 alvo ja foi pré-obtido. Buffer de laco de repeticgo: Um buffer de lago uma pequena meméria, alta velocidade mantida pelo pipeline de busca e contendo n instrugdes mais recentes. « Previséo de desvio E possivel melhorar 0 desempenho do pipeline, reorganizando automaticamente instrugées dentro de um programa, de modo que instrugdes de desvio ocorrem mais tarde do que realmente desejado, 10.7. Como so usados 0s bits de histérico para previsdo de desvio? Um ou mais bits que refletem a o histérico recente da instrugéo podem ser associados com cada instrugao de desvio condicional. Estes bits sao referidos como chave tomada/ndo tomada feita que direciona ‘© processador para fazer uma deciso em particular, COMPUTADORES COM CONJUNTO REDUZIDO DE INSTRUGOES (RISC) 11.1. Quais sao algumas das caracteristicas peculiares tipicas da organizagao RISC? «Um conjunto limitado de instrugées com um formato fixo; «Grande numero de registros ou 0 uso de um compilador que otimiza a utilizagao do registrador. « _Enfase otimizar o pipeline de instrugao. 11.2. Explique brevemente duas abordagens basicas para mini em maquinas RISC. izar operagées registrador-memoéria Duas abordagens basicas s80 possiveis, uma baseada em software e o outro em hardware. A abordagem de software é contar com o compilador para maximizar 0 uso de registradores. O compilador tentara alocar os registros para as variéveis que iréo ser usadas mais em um determinado periodo de © Sl tempo. Esta abordagem requer a utiizagdo de sofsticados algoritmos de programa de andlise. A abordagem de hardware € simplesmente usar mais registradores para que mais variéveis pode ser mantidas em registros por mais tempo. 11.3. Se um buffer circular de registradores é usado para tratar variaveis locais para procedimentos aninhados, descreva duas abordagens para lidar com variéveis globais. Variéveis declaradas como global em uma HLL podem ser atribuidas a posigées de meméria pelo o compilador, e todas as instrugdes de maquina que fazem referencia a estas variaveis vo usar ‘operandos de meméria de referéncia ‘¢ Incorporar um conjunto de registros globais no processador Esses registros seriam fixados em numero e disponivel para todos procedimentos: 11.4. Quais s4o algumas caracteristicas tipicas de uma arquitetura de conjunto de instrugdes RISC? «Uma instrugao por ciclo. © Operagées registradorpare-registrador. ¢ Modos de enderegamento simples, «Formatos simples de instrugéo. 11.5. O que é um desvio atrasado? Desvio atrasado ¢ uma forma de aumentar a eficécia do pipeline, faz uso de um desvio que no tera efeito até que apds a execupdo da instrugao seguinte OPERAGOES DA UNIDADE DE CONTROLE jue a diferenga entre a sequéncia de escrita e a sequéncia de tempo de uma instrucao. ‘A operagao de um computador, na execugao de um programa, ¢ composto por uma sequéncia de criclas de instrugao, com uma instrucao por ciclo de maquina. Essa sequéncia de ciclos de instrugao nao é necessariamente a mesma que a sequéncia de escrita de instrugdes que compdem o programa, por causa da existéncia de ramificagao de instrugGes. ‘A-execucéo real de instrugées segue uma sequéncia de tempo de instrugdes. 12.2. Qual 6 a relagao entre instrugées e micro-operacées? ‘A microoperagao & uma operacéo elementar de CPU, realizada durante um pulso de clock. Uma instrugao consiste em uma sequéncia de micro-operagées. 12.3. Qual é fungao geral de uma unidade de controle do processador? ‘A uma unidade de controle do processador executa duas fungées: «Faz com que 0 processador a execute microoperag6es na sequéncia adequada, detemminada pelo programa, «Gera os sinais de controle que fazem com que cada microoperagao seja executada. 12.4, Defina um processador em trés passos que leva caracterizagao da unidade de controle. Define os elementos basicos do processador. ¢ Descreve as micro-operagées que 0 processador executa « Determina as fungbes que a unidade de controle deve exeoutar e fazer com que as micro- operagées sejam realizadas 12.5. Quais tarefas basicas uma unidade de controle efetua? + Sequenciamento: A unidade de controle fz com que 0 processador para percorrer uma série de az | micro-operagées na sequéncia correta, com base no programa que esta sendo executado « Execugao: A unidade de controle faz com que cada microoperagao a ser executada. 12. Forneca uma lista tipica de entradas e saidas de uma unidade de controle. As entradas sto: « Relégio: Esta é a forma como a unidade de controle a unidade de controle "mantém o tempo." rowoca uma micro- operacao (ou um conjunto de micro-operagées simulténeas ) para ser realizada para cada impulso de relégio . Isso as vezes é referido como 0 processador o tempo de ciclo , ou 0 tempo de ciclo de rel6gio « Registo Instrugao: © cédigo de operagdo da corrente instrugdo ¢ usada para determinar qual micro- ‘operacdes serdo realizadas durante 0 ciclo de execugao, + Flags: Estas medidas s8o necessarias pela unidade de controle para determinar o estado do processador € os resultados das operagées anteriores da ULA, ‘* Os sinais de controle: A parte do barramento de controle proporciona sinais para o unidade de controle, tais como sinais de interrup¢ao e reconhecimentos. As saidas sao: + 0s sinais de controle dentro do processador. Estes s20 dois tipos: + Aqueles que produzem dados para ser movidos de um registo para outro; = Aqueles que atvam fungdes especificas da ULA © Os sinais de controle para controlar 0 barramento Estes também sao de dois tipos = Sinais de controle para a memoria, = Sinais de controle para os médulos de E/S. Relacione trés tipos de sinais de controle. + Aqueles que ativam fungdes da ULA ¢ Aqueles que ativam um caminho de dados. ¢ Aqueles que sao 0s sinais do barramento do sistema extemo ou outra interface extema. 121 controle. Explique resumidamente o que significa uma implementacao por hardware de uma unidade de Em uma implementaco por hardware, a unidade de controle é essencialmente uma combinagao de circuitos. Seus sinais légicos de entrada so transformados em um conjunto de sinais lgicos de saida, que 80 os sinais de controle. CONTROLE MICROPROGRAMADO 13.1. Qual a diferenca entre uma implementagéo por hardware e uma implementagao microprogramada de uma unidade de controle? Uma unidade de controle implementada por hardware é um circuito combinatério, no qual os sinais de entrada légicos transformamse em um conjunto de sinais logicos de saida que funcionam como 0 controle sinais. Sl Numa unidade de controle microprogramada, a logica é especificada por um microprograma. Um microprograma consiste em uma sequéncia de instrugdes simples em um linguagem de microprogramagéo. 13.2. Como é interpretada uma microinstrugdo horizontal? Para executar uma microinstrucéo, ligue todas as linhas de controle indicados por um 1 bit; deixe de fora todas ‘as linhas de controle indicado pelo bit 0. Os sinais de controle resultantes iréo ativar uma ou mais micro- ‘operacdes a serem realizadas, Se a condig&o indicada pela condicéo ¢ falsa, executar a préxima microinstrugao em sequéncia. Se a condigao indicada pelos bits de condigao verdadeira, 0 préxima microinstrugao a ser executada & indicado no campo de endereco. 13: Qual é o propésito de uma meméria de controle? ‘A meméria de controle contém 0 conjunto de microinstrugdes que definem a funcionalidade da Uunidade de controle. 134 Qual 6 a sequéncia tipica na execugdo de uma microinstrugao horizontal? ‘As microinstrugdes em cada rotina devem ser executadas sequencialmente. cada rotina termina ‘com um ramo ou instrugao de salto, indicando para onde ir 13.5. Qual é a diferenga entre microinstrugées horizontais e verticais? Em uma microinstrucao horizontal cada bit no campo de controle é anexado @ um controle linha. Em uma microinstrugo vertical, um cédigo & usado para cada ago a ser executada e 0 decodificador converte ‘este cédigo em sinais de controle indivduais. 13.6. Quais sio as tarefas basicas executadas por uma unidade de controle microprogramada? ¢ Sequenciamento de Microinstrugdo: Obter a proxima microinstrugao a partir da meméria de controle, « Execugéo de Microinstrugao: Gere os sinais de controle necessdrios para executar a microinstrugao. 13.7. Qual é a diferenga entre microinstrugées empacotadas e néo empacotadas? © grau de empacotamento referese a0 grau de identidade entre uma dada tarefa de controle partes de microinstrugdes especificas. Como os bits se tomam mais compactados, um determinado numero de bits contém mais informagées. Uma microinstrugao n8o empacotada tem nenhuma codificagao além de atribuigao de fungdes individuais. de bits indivduais. 13.8. Qual é a diferenca entre programacao hardware e software? « Programagao hardware sao geralmente fixos e compromete a meméria 86 de leitura « Programacao software so mais mutaveis e s80 sugestivos de microprogramagao por usuario. 13.9. Qual é a diferenca entre codificagao funcional e de recursos? Codificagao funcional identifica fungées dentro da maquina e designa campos por tipo de fungao. Por exempio, se diversas fontes podem ser utilizadas para transferir dados para o acumulador, um campo pode ser designado para essa finalidade, com cada codigo que especifica uma fonte diferente Codificagéo de Recursos vé a maquina como um consistido de um conjunto de recursos independentes e dedica um campo para cada (por exemplo, E/S, meméria, ULA). ig | 13.10. Enumere algumas aplicages comuns de microprogramagao. Concepg8o de computadores. Emulagao. Suporte ao sistema operacional Concepgao de dispositivos para fins especiais. Apoio linguagem de alto nivel Microdiagnésticos OPERAGOES DA UNIDADE DE CONTROLE 14.1, Relacione e defina brevemente trés tipos de organizacao de sistemas computacionais? «Uma instrugéo, dados individuais (SISD): Um Unico processador executa uma tinico fluxo de instrugSes para operar nos dados armazenados em uma unica meméria «Uma instrugao, varios dados (SIMD): Um nico controle de instrugao de maquina, execugdo simultanea de um nimero de elementos de processamento sincrono. Cada elemento de processamento de dados tem uma meméria associada, de modo que cada instrugao ¢ executada ‘em um conjunto diferente de dados pelos diferentes processadores. + Instrugao miiltiplo, dados miiltiplos (MIMD): Um conjunto de processadores executa simultaneamente sequéncias de instrugdes diferentes sobre diferentes conjuntos de dados. 14.2. Quais sao as principais caracteristicas de um SMP? Existem dois ou mais processadores similares de capacidade comparavel. + Estes processadores compartilham a mesma meméria principal e interfaces de E/S @ esto interligados por um barramento extemo, de tal forma que o tempo de acesso a memoria & aproximadamente 0 mesmo para cada processador. Todo 0 acesso processadores acao para de dispositivos E/S, ou através dos mesmos canais ou através de diferentes canais que fomecer caminhos para o mesmo dispositivo. ‘Todos os processadores podem executar as mesmas fungdes (dai o termo simétrico) O sistema é controlado por um sistema operativo integrado no sistema que proporciona a interagéo entre 08 processadores e seus programas de trabalho, tarefas, arquivos e elementos de dados 0s niveis. Quais sao algumas vantagens potenciais de um SMP comparado com um uniprocessador? + Desempenho: Se o trabalho a ser feito por um computador pode ser organizado de modo que algumas partes da instrugao podem ser feita em paralelo, em seguida, um sistema com mitiplos processadores trara maior desempenho do que um com um tinico processador do mesmo tipo. + Disponibilidade: Em um multiprocessador simétrico, todos os processadores podem executar as mesmas fungdes, a falha de um Unico processador de no interrompe a maquina, Em vez disso, 0 sistema pode continuar a funcionar com desempenho reduzido. * Crescimento incremental: Um utlizador pode melhorar o desempenho de um sistema, adicionando um processador adicional. + Escala: Os fornecedores podem oferecer uma gama de produtos com diferentes caracteristicas de prego e desempenho com base no nimero de processadores configurados no sistema. 143 para um SMP? « Processos concorrentes simultaneos: Rotinas de SO precisam ser reentrante para permitir varios, processadores para executar o mesmo cédigo a0 mesmo tempo. com miltiplos processadores que executam as mesmas ou diferentes partes do sistema operacional, tabelas de sistema operacional e estruturas de gestéo deve ser gerida de forma adequada para’ evitar um conflto ou operagées Quais séo algumas das principais questées a respeito de projeto de um sistema operacional 20| imalidas ¢ Agendamento : Qualquer processador pode realizar o agendamento , para que os confitos sejam evitados. O programador deve atribuir processos prontos para processadores disponiveis « Sincronizacao: Com vérios processos ativos ter acesso potencial aos espagos de enderecos ‘comparthados ou recursos de E/S comuns, devem ser tomados cuidados para fomecer eficaz sincronizacéo. © Confiabilidade e tolerancia a falhas : O sistema operacional deve fornecer métodos de reconhecimento de de falha no processador. 0 programador e outras partes do sistema operativo tem de reconhecer a perda de um processador e tabelas de gerenciamento, 14.5. Qual ¢ a diferenga entre esquemas de coeréncia de cache por software e hardware? Esquemas de coerénoia de cache por Software tentam evitar a necessidade de adicional circuito de hardware e l6gica, baseandose no compilador e sistema operacional para lidar com o problema. Em esquemas de hardware, a logica de coeréncia de cache é implementado em hardware, 14.6. Qual é o significado de cada um dos quatro estados do protocolo MESI? Modificado: A linha no cache foi modificada (diferente de meméria principal) e esta disponivel apenas neste cache. Exclusivo: A linha no cache é 0 mesmo que na meméria principal e ndo esta presente em nenhum outro cache. linha no cache € 0 mesmo que o da memoria principal e pode estar presente em outro Invalido: A linha no cache nao contém dados validos. 14.7. Quai s4o alguns dos pri + Escalabilidade absoluta: E possivel criar grandes aglomerados que superam 0 poder do mesmo os maiores maquinas autonomas. + Escalabilidade incremental: Um cluster é configurado de tal maneira que é possivel adicionar novos sistemas do aglomerado em pequenos incrementos. Assim, um usudrio pode comegar com um sistema modesto e expandilo de acordo com a necessidades, sem ter que passar por uma grande ~atualizagao em que um existente pequeno sistema é substituido com um sistema maior. + Alta disponibilidade: Porque cada né de um cluster é um computador auténomo, a falha de um n6 nao significa perda de senico. + Prego Superior / desempenho: Usando blocos de construgo de commodities, é possivel montar um ‘cluster com poder de computacao igual ou superior a uma tinica grande maquina, a um custo muito menor. 14.8. Qual é a diferenga entre failovere failback? ‘A fung8o de comutago um aplicativos e dados sobre os recursos a partir de uma falha de sistema para um sistema altemativo no cluster é chamado de failover Uma funcéo relatada a restauragao de aplicativos e recursos de dados para o sistema original, uma vez que ele tenha sido fixado; este é referido ‘como 0 retomo de falha, 14.9. Quais sao as diferengas entre UMA, NUMA e CC-NUMA? © Acesso memoria uniforme (UMA): Todos os processadores tém acesso a todas as partes da meméria principal utilizando cargas e lojas. O tempo de acesso a meméria de um processador para todas as regides de meméria € a mesma. Os tempos de acesso por diferentes processadores 840 ‘08 mesmos. ‘¢ Acesso no uniforme a meméria (NUMA): Todos os processadores tem acesso a todas as partes da meméria principal. O tempo de acesso a memoria é diferente, dependendo de qual regio da 2i| memoria principal é acessada * cache-NUMA coerente (CC-NUMA): Um sistema NUMA em que a coeréncia de cache é mantido entre 0s caches dos varios processadores. COMPUTADORES MULTICORE 15.1. Resuma a diferenca entre pipeline de instrugdes simples, superescalar ¢ multithreading simultaneo. «Pipeline: instrugSes_individuais s80 executados através de um pipeline de estagios assim que, ‘enquanto uma instrugao esta sendo executada em um estagio do pipeline, uma outra instrugao est sendo executada em outro estagio do pipeline © Superscalar: Varios pipelines sao construidos por meio da replicagao de recursos de execugdo. Isso permite a execugao paralela de instrugdes em pipelines paralelos: «Multithreading simultanea (SMT): Bancos de registros so replicados para que miltiplas threads possam compartihar 0 uso dos recursos de pipelines. 15.2. Dé varias razdes para a escolha dos projetistas para migrar para uma organizagao multicore ‘em vez de aumentar o paralelismo dentro de um inico processador No caso do pipeline, simples pipelines de 3 estagios foram substituidos por pipelines com 5 estagios 1 e., em seguida, muito mais estagios, com algumas implementagdes com mais de um dizia deles. Ha um limite prético para 0 quéo longe esta tendéncia pode ser tomada , porque com mais estagios , ha a necessidade de mais légica , mais interconexdes , e mais sinais de controle. Com organizacao superescalar , aumentos de desempenho pode ser conseguido através do aumento do. nimero de pipelines paralelos . Novamente, existem reducdes de desempenho conforme 0 numero de pipelines aumenta, Uma maior logica € necesséria para gerenciar os riscos de instrucéo. Eventualmente, um tnico segmento de execugo atinge o ponto onde os perigos e dependéncias de recursos impede a plena utiizagao dos miltiplos pipelines disponiveis . Este mesmo ponto de retomos decrescentes € alcangado com SMT , como a complexidade do gerenciamento de varias threads sobre um cconjunto de pipelines limita 0 nimero de linhas e nimero de pipelines que podem ser utilizada de forma eficaz 15.3. Por que ha uma tendéncia para se aumentar a fragéo da area do chip para meméria cache? ‘Amemeéria cache usa menos energia do que a logica. 15.4, Relacione alguns exemplos de aplicagées que se beneficiam diretamente da habilidade de aumentar rendimento com numero de niicleos. Aplicagées nativas multithreaded : so caracterizado por ter um pequeno nlimero de processos. Aplicagées multi processo : aplicagdes multi processo so caracterizados pela presenga de muitos processos singlethreaded . aplicagées de banco de dados. Aplicagées Java : aplicacdes de maquinas vituais, Aplicagbes de vérias insténcias : Execugao de varias instancias do aplicativo em paralelo. 15.5. No | mais alto, quais sio as principais variaveis do projeto em uma organizagao multicore? * Ontimero de processadores de nucleo no chip + Ontimero de niveis de meméria cache ‘Aquantidade de meméria cache que é compartithada 15.6. Relacione algumas vantagens de cache L2 compartilhada entre niicleos comparada com caches L2 separadas dedicadas para cada nucleo? «Pode reduzir as taxas gerais de perda Os dados compartilhados por varios nicleos nao so replicados no nivel de cache compartilhado, 22| * Com adequados algoritmos de substituicéo, a quantidade de cache compartlhado alocado para ‘cada nucleo dindmico, de modo que os segmentos que tém uma menor localidade pode empregar @A) mais cache, a Comunicagao Interprocessador 6 fécil de implementar, através de meméria compartlhada © uso de um cache L2 compartihado limita 0 problema de coeréncia para o nivel de cache L1, 0 ‘que pode proporcionar alguma vantagem adicional de desempenho. REFERENCIAS BIBLIOGRAFICAS STALLINGS, William. Arquitetura e organizagao de computadores 5.ed, S40 Paulo: Pearson Prentice Hall, 2002.

You might also like