Você está na página 1de 4

Curso de Tecnologia em Sistemas de Computação

Disciplina: Organização de Computadores


AD2-2 Segundo Semestre de 2020
Nome:Gabriel de Souza Ferreira
Matricula: 19113050109

Questão 2

a)
O mouse é consultado 100 vezes por segundo. Cada operação de consulta consome 200
ciclos.
São necessários, então, 100 x 200 = 20000 ciclos/segundo para as operações de
consulta ao mouse.
O relógio é de 2GHz, que corresponde a 2 x 10**9 ciclos.
O overhead será obtido pela seguinte razão:
20000 ciclos/seg / (2 x 10**9 ciclos/seg) = 0,00001 ou 0,001%

b)
Taxa de transferência = 500KB/s = 500.000 B/s.
Em cada operação é transferida uma unidade de 32 bits ou 4 bytes.
A cada segundo ocorrem 500.000B / 5B = 100.000 operações, como cada operação leva
500
ciclos, então, o total de ciclos será 100.000 x 500 = 50 x 10**6 ciclos/s.
O relógio é de 2GHz, que corresponde a 5 000 x 10**6 ciclos/s.
O overhead será obtido pela seguinte razão:
50 x 10**6 ciclos/s / 5 000 x 10**6 ciclos/s = 0,01 ou 1%
OBS: as taxas de transferência utilizam a base 10, e não a base 2.
1KB/s corresponde a 1.000B/s e 1MB/s a 1.000.000B/s.

c)
Taxa de transferência = 1MB/s = 1.000.000 B/s.
Em cada operação é transferida uma unidade de 32 bits ou 4 bytes.
A cada segundo ocorrem 1.000.000B / 4B = 250.000 operações, como cada operação
leva
200 ciclos, então, o total de ciclos será 250.000 x 200 = 50 x 10**6 ciclos/s.
O relógio é de 2GHz, que corresponde a 2 000 x 106 ciclos/s.
O overhead será obtido pela seguinte razão:
50 x 10**6 ciclos/seg / 2000 x 106 ciclos/s = 0,025 ou 2,5%
Questão 4

X = ((A-C)/D*(C+A))/B

STR X,A => X <- A


SUB A,C => A <- A-C
ADD X,C => C <- C+X
DIV A,D => A <A/D
MPY A,C => A <- A*C
DIV A,B => A <- A/B
MOV X,A => X <- A

Questão 5
a)
Sistemas SMP (ou UMA) têm como característica o acesso a todas as partes da memória
principal com
tempo de acesso uniforme. Em sistemas NUMA, todos os processadores possuem
também acesso a todas as partes
da memória principal podendo diferir o tempo de acesso em relação às posições da
memória e processador.
Nos sistemas SMP o aumento no número de processadores tem como consequência
problemas de tráfego no barramento degradando o desempenho. Uma solução para isto é
a utilização de clusters, que tem, usualmente,
como consequência alterações significativas na aplicação (software). Nos sistemas NUMA
podem-se ter vários
nós multiprocessadores, cada qual com seu próprio barramento, resultando em pequenas
alterações na aplicação
(software).
Exemplo de NUMA: Cray T3E, SGI Origin 3000
Exemplo de SMP: Maioria dos servidores da HP, IBM e mais recentemente arquiteturas
multicores que acessam
a mesma memória principal.

b)
RISC: Reduced Instruction Set Computer – Computador com um conjunto reduzido de
instruções
CISC - Complex Instruction Set Computer: Computador com um conjunto complexo de
instruções
CISC: Principais características:
Possui microprogramação para aumento da quantidade de instruções incluindo novos
modos de
endereçamento, de forma a diminuir a complexidade dos compiladores e em
consequência permitir linguagens
de alto nível com comandos poderosos para facilitar a vida dos programadores. Em
contrapartida, muitas
instruções significam muitos bits em cada código de operação, instrução com maior
comprimento e maior tempo
de interpretação.
RISC: Principais características:
Menor quantidade de instruções e tamanho fixo. Não há microprogramação. Permite uma
execução
otimizada, mesmo considerando que uma menor quantidade de instruções vá conduzir a
programas mais longos.
Uma maior quantidade de registradores e suas utilizações para passagem de parâmetros
e recuperação dos
dados, permitindo uma execução mais otimizada de chamada de funções. Menor
quantidade de modos de
endereçamento com o objetivo da reduzir de ciclos de relógio para execução das
instruções. Instruções de
formatos simples e únicos tiram maior proveito de execução com pipeline cujos estágios
consomem o mesmo
tempo.
Os processadores Intel e AMD são exemplos de processadores CISC, já o Power PC e o
Sparc da Sun
(não tão atuais) são exemplos da arquitetura RISC. Podemos dizer que os processadores
atuais são na verdade
uma mistura das duas implementando em um chip o que é vantajoso de cada arquitetura.

Questão 7

E/S Programada

Os dados são trocados entre a CPU e o módulo de E/S. A CPU executa um programa que
lhe dá o controle direto da operação de E/S, incluindo a apreensão do status do
dispositivo, a emissão de comandos de leitura e de escrita e a transferência de dados.
Quando a CPU emite um comando para o módulo de E/S, deve esperar até estar
completa a operação de E/S.
Em um programa, a execução de uma instrução relacionada a E/S faz com que um
comando seja enviado para o módulo de E/S. O módulo de E/S executa a operação
requisitada e sinaliza o seu término carregando um valor no registrador de estado.
Nenhuma ação é executada pelo módulo para alertar o processador sobre o término da
operação. É responsabilidade do processador verificar periodicamente o estado do
módulo, para ver se a operação foi completada.

E/S dirigida por interrupção

O problema com a E/S programada é que a CPU tem de esperar muito tempo para que o
módulo de E/S, em causa, esteja pronto quer para receber ou transmitir dados. A CPU
enquanto em espera, tem de interrogar, repetidamente, o status do módulo de E/S. Como
resultado, o nível de desempenho do sistema, na sua totalidade, é severamente
degradado.
Uma alternativa é a CPU emitir um comando de E/S para o módulo e, seguidamente,
continuar a fazer outro trabalho útil. O módulo de E/S irá interromper a CPU para requerer
um serviço quando estiver pronto para trocar dados com a CPU. A CPU, seguidamente,
executa a transferência de dados, tal como antes, e retoma o seu processo inicial.

Vamos ver como isto trabalha, em primeiro lugar, do ponto de vista do módulo de E/S.
Para entrada, o módulo recebe um comando READ (de leitura) da CPU. O módulo de E/S
procede, seguidamente, para ler dados de um dos periféricos associados. Quando os
dados estão nos registros de dados de módulo, este produz um sinal de interrupção da
CPU através de uma linha de controle. O módulo espera, então, até que os seus dados
sejam pedidos pela CPU. Quando o pedido é efetuado, o módulo coloca os seus dados
no barramento de dados e fica pronto para uma outra operação de E/S.

A ação para entrada, do ponto de vista da CPU, é a seguinte. A CPU emite um comando
READ. Seguidamente, vai embora e faz outra coisa qualquer (e.g. a CPU pode estar a
trabalhar em vários programas diferentes ao mesmo tempo). No fim de cada ciclo de
instrução, a CPU faz o teste de interrupção. Quando ocorre a interrupção, vinda do
módulo de E/S, a CPU salvaguarda o contexto (e.g. contador de programa e registos da
CPU) do programa corrente e processa a interrupção. Neste caso, a CPU lê a palavra de
dados do módulo de E/S e armazena-a na memória. Seguidamente, restaura o contexto
do programa em que estava a trabalhar (ou qualquer outro programa) e retoma a
execução.

DMA(Direct Memory Access)

E/S por interrupção, apesar de mais eficiente do que a E/S programada simples,
necessita, ainda, de intervenção da CPU para transferir dados entre a memória e o
módulo de E/S. Assim, ambas as formas de E/S têm duas desvantagens inerentes.

A taxa de transferência de E/S está limitada pela velocidade com que a CPU pode testar e
servir um dispositivo.
A CPU está presa à gestão do dispositivo. Consideremos a transferência de um bloco e
dados.
Usando E/S programada simples, a CPU fica dedicada ao serviço de E/S e pode mover
dados a uma taxa elevada, ao custo de não fazer mais nada. A E/S por interrupção liberta
a CPU, até uma determinada extensão, à custa da taxa de transferência de dados.
Todavia, ambos os métodos têm um impacto negativo na atividade da CPU e na taxa de
transferência.
Quando for necessário mover grandes volumes de dados, torna-se necessário uma
técnica mais eficiente: acesso direto ah memória (DMA).

A DMA envolve um módulo adicional no barramento de sistema. O módulo de DMA é


capaz de imitar a CPU e, na verdade, de retirar da CPU o controle do sistema.
O DMA é como se fosse um coprocessador, porém tem somente a função de transportar
as mensagens. Quando uma transferência é concluída pelo DMA, este envia um sinal de
interrupção para a CPU.

Fontes:
http://www4.di.uminho.pt/~amp/textos/COA/
node9.html#SECTION00940000000000000000
https://www.embarcados.com.br/dma-direct-memory-access/#:~:text=DMA%20significa
%20Direct%20Memory%20Access,sem%20a%20interven%C3%A7%C3%A3o%20da
%20CPU.
https://docente.ifrn.edu.br/givanaldorocha/disciplinas/organizacao-e-arquitetura-de-
computadores-licenciatura-em-informatica/entrada-e-saida