Tarefa de Sistemas Digitais e Computadores II

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 7

Tarefa de Sistemas Digitais e Computadores II

Nome: Flora Kani Fernando

ID:33152

Curso: Engenharia de Telecomunicações

1. A Unidade Central de Processamento (UCP ou CPU) é o cérebro do computador. Sua


função é executar programas armazenados na memória principal, instrução por
instrução.

Sobre os Componentes funcionais da CPU é incorreto dizer que:

A. Unidade de Controle é a unidade responsável pela busca (fetch) de instruções nos


registos e determinação de seus tipos ( decodificação ).

B. Unidade Lógica e Aritmética (ULA) é a unidade que executa as operações lógicas (AND,
OR) e aritméticas (adição, subtração).

C. Conjunto de Registo, constituem uma pequena memória de alta velocidade, utilizada


para armazenar resultados temporários e as informações de controle.

Justifique a sua escolha.

R: A alínea incorrecta é a a) pois a unidade de controle não é responsável pela busca (fetch) de
instruções nos registos, mas sim é responsável pelo fluxo de informação pelo computador. Ela
realiza a busca e a decodificação das instruções na memória principal, logo a busca (fetch)
acontecerá na memória e não nos registradores.

2. As pessoas querem fazer X, mas os computadores só podem fazer Y. Isso leva a um


problema. O problema pode ser atacado de duas maneiras e ambas envolvem o
projeto de um novo conjunto de instruções que são mais convenientes para as
pessoas usarem do que o conjunto de instruções de máquina embutidas.

Assim sendo, é correto dizer que:

Em vez de pensar em termos de tradução ou interpretação, muitas vezes é mais simples


imaginar a existência de um hipotético computador ou máquina virtual cuja linguagem de
máquina é L1. Assim sendo, as pessoas podem escrever programas para máquinas virtuais,
como se elas realmente existissem.
A afirmação a cima é: A. Verdadeira B. Falsa; Justifique a sua escolha

R: Esta afirmação é verdadeira, pois o conceito de máquina virtual permite que os


programadores imaginem que estão trabalhando com uma máquina real, simplificando o
processo de programação sem se preocupar com a complexidade do hardware real. A máquina
virtual é uma abstração que oferece uma interface de mais alto nível para programadores,
permitindo que eles interajam com o hardware de forma mais simples e directa.

3. As pessoas que projetam um novo computador devem decidir quais instruções incluir
em sua linguagem de máquina. Sobre organização dos computadores é incorreto dizer
que:

A. As pessoas que projetam um novo computador devem decidir quais instruções

incluir em sua linguagem de máquina;


B. As pessoas que projetam um novo computador tentam tornar as instruções
primitivas o mais simples possível, consistentes com o uso pretendido do
computador e os requisitos de desempenho, a fim de reduzir a complexidade e o
custo da eletrônica necessária;

C. Pessoas que projetam novos computadores ou novos níveis (ou seja, novos
máquinas) não necessitam conhecer ou estar familiarizados com níveis diferentes
do superior.

Justifique a sua escolha.

R: A alternativa incorrecta é a alínea c), porque para projectar um computador de maneira


eficiente, o fabricante precisa entender as interações entre os diversos níveis, incluindo os
níveis baixos do hardware.

4. Como a maioria das linguagens de máquina são tão simples, é difícil e entediante
para as pessoas usá-las. Esta simples observação tem, ao longo do tempo, levado a
uma maneira de estruturar os computadores como uma série de abstrações.

Tendo em atenção a afirmação a cima, é correto dizer que:

Desta forma, a complexidade pode ser dominada e os sistemas de computador podem ser
projetado de forma sistemática e organizada. Chamamos essa abordagem de interpretação e
tradução.

Justifique a sua escolha.

R: Sim, é correcto dizer, pois a utilização dos níveis de abstração ajudam a simplificar o
projecto e o uso dos sistemas de computacionais, permitindo que camadas mais altas
traduzam ou interpretem instruções complexas em operações mais simples para hardware.
5. Existe uma grande lacuna entre o que é conveniente para as pessoas e o que é
conveniente para os computadores. As pessoas querem fazer X, mas os computadores
só podem fazer Y, o que dá origem a um problema.
a) Explique como esse problema pode ser resolvido.
R: Sobre a lacuna entre o que pessoas e computadores fazem:
Esse problema é resolvido através de criação de linguagens de alto nível e máquinas virtuais,
que traduzem instruções simples e de fácil compreensão para humanos em instruções de
máquina que os computadores conseguem processar.

6. A maioria dos computadores modernos consiste de dois ou mais níveis. Existem


máquinas com até seis níveis, onde o nível 0, ou parte inferior, é o hardware da
verdadeira máquina.
A. Apresente o esquema de um computador de seis níveis. O método de suporte para
cada nível e indique abaixo dele (junto com o nome do programa que o suporta).
B. Tendo em atenção do esquema apresentado na alínea a), explique suscitamente o
processo de conversão de uma instrução em linguagem de alto nível (orientada a
problema) para uma instrução em linguagem de máquina (nível lógico digital).

R:

O processo de conversão de uma instrução em linguagem de alto nível para linguagem de


máquina (nível lógico digital) ocorre em várias etapas, usando compiladores e tradutores. Ele
pode ser resumido assim:

1. Escrita da Instrução em Linguagem de Alto Nível

• A instrução é escrita em uma linguagem compreensível por humanos, como C, Java ou


Python.

• Exemplo: x = y + z;
2. Compilação (Tradução para Linguagem de Montagem)

• O compilador traduz o código de alto nível para uma linguagem intermediária, como a
linguagem de montagem.

• Exemplo em Assembly:
LOAD R1, y ; Carregar o valor de y no registo R1
ADD R1, z ; Somar o valor de z ao R1
STORE x, R1 ; Armazenar o resultado em x

3. Montagem (Tradução para Linguagem de Máquina)

• O montador converte as instruções de montagem em linguagem de máquina,


representada por códigos binários que a CPU pode entender diretamente.

• Exemplo em Linguagem de Máquina:


110001 00001 00010 (LOAD)
100010 00001 00011 (ADD)
110010 00001 00100 (STORE)

4. Execução pela CPU (Nível Lógico Digital)

• No nível mais baixo, os circuitos eletrônicos (portas lógicas) do processador


interpretam o código binário como comandos para movimentar dados, realizar cálculos e
acessar a memória.
II– Introdução aos Sistemas Lógicos Microprogramados.

1. Um barramento de dados – caminho partilhado por um conjunto de dispositivos para


a transferência de dados. Recorrendo ao esquema de transferência condicional com
recurso ao MUX e barramento de dados, realize as seguintes transferências:

Transferência 1: �� ← �� ; �� ← ��
Transferência 2: �� ← �� ; �� ← ��
a) Apresente o esquema de transferência condicional de dados entre registo, com
recurso a barramento. 1 V

b) Para cada transferência, apresente os valores existentes nas entradas de


endereçamento e de validação.

R:

Registos Entradas de endereçamento Entradas de validação

S1 S0 L0 L1 L2

R0  R1 , R2  R1 1 0 1 0 1

R0  R1 , R2  R0 IMPOSSIVEL
7. Um barramento de dados é um caminho partilhado por um conjunto de dispositivos
para a transferência de dados – Figura 2.

Transferência 1: �� ← �� ; �� ← ��

a) Recorrendo ao esquema da figura 2, é possível realizar a transferência 1 ?


Explique. 1 ,5V

b) Se a sua resposta for SIM, demonstre como ficarias os valores das entradas de
endereçamento e das entradas de validação. Se a sua resposta for NÃO,
apresente a solução. 1 ,5V

c) Desenhe o esquema de transferência que permite a realização da transferência 1


e demonstre como ficarias os valores das entradas para disponibilização, bem
como das entradas de gravação. 2 V

a) R: Segundo o esquema da figura 2, não é possível realizar a transferência 1 pois é


impossível neste caso realizar em simultâneo porque apenas é permitido que uma das
entradas seja selecionada de cada vez, devido ao valor aplicado às entradas de
endereçamento do MUX, S1 e S0. No entanto as transferências podem ser executadas
em instantes diferentes deste que devidamente temporizada.
b) R: Uma solução para esse problema seria o uso de registos de três estados pois eles
enviam, guarda por um instante por um instante e disponibiliza dados. Ele precisa de
uma entrada “LOAD-carregar” para fazer a recepção (ou seja, ele activa o registo para
receber e armazenar o dado que está disponível na entrada) e uma entrada
“ENABLE-habilitar” (ou seja, permite que o conteúdo do registo seja enviado para fora)
para disponibilizar dados em um pulso de clock. Para fazermos recepção de dados a
entrada “LOAD” é activa em um pulso de clock, mas atenção que os registos de três
estados, quando dois ou mais estão a disponibilizar (L0,L1,L2) as suas entradas para
enviar terão que estar inativas, o mesmo acontece com a situação inversa.
c) R:
Entradas para a Entradas de
disponibilização gravação

Posição Transferência de EN0 EN1 EN2 L0 L1 L3


dados entre
registos
T1 1 0 0 0 0 0
T2 0 0 0 0 0 1
1 R0  R1, R2 R0
T3 0 1 0 0 0 0
T4 0 0 0 1 0 0

III – Elementos das funções Características nos Computadores – Instruções e

Macroinstruções.
1. Represente as condições nos descodificadores e as transferências entre registos e
memórias, de modo a efeituar as seguintes operações.

RA← M[AR1] AND RB

RB← M[AR0] AND RA

M[AR0] ← RA AND DR2

R:

RA ← M[AR1] AND RB

T0: DBE=1; BUS add  AR1

T1: DBFD=1; BUS data  M[AR1]

T2: DBDD= 1; R1  BUS data


T3: DBFD=1; BUS data  DR1

T4: DBDD= 1; RA  BUS data

T5: DBDD=1; ra  RA

T6: DBDD=1; rb  RB

T6: UTC= 001; ra  ra AND rb

DBDD=1; RA  ra

RB← M[AR0] AND RA

T0: DBE=1; BUS add  AR0

T1: DBFD=1; BUS data  M[AR0]

T2: DBDD= 1; DR1  BUS data

T3: DBFD=1; BUS data  DR1

T4: DBDD= 1; RB  BUS data

T5: DBDD=1; rb  RA

T6: DBDD=1; ra  RA

T6: UTC= 001; rb  rb AND ra

DBDD=1; RB  ra

M[AR0] ← RA AND DR2


T0: DBFD=1; BUS data  DR1
T1: DBDD=1; RB  BUS data

T2: DBDD=1; rb  RB

T3: DBDD=1; ra RA

T4: UTC= 001; ra  ra AND rb

DBDD=1; RA  ra

T5: DBFD= 1; BUS data  RA

T6: DBE= 1; BUS add  AR0

T7: DBDD=1; M[AR0]  BUS data

Você também pode gostar