Gabarito da LC2

Propaganda
Gabarito da LC2
1) a) Os elementos básicos são: unidade de controle, unidade lógica aritmética (ULA),
memória e dispositivos de entrada e saída (I/O); b) São 4 elementos principais: processador,
memória
primária
e
secundária,
barramento
e
dispositivos
de
I/O.
Processador: Executar os programas armazenados na memória principal, buscando
cada
instrução
na
mesma,
decodificando
e
executando;
Memórias: Armazenamento de dados e programas, permitindo o processamento
automático
dos
mesmos;
Dispositivos de I/O: Possibilitar o interfaceamento entre o homem e a máquina;
Barramento: Permitir a comunicação entre os dispositivos citados acima.
2) O código escrito para máquina Mi em nível 0 já é o código em nível mais baixo que pode
existir, assim, ele pode ser executado diretamente na máquina real. Caso o nível fosse maior
que 0, então seriam necessários procedimentos de traduções ou interpretações.
3) Linguagens de baixo nível possuem funções muito simples e limitadas, tornando o processo
de programação tedioso e trabalhoso. Agrande vantagem de linguagens de alto nível é
possibilitar um nível de abstração maior, poupando-nos de termos que nos preocupar com
detalhes referentes a tecnologia específica de cada componente, permitindo nos preocupar
com
a
lógica
da
solução
do
problema
em
si.
4) Esse nível define aspectos externos dos componentes de uma máquina para possibilitar que
estes sejam usados por um programador de linguagem de máquina. Trata-se do nível mais
baixo em que a interface de um componente pode ser exibido para quem deseja fazer uso do
mesmo.
5)
a) Barramento é um caminho físico de condutor elétrico com a função de interconectar
os
demais
componentes
do
computador;
b) Normalmente barramentos são compartilhados entre vários dispositivos, como o
dispositivo que mais “conversa” com o processador é a memória, estes dois tentem a usar
mais o barramento, criando um barramento dedicado para apenas tais componentes pode-se
ganhar bastante em desempenho, já que estes não concorreriam com outros dispositivos para
comunicarem-se.
6) São
basicamente
4
registradores:
PC,
IR,
MAR
e
MBR.
PC (Program Counter): Registrador responsável por guardar o endereço da próxima
instrução
a
ser
executada.
IR (Instruction Register): Este guarda o conteúdo da instrução a ser decodificada e
executada;
MAR (Memory Address Register): Registrador que guarda o endereço de uma informação
que deseja-se obter da memória principal, ou que deseja-se gravar na mesma;
MBR (Memory Buffer Register): Registrador que guarda o dado em si do que se está
obtendo
da
memória
principal
ou
deseja-se
gravar
na
mesma.
7) O nível 1 trata-se de componentes um pouco mais complexos que são feitos com circuitos
combinacionais criados no nível 0. Nesse nível pode-se ver uma ULA, Unidade de controle,
conjunto de registradores e caminho de dados. No nível 2, também chamado de nível ISA,
pode-se distinguir os circuitos já encapsulados em um chip fisicamente e disponível para
serem programados por programadores em nível de máquina. Assim, nesse nível especificase quais instruções são suportadas pelo chip, ou seja, sua interface em linguagem mais baixa
com
o
mundo
externo.
8) Tal programa em nível alto pode ser interpretado por uma abstração de uma máquina
localizada em um nível inferior à linguagem que se está programando. Outra forma que
poder executar esse programa consiste em compilar ele para uma linguagem de baixo nível
(tradução), posteriormente usar um montador para converter as instruções nessa linguagem
para binário e finalmente usar um ligador para resolver dependências de bibliotecas externas
que
foram
usadas
nesse
programa.
9) A arquitetura RISC (Reduced Instrucion Set Computer) consiste em uma arquitetura que
adota a abordagem simplista, fazendo uso de instruções mais simples, porém mais rápidas
de serem executadas. Nessa arquitetura também pode encontrar-se um número grande de
registradores.
Já na arquitetura CISC (Complex Instruction Set Computer) adota-se uma abordagem de
construir instruções mais poderosas, assim, existem várias instruções que facilitam e muito
um programador que esteja programando para uma máquina dessa arquitetura. O ponto
negativo é que cada instrução dessa pode demorar mais do que uma instrução RISC para ser
executada.
10) Porque o ASSEMBLY possibilita uma programação mais próxima da máquina, fazendo uso
comandos mais simples e abstrações mais limitadas. Já o C possui a capacidade de esconder
do usuários vários detalhes possibilitando, por exemplo, que ele faça uso de variáveis para
guardar seus dados e não preocupe-se com registradores e coisas do tipo.
11) O hardware é o componente físico da máquina, é aquilo que pode ser palpável ao ser
humano, composto de silício e condutores elétricos. O software trata-se da propriedade
intelectual que foi inserida dentro da máquina, corresponde à lógica que veio do pensamento
humano e foi transcrita de forma digital para ser armazenada no hardware. A CPU compõe
um chip em que dentro ele existe uma unidade lógica aritmética, registradores, unidade de
controle, caminho de dados e memória cache. A CPU é um chip que proporciona uma
solução completa para que se possa executar programas. A ULA é um componente que está
inserido dentro da CPU, a ULA é composta de um circuito combinacional que executa ações
como: somar, subtrair, inverter, deslocar, etc. O clock é um pulso elétrico que fica indo de 1
para 0 e 0 para 1 intermitentemente. Esse proporciona uma noção de tempo sendo passado
no circuito, assim tudo é propagado no circuito baseado no clock.
12) É dividido basicamente em dois ciclos: cliclo de busca (fetch cycle) e ciclo de execução
(execution cycle). No ciclo de busca a unidade de controle verifica o valor de PC e carrega
a instrução em si apontada por ele no registrador de instruções (IR). Após isso ele
incrementa o valor de PC. O ciclo de execução consiste em decodificar o valor que
encontra-se em IR para determinar qual operação será realizada qual tipo de informação está
no operando. Caso o operando seja um endereço de memória, essa fase também é
responsável por obter o dado apontado por tal endereço e o armazenar em algum registrador.
Após isso, a unidade de controle sinaliza para a ULA executar o necessário para execução da
instrução.
13) Sim, como no ciclo de instrução existem atividades que podem ser feitas de forma semiindependente, é possível desenvolver um pequeno hardware que seja dedicado a cada uma
dessas pequenas tarefas, assim, tornando o processo iterativo e semi-paralelo. Esse processo
chama-se de pipeline.Com o uso desse mecanismo é possível ganhar bastante em
desempenho.
14)
15)
Download