Baixe o app para aproveitar ainda mais
Prévia do material em texto
MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DO PIAUÍ CENTRO DE EDUCAÇÃO ABERTA E A DISTÂNCIA CURSO DE LICENCIATURA EM COMPUTAÇÃO ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES (AOC) Gabarito 1ª LISTA DE EXERCÍCIOS ( Não avaliativa ) Esta lista deve ser respondida no 1º encontro presencial (23/09/2017). 1. No âmbito do ensino superior, em cursos de computação, existem duas disciplinas que são: Organização de Computadores e Arquitetura de Computadores. Entretanto, alguns cursos superiores (como esse de Licenciatura em Computação , EAD/UFPI) acabam adotando uma única disciplina que envolve ambos os conteúdos (sem o aprofundamento de cada uma). Sendo assim, diferencie estas duas disciplinas. O slide2 basicamente responde essa pergunta. É comum que em cursos superiores com laboratórios de hardware, como Bacharelado em Ciências da Computação se utilize Organização de Computadores e naqueles cursos superiores com maior ênfase na programação, se use Arquitetura de Computadores. Infelizmente, pela falta de laboratórios de hardware na maioria das universidades (públicas e particulares) acaba-se tendo uma visão geral teórica de ambos. Resumindo: Organização de computadores: Mais relacionado aos construtores do PC, Tecnologias das memórias, Sinais de controle... Arquitetura de Computadores: Mais relacionado aos programadores, Estrutura de dados, Modos de Endereçamento, Conjunto de Instruções da CPU,... Quanto custa um PC com o poder do XOne X? https://www.tecmundo.com.br/xbox-one-x/117694-custa-pc-xone-x-o-ps4-pro-guerra.htm (13/06/2017) No ano passado, a Sony deu um passo ousado ao anunciar o PS4 Pro, um vídeo game mais poderoso do que o tradicional e capaz de dar o primeiro passo na resolução 4K. Com essa jogada, a fabricante saiu na frente na corrida pelo console de mesa mais potente, mas a Microsoft deixou avisado que viria com força total para ganhar a disputa. Pois bem, o tão aguardado anúncio do Xbox Scorpio — agora conhecido como Xbox One X — finalmente aconteceu e, de fato, deixou muita gente surpresa. Durante sua apresentação na E3 2017, a Microsoft revelou algumas informações do produto, principalmente sobre números relativos à potência do console. (...) O Xbox One X prometeu muito, ainda mais com as imagens de games em 4K reveladas. Nessa história, fica bem claro que mesmo sem fazer cálculos elaborados, a gente já pode dizer de boca cheia que console algum consegue alcançar o nível de poder computacional de um PC gamer, afinal, um computador pode ser configurado de acordo com o gosto do freguês — e isso inclui a possibilidade de juntar duas placas de vídeo GeForce GTX 1080 Ti. (...) Um upgrade monstro! Primeiro, vamos falar do Xbox One X. De acordo com a fabricante, o aparelho é uma evolução do projeto original do Xbox One, o que significa que ele tem arquitetura e componentes similares. O processador tem oito núcleos personalizados e se mostra mais poderoso para executar as atividades, já que vem com clock elevado — a frequência subiu de 1,75 GHz para 2,3 GHz. Só essa mudança já seria significativa para dar um upgrade considerável no aparelho, mas a Microsoft foi além e fez uma atualização também na memória e no chip gráfico. Enquanto o Xbox One S tem 8 GB de memória RAM do tipo DDR3, o Xbox One X vem com 12 GB de memória, agora no padrão GDDR5. (...) 2. Considerando a trecho de reportagem acima, responda: a) Para esse novo computador da Microsoft, o que podemos afirmar sobre seus três componentes básicos ( memória, CPU e periféricos) ? Sobre o computador Xbox One X, temos conforme a reportagem: Memória 12GB de RAM GDDR5. Não vamos ao longo desse curso detalhar sobre os tipos de memória gráficas (GDDR5); CPU Processador de Oito núcleos (octa-core) de 2,3GHz como frequência em cada núcleo ; Periféricos Duas placas de vídeo GeForce GTX 1080 Ti , possibilitando jogar em uma qualidade 4 vezes superior ao padrão Full HD do Brasil; ou seja, qualidade 4K. Naturalmente que o monitor/TV deveria também ser 4K para poder aproveitar esse recurso. Perceba portanto que o objetivo era apenas diferenciar o que era memória, CPU e periféricos. Obviamente que o artigo acima é muito limitado, outros itens poderiam ser encontrados. Assim, se for dito que o videogame vem com Drive de Blu-Ray, o drive é um dispositivo de Entrada/Saída (E/S), e o disco (BD, Blu-Ray Disk) é a memória. b) Sabendo que esse computador é um videogame, os três componentes acima foram atualizados, mas um deles teve especial atenção. Qual foi e por que? Em geral vídeo game precisam ter bons processadores e abundante memória, mas o que torna o jogo viciante é a qualidade/rapidez das imagens, é essa função é da placa de vídeo, que é um periféricos (e como vimos pode ter várias em um computador, basta a placa mãe ter tecnologia/suporte para múltiplas placas gráficas). Logo, foi dada especial atenção à placa de vídeo (agora são duas de boa qualidade ), portanto destacou-se os periféricos. 3. Sobre registradores, responda: a) Se registradores são memória, qual a diferença entre um registrador e um HD? Basicamente, um registrador é construído com a mesma tecnologia dos processadores e se encontram dentro do processador. Logo é MUIIITO mais rápido para um dado ser lido em um registrador que em uma lenta memória secundária, como o HD. Infelizmente os registradores são poucos por serem caros. Basicamente imagine um super computador como um armário contendo centenas de placas mães com centenas de registradores em cada uma dessas placas. Consequência, são muito rápidos, mas custam milhões de reais. b) Qual e diferença entre os RPGS e os outros? Mencione dois exemplos de cada um dos dois tipos. O slide9 responde parcialmente essa questão, deixando claro que RPGs são registradores que armazenam qualquer coisa (Ex.: AX e BX) enquanto que outros registradores armazenam sempre um conteúdo com significado específico (eu diria especial). É o caso do IR que armazena sempre o endereço da instrução atualmente em execução e do RDM que armazena sempre o dado que está sendo lido/gravado na memória. 4. No início, os programas de computador não ficavam armazenados no próprio, não existia pendrive ou HD/disquete. A programação era feita diretamente nos cartões perfurados e/ou através da manipulação de dezenas de chaves. Assim, um simples programa podia consumir dezenas destes cartões e cada vez que quiséssemos executar o programa teríamos que novamente fazer a leitura de todos os cartões perfurados. Atualmente, os programas tem suas instruções de alto nível quebradas em micro instruções. Explique como funciona esse ciclo da execução de uma instrução ( Busca-Decodifica-Executa) O slide10 responde integramente a questão: 1) Busca prox. I. p/ IR 2) Atualiza o PC 3) Determina tipo de I. (Reg/Mem, Reg/Reg ou Mem/Mem) 4) Se I. tem dados, determina local 5) Busca dados (se houver) p/ Reg 6) Executa a I. 7) Armazena resultados 8) Volta ao Passo1 Basicamente, o ciclo sempre começa trazendo para o IR o endereço da próxima instrução que será executada. Então o registrador PC deve ser atualizado, para indicar agora que é o endereço da próxima instrução que será executada. No passo 3, temos que verificar se a instrução atual já tem todos os dados que precisa no processador (instrução do tipo Reg/Reg); senão, o processador precisará descobrir onde se encontra esse dado (Passo4) e fazer (pelo menos um) acesso à memória principal para trazer o dado solicitado ao processador (passo 5). Então, de posse de todos os dados que precisa para executar a instrução, o processador o faz (Passo 6), armazenando os resultados (Passo7) e reiniciando o ciclo Busca-Decodifica-Executa(Volta ao Passo1). 5. Ao lado temos um gráfico referente a barramento. Explique o que é um barramento e a função dos três tipos de barramento local. Sugiro desenhar o Barramento Local (com os seus três tipos, conforme Slide11). Explicar que basicamente com a memória só existe dois tipos de operações, ou é de leitura ou é de escrita. No barramento de endereço, vai o endereço da célula que será usada para gravar o dado ou ler esse dado. Já no barramento de dados, é por onde vai transitar o dado que vai ser lido da memória ou o dado que vai ser gravado na memória. Na verdade, é apenas no barramento de controle que o processador vai determinar se é uma operação de leitura ou de escrita. Embora a questão não peça, sugiro também falar um pouco sobre os barramentos de expansão, talvez levando uma placa mãe e mostrando a eles. Lembrar que ISA, PCI, AGP são barramentos de expansão internos muito antigos. Nas placas mãe atuais, o que temos são basicamente PCI Express, não precisando entrar em detalhes. Fechar a questão falando do Barramento de expansão externo USB e FireWire. 6. Sabendo que DIV representa divisão e usando apenas os endereços de memória: A, B, C e os RPGs R0 e R1 faça um programa em Assembly que calcule a instrução de alto nível abaixo: B = A + C/A - B + R0 Vale ressaltar que a resposta abaixo é apenas uma das possíveis respostas. Cada processador terá uma unidade especial para quebrar a atribuição acima de alto nível em várias micro instruções, e você fazendo o papel desse processador poderá encontrar vários caminhos diferentes que levem ao mesmo destino. Também é importante deixar claro que o processador tem um conjunto de dados que ele pode usar, seja variáveis de memória (A, B, C,....) ou registradores (R0, R1, ...). Obviamente que a quantidade de registradores é muito menor que a de variáveis de memória. Finalmente, devemos ter cuidado para não alterar um valor de uma variável que não é alterado na atribuição acima. Assim, por exemplo, não poderíamos fazer: DIV C,A,R0 porque estaríamos dividindo C por A e colocando o resultado em R0. Mas nesse caso, estaremos perdendo o valor que já estava armazenado em R0 o que causará um duplo problema. Primeiro, quando formos somar com R0, esse já terá um outro valor e segundo, após o término da execução da atribuição acima, R0 não deveria ter seu valor alterado. A) Usando apenas instruções de 3 endereços ( B = A + C/A - B + R0 ): SUB A,B,B DIV C,A,R1 ADD B,R1,R1 ADD R1,R0,B B) Usando apenas instruções de 2 endereços ( B = A + C/A - B + R0 ): SUB A, B MOV A, R1 DIV C, R1 ADD R0, R1 ADD R1,B C) Usando apenas instruções de 0 endereços ( B = A + C/A - B + R0 ): . PUSH B PUSH A PUSH C DIV SUB PUSH A ADD PUSH R0 ADD POP B No início (e no final) a pilha se encontra vazia. A linha mais alta em cada passo, representa o endereço apontado pelo registrador SP.
Compartilhar