segunda-feira, 2 de dezembro de 2013

1. APRESENTAÇÃO


DESENVOLVEDORES DO BLOG

DIEGO AGUIAR
ACADÊMICO DO 3º PERÍODO DO CURSO DE ENGENHARIA BIOMÉDICA DA FUNORTE
DISCIPLINA: ARQUITETURA DE COMPUTADORES


JAMILA ALVES
ACADÊMICA DO 3º PERÍODO DO CURSO DE ENGENHARIA BIOMÉDICA DA FUNORTE
DISCIPLINA: ARQUITETURA DE COMPUTADORES

PEDRO GILMAR
ACADÊMICO DO 3º PERÍODO DO CURSO DE ENGENHARIA BIOMÉDICA DA FUNORTE
DISCIPLINA: ARQUITETURA DE COMPUTADORES

OBJETIVOS DO BLOG

  • Listar e detalhar os principais componentes do sistema computacional de Von Newman;
  • Explicar a estrutura interna do computador, com foco na comunicação básica entre computador e memória;
  • Descrever todos os componentes do subsistema de memória, inclusive a hierarquia dos tipos de memória que integram sistema computacional;
  • Caracterizar todos os componentes do subsistema de processamento, detalhando sua divisão funcional, barramentos e o esquema básico do ciclo de instruções.

2. ESTRUTURA INTERNA DO COMPUTADOR

A  estrutura interna de um computador pode ser dividida em quatro unidades lógicas: a unidade central de processamento (ou processador), a memória, os circuitos de entrada e saída (ou E/S) e os programas (software).

O processador é o cérebro do computador, pois executa programas. É, ainda, o componente que calcula operações de lógica binária (adição, subtracção, etc), que lê e escreve informação na memória do computador e que diz aos outros componentes o que fazer.


A memória é o principal local de operação do computador, pois armazena toda a informação associada ao programa que está a ser executado. Como é óbvio, quanto maior fôr a memória, maior é a quantidade de operações sobre a qual podem ser executadas.

Os dispositivos de entrada/saída são, tal como o nome o indica, os pontos de entrada e de saída de informação no computador. Entre eles estão o teclado, o monitor e a impressora, os dispositivos de armazenamento, bem como muitos outros. Os dispositivos de armazenamento, no entanto, são os mais práticos e importantes, pois salvaguardam a informação que não está em uso na memória e que, mais tarde, podem ser necessários. Graças à sua separação física dos outros componentes, estes dispositivos são vulgarmente chamados de periféricos.

Apesar de não terem qualquer tipo de implementação física, os programas (software) são o que dão vida aos diversos componentes do computador e os fazem trabalhar para algum fim comum. Isso é conseguido, através de instruções específicas de operação agrupadas em unidades lógicas ou programas. Todos os componentes do computador são interligados por barramentos que em ciência da computação consiste em um conjunto de linhas de comunicação (fios elétricos condutores em paralelo) que permitem a interligação entre dispositivos de um sistema de computação , como: CPU; Memória Principal; HD e outros periféricos.
O desempenho do barramento é medido pela sua largura de banda (quantidade de bits que podem ser transmitidos ao mesmo tempo).


3. SUBSISTEMA DE MEMÓRIA

A memória é o componente de um sistema de computação cuja função é armazenar as
informações (por informações entendem-se os dados ou as instruções de um programa – Von Neumann)
que são, foram ou serão manipuladas pelo sistema. Na prática, a memória de um computador possui
tantas variedades (velocidade, capacidade de armazenamento, tecnologia, etc.) que se torna um
subsistema de elementos hierarquicamente estruturados.

No caso de uma memória de computador, o elemento a ser manipulado é o bit, o qual, em grupo
de n bits, corresponde a uma unidade de informação a ser armazenada, transferida, recuperada, etc. Para
isso, realizam-se ações de armazenamento (transferência de bits de outro componente (UCP, HD, etc.))
ou recuperação (transferência de bits para outro componente (UCP, HD, etc.)). O armazenamento pode
ser chamado de “escrita”, “gravação” ou “write”, enquanto a recuperação pode ser chamada de
“leitura” ou “read”. A gravação é destrutiva, ou seja, os dados que estavam gravados anteriormente são
substituídos pelos que estão sendo gravados. Por outro lado, a recuperação apenas copia o valor
armazenado para outro local. O valor original continua sem alteração.

Para que a memória possa ser armazenada em uma memória (escrita) é necessário que seja
definido um local disponível identificado de alguma forma precisa e única (um número, por exemplo). O
número ou código associado ao local é o endereço (“address”) e irá permitir que a informação possa ser
localizada.

HIERARQUIA DE MEMÓRIAS

Para o correto e eficaz funcionamento da manipulação das informações (instruções de um programa e dados) de e para a memória de um computador, verifica-se a necessidade de se ter, em um mesmo computador, diferentes tipos de memória. Para certas atividades, por exemplo, é fundamental que a transferência de informações seja a mais rápida possível. É o caso das atividades realizadas internamente no processador central, onde a velocidade é primordial, porém a quantidade de bits a ser manipulada é muito pequena (em geral, corresponde à quantidade de bits necessária para representar um único valor - um único dado).

Isso caracteriza um tipo de memória diferente, por exemplo, daquele em que a capacidade da memória (disponibilidade de espaço para guardar informações) é mais importante que a sua velocidade de transferência.

Ainda em relação ao tipo de alta velocidade e pequena quantidade de bits armazenáveis, que se usa na CPU, existem variações decorrentes do tipo de tecnologia utilizada na fabricação da memória.

Devido a essa grande variedade de tipos de memória, não é possível implementar um sistema de computação com uma única memória. Na realidade, há muitas memórias no computador, as quais se interligam de forma bem estruturada, constituindo um sistema em si, parte do sistema global de computação, podendo ser denominado subsistema de memória.

É comum representar-se a hierarquia de memória de um computador por uma pirâmide. A variação crescente dos valores de certos parâmetros que caracterizam um tipo de memória pode ser mostrada no formato inclinado de uma pirâmide.

A seguir serão definidos os principais parâmetros para análise das características de cada tipo de memória componente da hieraquia apresentada na figura 1. O valor maior (base) ou menor (pico) de algum parâmetro foi a causa da utilização de uma pirâmide para representar a hierarquia do sistema de memória de um computador.

Tempo de acesso - indica quanto tempo a memória gasta para colocar uma informação no barramento de dados após uma determinada posição ter sido endereçada. Isto é, o período de tempo decorrido desde o instante em que foi iniciada a operação de acesso (quando a origem - em geral é a CPU - passa o endereço de acesso para o sistema de memória) até que a informação requerida  (instrução ou dado) tenha sido efetivamente transferida. É um dos parâmetros que pode medir o desempenho da memória. Pode ser chamado de tempo de acesso para leitura ou simplesmente tempo de leitura.

O ideal, é claro, é que a capacidade e velocidade de transferência fossem grandes, mas nesse caso o custo seria alto demais. E é por isso que se mencionou "mais importante".

O tempo de acesso de uma memória é dependente do modo como o sistema de memória é construído e da velocidade dos seus circuitos. Ele varia bastante de acordo com o tipo de memória analisado, sendo valores típicos atuais aqueles numa faixa entre 50 e 150 nanossegundos (ns), para a memória principal (ou memória DRAM, conforme será explicado mais adiante); de 12 a 60 milissegundos para discos magnéticos (memória secundária), enquanto fitas magnéticas têm tempo de acesso da ordem de poucos segundos.

Deve ser mencionado ainda que o tempo de acesso das memórias eletrônicas (do tipo RAM, ROM, etc. ) é igual, independentemente da distância física entre o local de um acesso e o local do próximo acesso, ao passo que, no caso de dispositivos eletromecânicos (discos, fitas, etc.), o tempo de acesso varia conforme a distância física entre dois acessos consecutivos.

Outro parâmetro (utilizado apenas em memórias eletrônicas) é o chamado ciclo de tempo do sistema de memória ("memory system's cycle time") ou simplesmente ciclo de memória, que é o período de tempo decorrido entre duas operações sucessivas de acesso à memória, sejam de escrita ou de leitura. Esse tempo depende de outros fatores relacionados aos tempos de funcionamento do sistema. Esses outros fatores podem, em certas memórias, impedir, por um pequeno intervalo de tempo, o uso do sistema de memória para um novo acesso, logo após a conclusão do acesso anterior. Nesses casos, o ciclo de memória compreende o tempo de acesso mais um certo tempo para essas outras atividades, a serem descritas mais adiante. Outras memórias não requerem esse tempo adicional entre acessos e, portanto, o ciclo de memória é igual ao tempo de acesso.

Capacidade - é a quantidade de informação que pode ser armazenada em uma memória; a unidade de medida mais comum é o byte, embora também possam ser usadas outras unidades como células (no caso de memória principal ou cache), setores (no caso de discos) e bits (no caso de registradores). Dependendo do tamanho da memória, isto é, de sua capacidade, indica-se o valor numérico total de elementos de forma simplificada, através da inclusão de K (kilo), M (mega), G (giga) ou T (tera).

Exemplos de nomenclatura para valores de capacidade de memórias: 

O registrador R1 tem 16 bits.
A ROM do microcomputador A tem 32K bytes.
A RAM do computador B tem capacidade para endereçar 32M bytes.
O disco C (HD) tem capacidade para armazenar 4.2G bytes.
O CD-ROM tem capacidade de armazenamento igULA a 650M bytes.
Volatilidade - memórias podem ser do tipo volátil ou não volátil. Uma memória não volátil é a que retém a informação armazenada quando a energia elétrica é desligada. Memória volátil é aquela que perde a informação armazenada quando a energia elétrica desaparece (interrupção de alimentação elétrica ou desligamento da chave ON/OFF do equipamento).
Em computação, costuma-se usar o termo tamanho para indicar quantidade de informação (de bits, de bytes, etc.) e não para indicar grandeza física do elemento, como se faz na vida cotidiana. Por exemplo, o tamanho do barramento de dados é 32 bits.

Uma vez que um processador nada pode fazer sem instruções que indiquem a próxima operação a ser realizada, é óbvio que todo sistema de computação deve possuir alguma quantidade de memória não volátil. Isto é, ele deve possuir, pelo menos, algumas instruções armazenadas em memória não volátil para serem executadas inicialmente, sempre que se ligar o computador.

Registradores são memória do tipo volátil, como também memórias de semicondutores, do tipo RAM. Memórias magnéticas e óticas, como discos e fitas, e também memórias de semicondutores do tipo ROM, EPROM, etc. são do tipo não volátil.

É possível manter a energia em uma memória originalmente não volátil, através do emprego de baterias. Mais adiante este parâmetro será analisado e exemplificado com um pouco mais de detalhe.

Tecnologia de fabricação - ao longo do tempo, diversas tecnologias vêm sendo desenvolvidas para a fabricação de memórias. Atualmente, algumas dessas tecnologias já são obsoletas, como as memórias de núcleo de ferrite (magnéticos), e outras ainda não têm uma aplicação comercial ampla, como as memórias de bolha. Algumas das tecnologias mais conhecidas e utilizadas são:

a) Memórias de semicondutores - são dispositivos fabricados com circuitos eletrônicos e baseados em semicondutores. São rápidas e relativamente caras, se comparadas com outros tipos. Dentro desta categoria geral há várias tecnologias específicas, cada uma com suas vantagens, desvantagens, velocidade, custo, etc., as quais serão mais detalhadamente descritas na disciplina " Circuitos Lógicos".

Registradores e memória principal são exemplos de memórias de semicondutores ou, mais simplesmente, memórias eletrônicas.

b) Memórias de meio magnético - são dispositivos, como os disquetes, discos rígidos ("hard disks") e fitas magnéticas (de carretel ou de cartucho), fabricados de modo a armazenar informações sob a forma de campos magnéticos. Eles possuem características magnéticas semelhantes às das fitas cassete de som, as quais são memórias não voláteis. Devido à natureza eletromecânica de seus componentes e à tecnologia de construção em comparação com memórias de semicondutores, esse tipo é mais barato e permite, assim, o armazenamento de grande quantidade de informação. O método de acesso às informações armazenadas em discos e fitas é diferente, resultando em tempos de acesso diversos (por possuírem acesso direto, discos são mais rápidos do que fitas, que operam com acesso seqüencial).

Temporariedade - trata-se de uma característica que indica o conceito de tempo de permanência da informação em um dado tipo de memória.

Por exemplo, informações (programas e dados) podem ser armazenadas em discos ou disquetes e lá permanecerem armazenadas indefinidamente (por "indefinidamente" entende-se um considerável período de tempo - muitos anos -, mas há sempre a possibilidade de perda de magnetismo com o passar do tempo). Pode-se, então, definir esse tipo de memória como permanente.

Ao contrário dos registradores, por exemplo, que armazenam um dado por um tempo extremamente curto (nanossegundos), o suficiente para o dado ser, em seguida, transferido para a ULA. Os registradores podem, às vezes, reter o dado armazenado para posterior processamento pela ULA, mas, mesmo assim, esta retenção não dura mais do que o tempo de execução do programa (na hipótese de maior permanência) ou de parte dele (hipótese de duração menor). É uma memória do tipo transitória. Outros exemplos de memórias de permanência transitória de dados são a memória cache e a memória principal, embora os dados nelas permaneçam armazenados mais tempo do que nos registradores (tempo de duração da execução de um programa - que pode ser de uns poucos segundos ou até mesmo de algumas horas).

Custo - o custo de fabricação de uma memória é bastante variado em função de diversos fatores, entre os quais se pode mencionar principalmente a tecnologia de fabricação, que redunda em maior ou menor tempo de acesso, ciclo de memória, quantidade de bits em certo espaço físico e outros. Uma boa unidade de medida de custo é o preço por byte armazenado, em vez do custo total da memória em si. Isso porque, devido às diferentes capacidades, seria irreal considerar, para comparação, o custo pelo preço da memória em si, naturalmente diferente, e não da unidade de armazenamento (o byte), igual para todos os tipos.

Em outras palavras, um disco rígido de microcomputador pode armazenar cerca de 3.2 Gb e custar, no mercado, em torno de R$ 350,00, o que indica um custo de R$ 0,12 por Mbyte, enquanto uma memória do tipo de semicondutor, dinâmica (ver item 5.7), pode custar cerca de R$ 40,00 por Mbyte, adquirindo-se, então, 4 Mb por R$ 160,00. Não há comparação possível entre o valor dos 4 Mb de RAM e os 3.2 Gb do disco se analisarmos apenas o dispositivo como um todo (o disco seria mais caro). 

MEMÓRIA PRINCIPAL


Uma das principais características definidas no projeto de arquitetura do sistema de Von Neumann, o qual se constitui na primeira geração dos computadores, consistia no fato de ser uma máquina "de programa armazenado". O fato de as instruções, uma após a outra, poderem ser imediatamente acessadas pela CPU é que garante o automatismo do sistema e aumenta a velocidade de execução dos programas (uma máquina executando ações sucessivas, sem intervalos e sem cansar, como não acontece com os seres humanos).

E a CPU pode acessar imediatamente uma instrução após a outra porque elas estão armazenadas internamente no computador. Esta é a importância da memória.

E, desde o princípio, a memória especificada para armazenar o programa (e os seus dados) a ser executado é a memória que atualmente chamamos de principal (ou memória real), para distingui-la da memória de discos e fitas (memória secundária).

A memória principal é, então, a memória básica de um sistema de computação desde seus primórdios. É o dispositivo onde o programa (e seus dados) que vai ser executado é armazenado para que a CPU vá "buscando" 

MEMÓRIA RAM

A memória RAM é um tipo de tecnologia que permite o acesso aos arquivos armazenados no computador. Diferentemente da memória do HD, a RAM não armazena conteúdos permanentemente. É responsável, no entanto, pela leitura dos conteúdos quando requeridos. Ou seja, de forma não-sequencial, por isso, a nomeclatura em inglês de Random Access Memory (Memória de Acesso Aleatório).

MEMÓRIA ROM

A função da memória ROM é : oferecer dados apenas para leitura. Normalmente, a ROM é utilizada para armazenar firmwares, pequenos softwares que funcionam apenas no hardware para o qual foram desenvolvidos e que controlam as funções mais básicas do dispositivo.




MEMÓRIA CACHE

A memória cache, embora seja bem menor em capacidade de armazenamento, é super rápida.

Ela guarda alguns dados mais importantes, e usados mais frequentemente, ou por determinados programas, quando são executados. Sem esta memória, o desempenho dos computadores atuais cairia em mais de 95%, devido a limitação de velocidade da memória RAM. Estes dados importantes, e se fosse necessária a memória RAM para passar estes dados repetidas vezes, o processador iria ficar muito tempo esperando os dados chegarem, e não usaria sua capacidade total.

REGISTRADORES DE MEMÓRIA


O registrador de uma CPU é uma unidade de memória capaz de armazenar n bits. Os registradores estão no topo da hierarquia de memória, sendo assim, são o meio mais rápido e caro de se armazenar um dado.
Lembrando que os registradores são circuitos digitais capazes de armazenar e deslocar informações binárias, e são tipicamente usados como um dispositivo de armazenamento temporário. 1
São utilizados na execução de programas de computadores, disponibilizando um local para armazenar dados. Na maioria dos computadores modernos, quando da execução das instruções de um programa, os dados são movidos da memória principal para os registradores. Então, as instruções que utilizam estes dados são executadas pelo processador e, finalmente, os dados são movidos de volta para a memória principal.


MEMÓRIA SECUNDÁRIA

Memória Secundária: também conhecida por memória de massa ou memória auxiliar. Sua função é armazenar grande quantidade de dados e evitar que estes se percam com o desligamento do computador.
A memória secundária não é acessada diretamente pela CPU, mas sim por intermédio da mamória principal (RAM, cache etc) e por isso o acesso a essa memória é muito mais lento. Desta forma, cada dispositivo encontra-se com um buffer de escrita e leitura para melhorar seu desempenho. Como exemplos de memória secundária podemos citar : HD, pendrive, CD, DVD, Disquete, Cartão de memória e etc.