quinta-feira, 20 de setembro de 2012

Arquitetura de Computadores - Aula 5 - Memória (Hierarquia, Tipos e Memória Principal)

1. Qual a definição de memória?

R:Qualquer forma de persistência temporal ou armazenamento de dados.

2. Escreva quais os tipos de memória ordenando por velocidade, do mais rápido ao mais lento.

R:Registradores
Memória Cache
Memória Principal
Memória Secundária



3. Uma memória tem uma probabilidade de acerto (hit) no seu primeiro nível de 40%. O tempo de acesso no primeiro nível é 2ns e no segundo nível é 10 ns. Qual o tempo esperado de acesso para essa memória?

R: As memórias têm uma hierarquia em pirâmide, do mais rápido ao mais lento. Acerto (Hit) é a probabilidade de que uma informação aleatória desejada seja encontrada no nível atual. Se não for encontrada, haverá a necessidade de buscá-la um nível abaixo, em uma memória mais lenta porém com maior capacidade de armazenamento. Perda (Miss) é a situação em que tal informação não foi encontrada no primeiro nível, tendo de passar um nível abaixo.

Uma vez que a probabilidade de Hit é 40%, a probabilidade de Miss é 1 - 40% = 60%, pois são eventos complementares (se não é um, é outro).

O tempo de acesso no primeiro nível é 2 nanosegundos e no segundo nível é 10 nanosegundos. 

Aí fica fácil calcular o tempo esperado de acesso a uma informação aleatória qualquer, que ser dará por seu valor esperado:

Ta = Phit * Thit + Pmiss * Tmiss = Phit * Thit + (1-Phit) * Tmiss  = 40% * 2ns + 60% * 10ns
Ta = 6,8 ns

4. Em um sistema de memórias de dois níveis, para se conseguir uma média de acessos de 5 ns, considerando o tempo de acesso do primeiro nível de 3ns e do segundo nível de 10 ns, qual deve ser a taxa de acerto no primeiro nível?

a) A primeira coisa que temos de saber é que, se a busca de uma informação aleatória só pode dar certo ou não dar, Ph + Pmiss = 1. 

b) Também sabemos que Hit e Miss são eventos mutuamente excludentes, ou seja, se não acontece um, necessariamente acontece o outro, por isso : Pmiss = 1 - Phit

Por isso para montar a equação, para o primeiro nível sempre utilizamos Phit e para o segundo nível (1 - Phit)

c) Temos que os acessos demoram em média 5ns, portanto Ta = 5ns

d) Então, seguindo a fórmula Phit x Thit + Pmiss + Tmiss = Ta, temos que:
Phit * 3 + (1 - Phit) * 10 = 5
3 Phit + 10 - 10Phit = 5
10 - 5 = +10Phit - 3Phit
5 = 7Phit
Phit = 0,714

sábado, 1 de setembro de 2012

Arquitetura de Computadores - Aula IV - Aritmética Computacional

Arquitetura de Computadores - Aula III - Decimais, Binários e Hexadecimais

1) Conversão de 9999 em binários:

Dividendo Divisor Resultado Resto
9999 2 4999 1
4999 2 2499 1
2499 2 1249 1
1249 2 624 1
624 2 312 0
312 2 156 0
156 2 78 0
78 2 39 0
39 2 19 1
19 2 9 1
9 2 4 1
4 2 2 0
2 2 1 0
1 2 0 1

Resposta: 10011100001111

2) O complemento a dois do número 0b1100.1001 na base 10 é:

Solução:

2.1 Primeiro faça o complemento a dois do número 1100.1001. É evidente que a resposta sairá em binário:

1 1 1 1 1 1 1 1
1 1 0 0 1 0 0 1 -
0 0 1 1 0 1 1 0







1 +
0 0 1 1 0 1 1 1

2.2 Depois converta o resultado de binário para a base 10 (lembre-se que o primeiro bit à esquerda é o bit de sinal):

0    0110111 = 0 * 2^6 + 1 * 2^5 + 1*2^4 + 0*2^3+1*2^2+1*2^1+1*2^0 = +55 

Obs.: Dá para concluir que o número 0b1100.1001 representa -55.


3) Tendo em vista os valores (em complemento a dois) X=0b0011.0010, Y=0xAB e Z=-1, após realizadas as somas (W = X + Y) e (K = Y + Z) e considerando todos os números de 8bits, observa-se a ocorrência de overflow:

Escolha uma:
A. em ambas as somas
B. em nenhuma das somas
C. apenas na primeira soma
D. apenas na segunda soma

3.1 Converter todos os números para a notação binária

3.1.1 Converter Y = AB para a notação binária

3.1.1.1 Primeiro, converto para a notação decimal:

Y = AB = 10 * 16¹ + 11 * 16° = 171

3.1.1.2 Depois, converto para a notação binária:

Dividendo Divisor Resultado Resto
171 2 85 1
85 2 42 1
42 2 21 0
21 2 10 1
10 2 5 0
5 2 2 1
2 2 1 0
1 2 0 1

Y = 0xAB = 171 = 0b10101011

3.1.2 Converter Z = -1 para a notação binária:

3.1.2.1 Para achar um número negativo na notação complemento de 2, vamos achar primeiro +1 positivo:

+1 = 0b00000001

3.1.2.2 Agora, vamos achar o complemento de 2 de +1, ou seja, -1 = Z:
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 1 -
1 1 1 1 1 1 1 0







1 +
1 1 1 1 1 1 1 1

Portanto Z = -1 = 0b11111111

3.2 De posse de X = 0b00110010, Y = 0b10101011 e Z=0b11111111 agora poderemos realizar as operações e verificar qual deu overflow:

3.2.1 A primeira operação W = X + Y ficaria:

1


1


0 0 1 1 0 0 1 0
1 0 1 0 1 0 1 1 +
1 1 0 1 1 1 0 1

Esta operação não resultou em carry na 9ª casa, por isso não dá overflow.

3.2.2 A segunda operação K = Y + Z ficaria:

1 1 1 1 1 1 1

1 0 1 0 1 0 1 1
1 1 1 1 1 1 1 1 +
1 0 1 0 1 0 1 0

Nesta operação, como os 2 ultimos carrys são 1 também não dá overflow.



Redes de Computadores - Aula IV - Meios Não Confinados

quarta-feira, 15 de agosto de 2012

Redes de Computadores - Aula III - A Camada Física

O que é Camada Física? Camada física é o envio de dados em sequência de bits 0(zero) e 1(um) esses bits são convertidos em corrente elétrica.

Meios Confinados -São fluxo de bits enviado através de materiais de que são feito, exemplo : sinais elétricos transmitidos através de um fio de cobre, ou um feixe de luz que percorre uma fibra ótica.

Meios Não Confinados - Os bits são enviados por meio de ondas eletromagnéticas, transmitidos através de antenas.

Quais são os 3 elementos em comum dos meios físicos de transmissão de dados?
condutor - Por onde o sinal será enviado , em geral cobre ou fibra ótica.

Isolante - Serve como uma proteção de interferências externas, ou para prevenir o contato entre dois condutores.

Proteção externa - Usado para protege o cabo do meio que o cerca, prevenindo danos, que podem ser físicos (esbarrões ou acidentes) ou mesmo intempéries (sol, chuva).

Cite os Tipos de Cabo, suas características e principais usos:

Par Trançado -  Muito utilizado em instalações telefônicas. Geralmente, os aparelhos estão ligados à rede telefônica por meio deles. Outro tipo de par trançado muito comum é o utilizado em redes de computadores e consiste de quatro pares envoltos por uma capa plástica.

Cabo Coaxial - É amplamente utilizado pelas empresas de televisão a cabo. Sobretudo por ter uma boa resistência a interferências e alta largura de banda. É também utilizado para conectar equipamentos de transmissão ou recepção de sinais de rádio ou televisão a antenas externas.

Fibra Óptica - Utiliza feixes de luz para transmitir dados, Feita de fibra de vidro, possui uma alta velocidade de propagação do sinal, podendo ainda transmitir vários sinais ao mesmo tempo. É também extremamente fina, permitindo a montagem de cabos com várias fibras, que terão uma espessura bem mais fina que um cabo de cobre.

Quais são os 6 subsistemas do cabeamento estruturado.
-Área de trabalho
-Cabos Horizontais
-Cabines de Telecomunicações
-Cabos para o tronco principal
-Sala de Equipamentos
-Entrada do prédio



terça-feira, 14 de agosto de 2012

Algoritmos e Programação - Aula III - Portugol e Conceitos Fundamentais

1) O que são Tipos de Dados e quais são os Tipos de Dados do Portugol?
É a identificação de como certo dado poderá se apresentar, qual sua simbologia e quais operações podem ser realizadas sobre o mesmo.
Real, inteiro, caractere, logico.

2) O que são Identificadores e exemplifique?
 é o nome fornecido a um recurso computacional que o identifica distintamente para acesso e manipulação do computador na execução ou realização de um algoritmo.
idade : inteiro
mensalidade : real

3) O que é uma Variável? O que é uma Constante?
Variável => Como o nome sugere é o espaço que armazena valores ou dados podendo variar.

Constantes= > Espaço reservado para armazenar valores ou dados não podendo sofrer alterações.

4) O que é o processo de "compilar"?
Traduz a linguagem natural de um algoritmo para a linguagem de máquina.

5) Quais são as principais instruções de Entrada e Saída do Portugol? Escreva exemplos, com a sintaxe correta.
Instrução de entrada=> Leia (simão, é, lindão)
Instrução de saída => escreva ("simão", "é", lindão")

6) O que é um operador de Atribuição? Para que serve? Dê exemplo.
Operador de atribuição " <-" serve para atribuir o valor a variável., exemplo : X <- 3 ( armazena 3 em  x)

1)Escreva em Portugol um programa que recebe 4 numeros inteiros , calcule e mostre a soma desses números:


algoritmo “soma numeros”
//Sintese
//Objetivo: Recebe 4 numeros, soma e imprime na tela
//Entrada: os números a,b,c e d
//Saída: A soma dos números de entrada

//Declarações

var: a, b, c, d , soma: inteiro

inicio

leia (a) //lê o primeiro número e grava em a
leia (b) // lê o segundo número e grava em b
leia (c) // lê o 3 número e grava na variável c
leia (d) //lê o 4 número e grava na variável d

soma < - a + b + c + d // soma os 4 números e grava em “soma”

escreva(“A soma dos números é”, soma)

fimalgoritimo


2) Escreva em portugol um programa que imprime "Olá Mundo" na tela


algoritmo “Olá Mundo”
//Sintese
//Objetivo: Imprime na tela "Olá Mundo"
//Entrada: -
//Saída: "Olá Mundo"


inicio

escreva("Olá Mundo!")

fimalgoritimo

3) Escreva em portugol um programa que solicita ao usuário que escreva uma frase, logo depois imprime a frase


algoritmo “Imprime frase de entrada”
//Sintese
//Objetivo: Imprime na tela o que o usuário escrever
//Entrada:  Variável 'texto_entrada'
//Saída: O conteúdo da variável 'texto_entrada'

var

texto_entrada : String //Declara a variável texto_entrada como string

inicio

escreva("Olá usuário! Escreva uma frase para que eu imprima na tela:") //Pede  frase
leia(texto_entrada) //Lê o que o usuário escrever gravando na variável texto_entrada
escreva(texto_entrada) //Escreve na tela o conteúdo da variável texto_entrada

fimalgoritimo