quinta-feira, 5 de fevereiro de 2009

Organização de Computadores (cont.)

INF-5

1.4.3 Dispositivos de entrada e saída: a unidade central de processamento e a memória principal são suficientes para executar um programa, mas para existir interação com o usuário é necessário o uso de dispositivos de entrada e saída.

1.4.4 Processamento automático de dados: os programas são armazenados na memória principal e a ucp realiza a execução do mesmo, para que o processamento ocorra dois passos são necessários: 1) o programa tem que estar armazenado na memória; 2) a ucp tem que ser indicada sobre onde o programa está armazenado. Esses dois passos são realizados pelo Sistema Operacional.

1.5 Conceitos básicos: essa seção trata de conceitos como bit, byte, palavras... primeiramente a seção diz que os computadores atuais reconhecem apenas dois tipos de tensão (entre 2,5 e 3,5 volts para indicar positivo e entre 0 e 0,5 volts para indicar negativo) e por isso são computadores binários. A álgebra de Boole é que permite aos computadores operar com apenas esses dois valores.

1.5.2 Sincronização de operação do sistema: o computador envia sinais elétricos regulares (pulsos de clock) para manter a sincronia entre todos os seus componentes. O pulso de clock indica que um ciclo terminou, assim, o processamento desse ciclo será encerrado e outro ciclo terá início. Os componentes do computador operam recebendo ou transmitindo dados e a cada ciclo uma dessas atividades é realizada.

1.6 Memória: o conteúdo é o mesmo visto anteriormente. Hierarquia, regristradores, cache...

1.7 Memória principal: como já foi dito antes, a mp é a parte do computador onde programas e dados ficam armazenados para o processamento. Quem controla a utilização da mp é o Sistema Operacional.

1.7.1 Estrutura da memória principal – células e endereços: a memória precisa ter uma organização que permita guardar e recuperar informações quando necessário. A unidade de armazenamento do computador é a célula, ou seja, a memória principal é composta por células. As células são as menores unidades endereçáveis do computador e, para uma dada máquina, todas as células têm o mesmo número de bits. As células são numeradas seqüencialmente de 0 até N-1 e essa numeração é o endereço da célula e é através dele que a célula é referenciada.

Unidade de transferência é a quantidade de bits que é transferida da memória em uma única operação de leitura ou transferida para a memória em uma única operação de escrita. Uma célula não é o mesmo que uma palavra. Uma célula não contém uma palavra. Palavra é a unidade de processamento da ucp e deve representar uma instrução ou um dado.

Um dos problemas do projeto de hardware é a estrutura da memória principal, o que deve-se escolher: mais endereços com células menores ou menos endereços com células maiores?

Para representar um endereço utiliza-se a seguinte idéia: mp com endereços de 0 a (N-1),

N = 2^x, logo, x = log2N, sendo x = número de bits para representar um endereço e N o número de endereços.

quarta-feira, 4 de fevereiro de 2009

Organização de Computadores


Organização de Computadores


Conteúdo das apostilas:

INF-1

Capa: é só a capa!

INF-2

Sumário

INF-3

1.1 Representação da informação: nessa apostila são tratados tópicos mais introdutórios e históricos, como:

  • o que é informação – é qualquer sinal transmitido (Shannon), sinal elétrico, visual, palavras...

  • o que é processamento da informação – refere-se ao armazenamento, transmissão, combinação e comparação da informação;

  • representação da informação – fala sobre gestos, pinturas nas paredes, até chegar no alfabeto e nos algarismos e nos sistemas de númeração.

INF-4

1.2 Evolução do computador: nesse capítulo há um pouco da história das máquinas de computação e seus inventores (Pascal, Babbage, Ada...). Um item importante historicamente é a calculadora analítica de Babbage, essa calculadora era composta por um dispositivo analítico chamado de MOINHO (máquina de somar com precisão de 50 casas decimais), um dispositivo de ENTRADA que leria cartões perfurados contendo não somente números (dados) mas também INSTRUÇÕES (o que fazer com os dados), um memória chamada de ARMAZÉM para guardar números (originados da entrada ou do moinho) e um dispositivo impressor para dar a SAÍDA dos resultados. Para a elaboração desta máquina ele contou com a ajuda da matemática Ada Byron. Babbage é considerado o percursor do computador e Ada a percursora do software.

1.3 Modelo hipotético de um computador: dá uma visão superficial do computador (elementos básicos e funcionamento), da seguinte forma:

  • Operador: só faz o que for ordenado, não toma decisões;

  • Conjunto de escaninhos: com capacidade para um cartão;

  • Máquina de calcular: executa as operações;

  • Caixa de entrada: para receber cartões de fora;

  • Máquina de escrever: para dar saída as informações/resultados

Em cada cartão há instruções, o operador percorrer todos os escaninhos executando as instruções, até que haja uma instrução de parada.

Ainda nesse capítulo o autor dá uma série de definições fazendo analogias com o modelo hipotético, por exemplo, escaninho = memória; processador = operador e máquina de calcular, além de outras definições como hardware, firmware, software...

1.4 A arquitetura de um computador: o capítulo começa dizendo que a arquitetura básica dos computadores atuais segue o modelo criado por Von Neumann. Na arquitetura de Von Neumann os computadores teriam que:

  • Codificar instruções que pudessem ser armazenadas na memória, ele sugeriu utilizar cadeias de 0s e 1s para essa codificação;

  • Armazenar na memória as instruções e todas as informações necessárias para execução da instrução;

  • Buscar as instruções diretamente na memória quando o programa fosse processado.

    Diagrama de Blocos de um Computador


    1.4.1 Unidade central de processamento (UCP): é a responsável por processar e executar os programas que estão na memória principal. É composta por:

  • Unidade lógica e aritmética (ULA): realiza as operações lógicas (e, ou...) e aritméticas (soma...);

  • Unidade de controle: envia sinais de controle para toda a máquina, de forma que todos os dispositivos funcionem adequadamente e sincronizadamente.

Com isso a tem duas funções básicas: executar as instruções (realizar aquilo que a instrução determinar); e realizar o controle das operações do computador.

1.4.2 Memória principal: armazena toda a informação que é manipulada pelo computador – programas e dados. Para que um programa possa ser manipulado pela máquina, ele precisa estar na memória principal. É a memória RAM.

Hierarquia de memória: a memória principal não é a única memória existente. É montada uma hierarquia para classificar as outras em função do tempo de acesso, do custo e da capacidade:


Tipo: capac. | velocidade | custo | localização | volátil
Registrador: bytes | muito alta | muito alto | ucp | sim
Memória cache: KBytes | alta | alto | ucp/placa | sim
Memória principal: MBytes | média | médio | placa | sim
Memória auxiliar: GBytes | baixa | baixo | externo | não


A unidade central de processamento vê nessa ordem e acessa primeiro as que estão mais próximas e são mais rápidas. A medida que se afasta da UCP, as memórias ficam mais lentas, mais baratas e com maior capacidade.

Registradores: surgiram da necessidade de armazenar dados temporariamente durante o processamento, são rápidos, caros, com capacidade para apenas um dado e estão localizados na UCP. Eles são voláteis, ou seja, precisam estar energizados para armazenar a informação.

Memória Cache: as UCPs evoluíram em termos de velocidade enquanto as memórias evoluíram em termos de capacidade de armazenamento, com isso, o tempo de acesso as memórias tornou-se insatisfatório pois a UCP ao buscar um dado na memória precisava esperar vários ciclos (wait states) até a memória retornar o dado buscado e isso tornou-se um gargalo (botleneck) para os sistemas. Para resolver esse problema criou-se um tipo de memória que dava privilégio ao tempo de acesso.

A arquitetura da memória cache é diferente da arquitetura da memória principal e o acesso a ela é muito mais rápido. Como o custo da memória cache é superior ao da memória principal é inviável construir um computador apenas com memória cache, por isso, a forma de resolver o problema do gargalo foi incorporar uma pequena porção de memória cache, localizada entre a UCP e a MP, que funciona como espelho da memória principal.

Desenvolveram-se algoritmos que fazem com que, a cada momento, a memória cache armazene uma porção dos dados ou códigos que estão sendo utilizados pela UCP. A transferência

MP<->Cache é feita por hardware, nem o programador, nem o sistema operacional sabem da existência da cache. O funcionamento da memória cache é baseado nas estatísticas das execuções dos programas que dizem que pequenos trechos de códigos são referenciados várias vezes, logo, eles são candidatos a ficar na cache. Quando a UCP procura determinado trecho de código e o encontra na cache, sem ter que procurar na mp, dá-se um cache-hit. Quando o dado não é encontrado na cache, ocorre um cache-miss, e o mesmo terá que ser buscado na MP. A taxa de cache-hit é superior a 90%. Memórias cache são voláteis e precisam estar energizadas para armazenar informação.

Memórias auxiliares: resolvem o problema do armazenamento de grandes quantidades de informação. O custo por bit armazenado é muito menor que o da mp. São não voláteis. Exemplos: HD, CD, DVD,