Prévia do material em texto
UNIVERSIDADE FEDERAL DA PARAÍBA DEPARTAMENTO DE CIÊNCIAS EXATAS - DCX CAMPUS IV - RIO TINTO Licenciatura em Ciência da Computação Disciplina: Arquitetura de Computadores II Professor: Augusto César P. da S. Montalvão Data: 27/03/2018 Aluno:Álekiss Manço de Mélo Matrícula: 81401277 1ª Lista de Exercícios - Avaliação I ( Questões Teóricas : ) 1) A arquitetura de computadores pode ser estudada em níveis de estruturação. Essa visão disponibiliza até 6 níveis de abstração, sendo eles: nível lógico digital, nível de microarquitetura, nível ISA, nível de sistema operacional, nível de linguagem de montagem (assembly) e nível de linguagens de alto nível. Explique um pouco de cada nível. 2) ( O microprograma é um conjunto de microinstruções; armazenado numa memória ROM do processador, chamada control store ; )Diferencie microarquitetura, microprograma e microinstrução. Utilize a figura a seguir para ajudar. ( - Um conjunto de 8 a 32 registradores; - O circuito da ULA (Unidade Lógica e Aritmética). Os registradores e a ULA são conectados para formar o Caminho de Dados (Data Path), estrutura sobre a qual os dados fluem; ) ( Cada microinstrução especifica os sinais de controle necessários para controlar a microarquitetura. ) A abordagem da figura a seguir separa o Microprograma da Microarquitetura: Cada instrução de máquina é interpretada pelo Microprograma e pode dar origem à execução de muitas microinstruções para a Microarquitetura. 3) O que é o caminho de dados? Explique como ele funciona. Use a figura a seguir para sua explicação. Parte Operativa (ou Caminho de Dados): Constituída de todos os componentes responsáveis pela execução das operações elementares sobre os dados (transformações nos dados). A figura abaixo apresenta uma simplificação do modelo de arquitetura MIC-1 e tem como principal característica uma das entradas da ULA (barramento A) sempre relacionado ao registrador “H”. Por outro lado, o barramento B pode receber dados de quaisquer outros registradores. Os quatro primeiros registradores (MAR, MDR, PC e MBR) são registradores que trabalham diretamente com os endereços na memória. Enquanto que MAR e PC apenas enviam para a memória, MBR recebe e é de comunicação exclusiva com a memória, não recebendo dados de outros registradores através do barramento C. Já MDR trabalha tanto enviando como recebendo dados referentes à memória. Os demais registradores de controle podem receber dados de outros registradores através do barramento C, e trabalham enviando dados ao barramento B, ligado à ULA. Outro fator importante é que a ULA apresenta duas “flags” de controle, indicando se um resultado de uma operação é nulo ou não (flag “Z”) ou se é negativo (flag “N”). 4) A microarquitetura propõe diversos projetos, entre eles podemos citar: a Mic-1, a Mic-2 e a Mic- Na Mic-3 usamos um nível de paralelismo proposto com o uso de pipeline que pode ser visto na figura a seguir. Explique o funcionamento deste esquema. Com a inserção da técnica de pipeline (paralelismo), surge a Mic-3 Apresenta nova arquitetura com 3 barramentos e mais 3 novos registradores (Latch A, B e C). Esses registradores repartem o caminho de dados em partes independentes, inserir esses registradores tem duas finalidades: 1. Podemos aumentar a velocidade do clock porque o atraso máximo agora é mais curto; 2. Podemos usar todas as partes do caminho de dados durante cada ciclo. Desmembrando o caminho de dados em 3 partes: O atraso máximo é reduzido; Dessa forma a frequência do clock pode ser mais alta; Assim poderemos usar a ULA em cada ciclo, obtendo 3 vezes mais trabalho da máquina. 5) Diferencie parte operativa e parte de controle do esquema da Microarquitetura. 6) Explique o funcionamento da temporização na Microarquitetura. A figura abaixo pode ajudar. Divisão em subciclos; O início na transição negativa do clock. ◦ 1. Os sinais de controle são ativados (Δw); ◦ 2. O barramento B é carregado a partir dos registradores (Δx); ◦ 3. A ULA e o shifter (deslocador) operam (Δy); ◦ 4. O resultado da operação da ULA e do deslocador se propaga através do barramento C em direção aos registradores (Δz). O resultado é armazenado nos registradores na próxima transição positiva do clock; As “fronteiras” entre os subciclos são determinadas pelos tempos de propagação inerentes aos circuitos envolvidos. Os engenheiros do projeto devem assegurar que a transição positiva do clock, que marca a carga dos registradores, ocorra depois de Δw+Δx+Δy+Δz; Caso contrário a carga dos registradores não é realizada. 7) A seguir a ilustração mostra o esquema da Mic-1, explique-a. 1- No início de cada ciclo o MIR é carregado com o conteúdo do endereço armazenado no MPC. O tempo de carga do MIR é ∆w (leia delta w) 2- Os sinais do MIR se propagam pelo caminho de dados, causando, no tempo ∆x: o carregamento de 1 dos registradores no barramento B o carregamento do registrador H a determinação da função a ser executada pela ULA estabilização dos dados de entrada da ULA 3- A ULA e o deslocador operam os dados de entrada, durante o tempo ∆y: 4- As saídas da ULA e do deslocador são propagadas, durante o tempo ∆z, e a saída do deslocador torna-se disponível e estável no barramento C os valores de N e Z são salvos em 1 par de flip-flops de 1 bit 5- Na transição positiva do sinal de clock, da figura os registradores são carregados com o conteúdo do barramento C os flip-flops N e Z são carregados pela ULA os registradores MBR e MDR recebem resultados da memória 6- O valor de MPC é atualizado (veja detalhes abaixo) no tempo de nível alto do clock. 7- Volta ao passo 1 e o ciclo se repete até que alguém desligue a máquina. 8) Como podemos melhorar o caminho de execução da Microarquitetura? 9) Explique o que é a IFU - Unidade de Busca de Instrução. 10) Um sistema operacional possui 2 funções essenciais: estender a máquina e gerenciar os recursos. Explique essas funções. 11) O que é um processo em um sistema operacional? 12) Explique a comunicação interprocessos. 13) O que são deadlocks? 14) O que é um arquivo? E qual o papel do sistema de arquivos? Cite exemplos de sistemas de arquivos. 15) Qual a função do interpretador de comandos no sistema operacional? O SO é o código que executa as chamadas ao sistema; Editores, compiladores, e interpretadores de comandos, por exemplo não fazem parte do SO, mesmo sendo importantes e úteis. 16) O que são chamadas ao sistema? 17) O que é um kernel? 18) Explique sistemas monolíticos e qual sua semelhança com os sistemas em camadas? 19) Explique o que são Máquinas Virtuais e mostre sua utilidade no mundo atual. Respostas 1. Nível 0, na parte inferior, é o verdadeiro hardware da máquina; Conhecido como nível lógico digital, onde os objetos interessantes são chamados de portas. Nível 1, chamado de nível de Microarquitetura; Tem um conjunto de 8 a 32 registradores no qual forma uma memória local e um circuito denominado ULA (Unidade Lógica e Aritmética), que é capaz de executar operações aritméticas simples.Os registradores são conectados à ULA para formar o caminho de dados que transitam dados; A operação básica do caminho de dados consiste em selecionar um ou dois registradores, fazendo com que a ULA efetue algo com eles e armazene o resultado em algum registrador. Nível 2, tem-se o nível de Arquitetura do Conjunto de Instruções ou nível ISA(é a interface entre o software e o hardware); o conjunto de instruções da máquina, trazendo as instruções executadas por interpretação pelo micro programa ou pelos circuitos de execução do hardware. Nível 3, tem-se o nível de máquina de Sistema Operacional; Algumas instruções são interpretadas pelo SO e outras ainda pelo nível ISA, formando assim um nível de certa forma híbrido. Nível 4, nível de linguagem de montagem(assembly); Esse nível fornece um método para as pessoas escreverem programas para os níveis 1, 2 e 3 em uma forma que não seja tão desagradável quanto programar em nível de máquina. Nível 5, habitualmente consiste em linguagens (denominadas de linguagens de alto nível, algumas das mais conhecidas são: Java, C, C++.) projetadas para ser usadas por programadores de aplicações que tenham um problema a resolver; 2. à 4. Está explicada junto com as imagens. 5. parte operativa: Caminho de Dados O caminho de dados é a parte da CPU que contém a ULA, com suas entradas e saídas. parte de controle: Constituída de circuitos sequenciais e/ou memória de microprograma que gera o controle ciclo-a-ciclo da parte operativa. 6. e 7. Também explicada junto as imagens. 8. Incorpore o laço do interpretador ao final de cada sequência de microcódigo; Passe de um projeto de 2 barramentos para um de 3 barramentos; Busque instruções na memória com uma unidade funcional especializada, a IFU. 9. A IFU interpreta os códigos de instrução determinando os campos adicionais que devem ser buscados (operandos) e os organiza em registros prontos para execução pela unidade de execução A IFU trabalha com o fluxo de instruções, as quais são disponibilizadas para uso pela unidade de execução sempre que necessário. A IFU trabalha em sincronia com a Unidade de Decodificação do conjunto de pipeline 10. Durante a função de máquina estendida o sistema operacional mostra uma situação mais simples do funcionamento do hardware para o usuário. O sistema operacional faz isso para que o usuário não tente gerenciar o HD ou qualquer parte do computador que não deva ser mexida, e para o usuário não interagir diretamente com a máquina. Na função de gerenciador dos recursos, o sistema operacional coordena por meio de compartilhamento no tempo e no espaço, como os programas devem usar os dispositivos físicos. 11. Um processo é basicamente um programa em execução. 12. Processos relacionados que estiverem cooperando para executar alguma tarefa precisam frequentemente se comunicar um com o outro e sincronizar suas atividades; Essa comunicação é chamada de comunicação interprocessos. 13. Quando estão interagindo, dois ou mais processos podem, algumas vezes, entrar em uma situação da qual eles não conseguem sair; Essa situação é chamada deadlock. 14. Em informática, um arquivo é um agrupamento de registros que seguem uma regra estrutural, e que contém informações (dados) sobre uma área específica; O Sistema de arquivos é um conceito fundamental que compõe os SO. 15. O SO é o código que executa as chamadas ao sistema; Editores, compiladores, e interpretadores de comandos, por exemplo não fazem parte do SO, mesmo sendo importantes e úteis. 16. Uma chamada ao sistema é o mecanismo usado pelo programa para requisitar um serviço do SO, ou mais especificamente, do núcleo do SO; A interface entre o SO e os programas dos usuários é definida pelo conjunto de chamadas ao sistema que o SO oferece. 17. Núcleo do sistema operacional responsável pelas tarefas críticas do sistema. 18. Sistemas monolíticos é escrito como uma coleção de rotinas, onde cada rotina pode chamar qualquer outra rotina, sempre que for necessário. Estruturas dos sistemas operacionais – Sistemas monolíticos, portanto, o sistema é estruturado de forma que as rotinas podem interagir livremente umas com as outras. Quando esta técnica é usada, cada rotina no sistema possui uma interface bem definida em termos de parâmetros e resultados. Sistemas em camadas: A ideia por trás deste tipo de SO é fazer a organização por meio de hierarquia de camadas. Sistemas em Camadas O SO é dividido em camadas sobrepostas, onde cada módulo oferece um conjunto de funções que podem ser utilizadas por outros módulos. 19. Máquinas Virtuais é um software de ambiente computacional em que um sistema operacional ou programa pode ser instalado e executado. De maneira mais simplificada, podemos dizer que a máquina virtual funciona como um “computador dentro do computador”. Utilidade no mundo atual. São extremamente úteis no dia a dia, pois permitem ao usuário rodar outros sistemas operacionais dentro de uma janela, tendo acesso a todos os softwares que precisa. Elas são usadas em diversos casos, como no lançamento de programas e SOs ainda em estágio de desenvolvimento. Dessa forma, você não se torna refém de aplicativos inacabados que podem apresentar diversos bugs. ( Observações : ) Esta lista deve ser entregue respondida de forma manuscrita (a mão) ou impressa no dia da nossa 1ª Avaliação (não aceitarei, em hipótese nenhuma, em outra data). ( Boa Atividade a Todos(as)!!! Prof. Augusto Montalvão. ) ( UFPB - DCX - RIO TINTO - PB - Março - 2018 - Prof. Augusto Montalvão )