Prévia do material em texto
CEFET-RJ Campus Nova Friburgo Prof. Helga D. Balbi Arquitetura de Computadores – Bacharelado em Sistemas de Informação Lista de Exercí cios de Revisa o 3 1. Suponha que temos um espaço de endereçamento de 8K células e cada célula pode armazenar 8 bits. Qual a capacidade da Memória e quantas linhas de endereço devem ser utilizadas? 2. Uma memória pode armazenar no máximo 512K bits e cada célula possui 8 bits. Qual é o número máximo de células possíveis e quantos bits devem ser utilizados para endereçar este número de células? 3. Um computador possui capacidade máxima de armazenamento de 512K células, cada uma de 16 bits. a. Qual o número mínimo de bits que o barramento de endereços e de dados devem ter, supondo que duas células são acessadas em cada operação de leitura/ou escrita? b. Qual o maior endereço da Memória e qual a capacidade da Memória? 4. Suponha que uma máquina possui um barramento de dados de 64 bits e um barramento de endereços de 24 bits. Sabe-se que em cada acesso são lidas duas células da memória. a. Qual a capacidade máxima de endereçamento da máquina? b. Qual a capacidade máxima de armazenamento da memória em bits? c. Qual o tamanho de célula da máquina? 5. Os barramentos são os fios condutores que interligam os componentes de um sistema de computação e permitem a comunicação entre eles. Eles são organizados em 3 grupos de fios, cada um deles com funções separadas. Indique para cada grupo: sua função, direção do fluxo e o que seus fios representam. 6. Considere um computador com um processador que se conecta aos barramentos de controle (BC) com 178 bits largura, ao Barramento de dados (BD) por 32 bits de largura e ao barramento de endereços (BE), com 28 bits de largura. A frequência de operação do BD é de 400 MHz. a. Qual é a capacidade máxima de endereços deste sistema? b. Qual é a taxa de transferência usada no barramento de dados (BD)? 7. Um sistema de computação hipotético possui uma memória de 256 MB (megabytes) de capacidade máxima de armazenamento; o projeto desta memória consiste em armazenar em cada parte (sua célula) um dado com 16 bits de largura, sendo transferido de cada vez (em cada acesso) um valor igual a duas células contíguas. Qual deverá ser a largura mínima, em bits, do BE? 8. Converter os seguintes números decimais para a representação IEEE 754 precisão simples: a) +0,00675 b) –21322,0 c) –12,425 d) +5,725 9. Considere uma máquina que possa endereçar 64 Mbytes de memória física, utilizando endereço referenciando byte, e que tenha a sua memória organizada em blocos de 4 bytes e a palavra possui o mesmo tamanho de uma célula. Ela possui uma memória cache que pode armazenar 2K blocos simultaneamente. Mostre para cada um dos mapeamentos abaixo: i) o formato da memória cache, considerando que ela possui os campos Válido, Tag e Bloco; (Obs.: o campo Válido possui 1 bit e indica se o registro na cache é válido ou não) ii) o número de bits para cada campo; iii) o formato de um endereço da memória principal, indicando os bits que referenciam os campos da cache a) mapeamento direto b) mapeamento associativo c) mapeamento associativo por conjunto com 4 linhas por conjunto 10. Considere um sistema de computação que possui uma UCP com um registrador RI (Registrador de Instrução) de 32 bits e 16 registradores, e pode endereçar no máximo 1M células de memória principal. Suas instruções possuem três campos: um para o código de operação, um para um operando que se encontra em um registrador e o terceiro para um operando que se encontra na memória. Indique: a) Número de bits da instrução b) Número de bits do código de operação c) Número máximo de operações diferentes Respostas: 1. 𝑇 = 𝑁 ∗ 𝑀 = 213 ∗ 23 = 216 = 64𝐾 𝑏𝑖𝑡𝑠 𝑁 = 213, logo teremos que ter 13 linhas para endereço 2. 𝑇 = 𝑁 ∗ 𝑀; 𝑁 = 𝑇 𝑀 = 512 ∗ 210 8 = 29 ∗ 210 23 = 216 = 26 ∗ 210 = 64𝐾 células. Bits para endereçamento: N = 64K = 216, logo precisaremos de 16 bits 3. a) Se temos 512 K células = 29 ∗ 210 = 219, teremos 19 bits para o barramento de endereços. Se em cada acesso à memória, duas células são transferidas, então o barramento de dados deve ter o tamanho igual a 32 bits. b) O maior endereço da Memória é 𝑁 − 1 = 219 − 1 = 524.287 Capacidade da Memória = 𝑁 ∗ 𝑀 = 219 ∗ 16 = 223 𝑏𝑖𝑡𝑠 = 220𝑏𝑦𝑡𝑒𝑠 = 1𝑀 𝑏𝑦𝑡𝑒𝑠 4. a) Se temos 24 bits para endereço, podemos endereçar 224 células=16 M células ou 16M endereços. b) Em cada acesso são lidas 2 células, e como o barramento de dados é de 64 bits, temos que cada célula possui 32 bits. Logo capacidade = 32 x 16 M = 512 Mbits c) O tamanho da célula é 32 bits 5. Barramento de controle: transferência de informação de controle. Direção: bidirecional. Seus fios representam individualmente um controle específico. Barramento de endereço: transferência de endereço. Direção: unidirecional do controlador (e.g. processador) para o dispositivo. Seus fios representam conjuntamente o valor do endereço, em bits, a ser acessado. Barramento de dados: transferência de dado. Direção: bidirecional. Seus fios representam conjuntamente o valor do dado, em bits, a ser transferido. 6. a) 228 endereços b) taxa de transferência = 32 bits * 400 MHz= 12800 Mbits / s 7. 27 bits. 𝑇 = 𝑁 ∗ 𝑀 → 𝑁 = 𝑇 𝑀 → 𝑁 = 256 𝑀𝐵𝑦𝑡𝑒𝑠 16 𝑏𝑖𝑡𝑠 → 𝑁 = 2048 𝑀𝑏𝑖𝑡𝑠 16 𝑏𝑖𝑡𝑠 → 𝑁 = 211 ∗ 220 24 → 𝑁 = 231 24 → 𝑁 = 227 𝑁 = 2𝐸 → 𝐸 = 27 8. a) +0,00675 = +0,0000000110111010010111100011010 ∗ 20 = +1,10111010010111100011010 ∗ 2−8 => E=-8+127=119, E=01110111 00111011110111010010111100011010 b) – 21322,0 = −101001101001010 ∗ 20 = −1,01001101001010 ∗ 214 => E=+14+127=141 E=10001101 11000110101001101001010000000000 c) – 12,425 = −1100,01101100110011001100 ∗ 20 = −1,10001101100110011001100 ∗ 23 => E=+3+127=130, E=10000010 11000001010001101100110011001100 d) +5,725 = +101,101110011001100110011 ∗ 20 = +1,01101110011001100110011 ∗ 22 => E=+2+127=129, E=10000001 01000000101101110011001100110011 9. Considerações gerais: Como a máquina pode endereçar 64 Mbytes e cada endereço acessa um byte (“endereço referenciado a byte”), temos 64M células. Para endereçar 64M células, precisamos de 26 bits (64𝑀 = 26 ∗ 220 = 226). Logo um endereço da memória principal possui 26 bits. A memória cache pode armazenar 2K blocos, logo ela possui 2K quadros (linhas). Como a “memória é organizada” em blocos de 4 bytes, cada bloco que é transferido entre a memória principal e a cache possui 4 bytes. Como cada bloco possui 4 bytes, a MP comporta 64Mbytes / 4 bytes = 16M blocos. E como a palavra tem o mesmo tamanho que a célula (1 byte), cada bloco contém 4 palavras. a) Mapeamento Direto: Neste caso, cada quadro da cache irá armazenar um determinado conjunto de blocos específicos. No total, temos 2K conjuntos ou (2 ∗ 210 = 211) conjuntos, uma para cada quadro da cache. Cada conjunto contém o seguinte número de blocos diferentes: 𝑁º 𝑑𝑒 𝐵𝑙𝑜𝑐𝑜𝑠 𝑁º 𝑑𝑒 𝑞𝑢𝑎𝑑𝑟𝑜𝑠 = 16𝑀 𝑏𝑙𝑜𝑐𝑜𝑠 2𝐾 𝑞𝑢𝑎𝑑𝑟𝑜𝑠 = 8𝐾 𝑏𝑙𝑜𝑐𝑜𝑠 Logo, a TAG necessita ter 13 bits para endereçar esses 8K blocos (porque 8𝐾 = 23 ∗ 210 = 213) Além disso, cada bloco possui 4 bytes (ou 4 ∗ 8 = 32 bits), representando o conteúdo de 4 células da memória. Logo, o desenho da memória será: O endereço possui 26 bits que serão divididos da seguinte forma: Nº do bloco do quadro | Nº do quadro | endereço da palavra (slide 15) Como temos 8K possíveis blocos por quadro, e 8K = 2^3*2^10=2^13, necessitamos de 13 bits para indicar o Nº do bloco do quadro. Como temos 2K quadros, o campo Nº do quadro vai possuir 11 bits para poder representar todos os 2K quadros (2 ∗ 210 = 211 ) Por fim, como existem 4 palavras dentro de cada bloco, necessitamos de 2 bits para identificá-las (22 = 4). Logo, o formato do endereço será: b) Mapeamentoassociativo: Neste caso, cada quadro da cache poderá guardar qualquer um dos blocos da MP. Como temos 16M blocos na MP, necessitamos de 24 bits (16𝑀 = 24 ∗ 220 = 224) para distinguir qual bloco está no quadro da cache. Comparando-se ao modelo anterior, isso equivale a dizer que temos “1 conjunto” de blocos contendo todos os blocos da MP e cada quadro da cache pode guardar os blocos contidos nesse conjunto. Logo, a TAG possui 24 bits. Os demais campos (Válido e bloco) são iguais ao modelo anterior, logo o desenho da cache será: 13 bits TAG 26 11 bits 2 bits O endereço é dividido em (slide 22): Endereço do bloco desejado | palavra desejada Então serão 24 bits para o endereço do bloco e 2 bits para endereçar a palavra dentro do bloco. Logo, o desenho do endereço da MP será: c) Mapeamento associativo por conjunto com 4 linhas por conjunto: Nesse caso, as linhas da cache são organizadas em “grupos” ou “conjuntos”. Como temos 4 linhas em cada conjunto, teremos 2𝐾 4 = 512 = 29 conjuntos de quatro linhas (4 quadros). Dentro de cada conjunto, teremos 16𝑀 512 = 24∗ 220 29 = 215 possíveis blocos. Logo, a TAG terá 15 bits. Logo, o desenho da memória será: O endereço é dividido em: (slide 28) TAG | Nº do conjunto | Palavra desejada Logo, o endereço será da seguinte forma: 10) a) 32 bits pois é o tamanho do registrador de instrução TAG 24 bits 2 bits TAG 15 bits 9 bits 2 bits b) Como este sistema possui 16 registradores, necessita-se de 4 bits para identificar o registrador (24 = 16). Para endereçar 1M células, são necessários 20 bits (1 ∗ 220 = 220). Logo, o campo da instrução que identifica o registrador possui 4 bits, o que identifica o endereço de memória 20 bits e sobram 32-20-4=8 bits para o código de operação. c) Como existem 8 bits para o código de operação, podem existir no máximo 28 = 256 operações diferentes.