Logo Passei Direto
Buscar

01_Historico_organizacao

User badge image

Enviado por Danilo Freitas Silva em

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Capítulo 1: Histórico e Organização dos Computadores
A Humanidade tem usado ao logo de sua história uma variedade de “ferramentas para apoio computacional”, tais como ábacos, tabelas, réguas de cálculo, calculadoras e, mais recentemente, computadores. As principais razões residem em duas limitações humanas: velocidade de cálculo e taxa de erros.
Operações matemáticas elementares tais como multiplicação e divisão podem demandar vários segundos ou minutos, se feitas manualmente. A solução de problemas que requeiram milhares ou milhões destas operações não poderia ser feita em tempo e custo razoáveis sem o auxílio de computadores. 
Fatores como distração, fadiga, tensão, etc, estão entre as causas comuns de erros por parte dos seres humanos, principalmente em tarefas repetitivas, requerendo procedimentos elaborados de controle para a execução confiável destas tarefas. As máquinas são, por outro lado, sob condições razoáveis, imunes a erros.
	A Matemática antes dos Computadores: As Tabelas de Prony.
Em 1794 cem pessoas, sob o comando de G. F. Prony e patrocínio do governo francês, foram incumbidas do cálculo manual de várias tabelas de números naturais, incluindo tabelas de logarítmos para números entre 1 e 200.000 com 19 casas decimais de precisão. A tarefa que incluia também tabelas para funções trigonométricas, demandou 2 anos, sendo cada resultado calculado duas vezes, por pessoas diferentes, para minimizar a ocorrência de erros. O resultado final, apenas para os logarítmos, foram tabelas que continham um total de 8 milhões de dígitos decimais. Para reduzir os custos, a maior parte da equipe era composta por pessoas que sabiam apenas executar operações de adição e subtração, supervisionadas por um pequeno time de matemáticos. Hoje, uma calculadora científica é capaz de fornecer qualquer dos dados das tabelas trigonométricas e de logarítmos, ainda que com precisão menor, em Segundos.
A principal ferramenta de cálculo da atualidade é o computador. Desde seu surgimento, os computadores têm apresentado um desenvolvimento vertiginoso mesmo se comparados a outros ícones da sociedade industrial como, por exemplo, os automóveis. Apesar disso, os conceitos em que as máquinas atuais se baseiam remontam à década de 40, ou até ao século XIX. As chamadas gerações de computadores têm sido pautadas por avanços tecnológicos mais do que pela introdução de novos conceitos e modelos computacionais, conforme descrito a seguir. 
História dos Computadores
O primeiro projeto de um computador de propósito geral de que se tem notícia foi a “Máquina Analítica” de Charles Babbage (1792-1871), um engenho mecânico cuja concepção estava completa por volta de 1840. Até então, como visto na Tabela 1, apenas calculadoras mecânicas� haviam sido projetadas por:: Wilheim Schickhard (1592-1635), na Universidade de Tübingen; Blaise Pascal (1623-1662); Gottfried Leibniz (1646-1716); D. E. Felt (1862-1930); e o próprio Babbage, com a “Máquina de Diferenças”.
Tabela 1: Cronologia das primeiras calculadoras mecânicas. 
	DATA
	INVENTOR
	CARACTERÍSTICAS
	1623 
	Schickhard
	adição e subtração
	 1642	 
	Pascal
	adição e subtração com “vai-um” automático
	1671
	Leibniz
	adição, subtração, multiplicação e divisão
	1834
	Babbage
	solução de polinômios por diferenças finitas.
	1885
	Felt
	uso de teclado para dados e comandos
A máquina analítica de Babbage é considerada a precursora dos computadores atuais por envolver alguns conceitos ainda hoje em uso e por não ser restrita a aplicações dedicadas. A máquina de Babbage operava com dados decimais de 50 dígitos em notação de ponto fixo (embora fosse contemporâneo de Boole e DeMorgan, não houve influência destes no projeto da máquina analítica, fato que talvez explique o não uso de representação binária por Babbage), podendo armazenar até 1.000 destes dados. Uma soma ou subtração consumia um segundo enquanto que multiplicações e divisões eram feitas em um minuto, sendo o resultado das computações impresso em cartões perfurados. A estrutura interna da máquina, vista na Figura 1, previa além da memória para dados, unidades aritmética e de controle, e recursos de E/S. A unidade aritmética possuia operação em paralelo, com lógica de “carry” e indicação de “overflow”. A operação era controlada através de dois tipos de cartões perfurados:
Cartões operacionais controlavam a execução de uma dentre as quatro operações aritméticas básicas (uma operação por cartão).
Cartões de variáveis selecionavam locais da memória para os operandos e resultados. Constantes eram introduzidas através de cartões ou por inserção manual em contadores internos.
 Figura 1: visão figurada dos módulos da Máquina Analítica de Babbage.
Os algorítmos e da linguagem de programação usados foram desenvolvidos por Ada Augusta Byron, que se tornou desta forma a primeira programadora, tendo criado a primeira linguagem de montagem. São características da linguagem criada por Ada o modo de endereçamento indexado para variáveis e o uso de um registrador de índice para o controle de execução de laços, além de permitir o aninhamento destes. 
Embora tendo características re-volucionárias para a época, o projeto da máquina analítica foi recebido com ceticismo por seus contemporâneos, não tendo sido nunca implementadoa totalmente, devido a dificuldades técnicas. 
As Gerações de Computadores 
A construção dos primeiros computadores ocorre apenas no século XX, a partir de pesquisas iniciadas na década de 30 por Alan Turing, Maurice Wilkes e F. C. Williams (Inglaterra); John Atanasoff, Howard Aiken, Wallace Eckert , J. W. Mauchly, John von Neumann, e Herman Goldstein (EUA); e Konrad Zuse (Alemanha), entre outros. Nesta época as pesquisas para a criação de um computador não eram mais feitas de forma isolada e com recursos próprios, por matemáticos ou engenheiros, sendo conduzidas em universidades e institutos de pesquisa, já que o computador era visto, por muitos governos, como um meio de obtenção de supremacia tecnológica e militar. A deflagração da Segunda Guerra Mundial levou a um rápido avanço no setor, com o desenvolvimento e uso de computadores para cálculos de criptografia e balística. 
A partir deste ponto devido a rápida evolução dos computadores, com mudanças importantes ocorrendo no espaço de uma ou duas décadas, costuma-se dividir a história do seu desenvolvimento em “gerações”, em função das tecnologias de hardware e software dominantes em cada época, e das evoluções ocorridas em arquitetura. O detalhamento desta classificação, feito a seguir, baseia-se em [�,�,�,�], não sendo entretanto a única existente.
Considera-se que a primeira geração de computadores começa com a construção de computadores analógicos e digitais, a partir de 1938. São marcos desta fase, os computadores Z3, Mark I, ENIAC, EDVAC e EDSAC, todos da década de 40: 
	Uso de Ferramentas Computacionais para cálculos em larga escala: O censo americano de 1890.
Em 1880, o governo americano decidiu que o país seria recenseado a cada dez anos, a partir de 1890. Entretanto, com as técnicas existentes, estimava-se que o trabalho estatístico sobre os dados coletados levaria mais de 10 anos para ser feito! Herman Hollerith engenheiro e funcionário do departamento de censo, propôs um sistema para manipulação automática dos dados através de uma máquina para tabulação de cartões perfurados. Aplicando-se o sistema de Hollerith, os dados referentes aos 62 milhões de americanos foram processados em menos de 2 meses. Em 1896 Hollerith fundou a “Tabulating Machine Company”, mais tarde transformada, pela fusão com outras empresas, na “Computing-Tabulating-Recording Company”. Esta companhia foi rebatizada em 1924 para “International Business Machine Company (IBM)”.
Em 1941 Konrad Zuze do “Technische Hochschule” (Alemanha), construiu o Z3, possivelmente o primeiro Computador Eletromecânico de propósito geral. O Z3 usava aritmética binária de ponto flutuante,
armazenando até 64 palavras de 22 dígitos, com os cálculos sendo feitos através de 2.600 relés. Apesar do Z3 ser similar a “Máquina Analítica”, aparentemente Zuze não conhecia os trabalhos de Babbage. O governo alemão da época recusou-se a financiar o projeto a pesquisa foi interrompida. 
Em 1944 surge o Mark I, um computador eletromecânico construido pela IBM com base nas idéias propostas por Howard Aiken (1900-73), físico de Havard. O Mark I usava aritmética decimal, podendo armazenar até 72 números de 23 dígitos e realizar um produto em 3 segundos. Era similar a Máquina de Babbage, sendo programado via fita de papel perfurado. O protótipo do Mark I funcionou em Havard por 15 anos, estando operacional por 95% do tempo. 
As máquinas eletromecânicas limitavam a velocidade do processamento, tendo sido sucedidas pelos computadores eletrônicos. Em 1946 John Mauchly e Presper Eckert construíram na “Moore School” da Universidade da Pensilvânia o ENIAC (“Electronic Numerical Integrator and Calculator”). O projeto foi financiado pelas forças armadas americanas para ser usado em cálculos balísticos. O ENIAC tinha 18.000 válvulas, 1.500 relés, 20 posições de memória de 10 dígitos decimais cada, fazendo uma soma em 200 micro-segundos e um produto em 3 mili-segundos, sendo ainda capaz de ler até 800 cartões por minuto, consumindo 150kW. O uso de válvulas em computadores foi baseado nos trabalhos de John Atanasoff da Universidade Estadual de Iowa, que construíra com Clifford Berry, em 1939, uma máquina eletrônica para solução de equações lineares chamada ABC (“Atanasoff and Berry Computer”). 
Em 1945 John von Neumann (1903-57), consultor do projeto ENIAC, propôs o EDVAC (“Electronic Discrete VAriable Computer”), o primeiro Computador de Programa Armazenado. O EDVAC, terminado em 1952, já sem a presença de von Neumann, usava aritmética binária e processava os dados serialmente. 
Devido a atrasos no projeto, o EDVAC não foi o primeiro computador de programa armazenado a ser construído. Em 1949, Maurice Wilkes da Universidade de Manchester (Inglaterra) apresentou o EDSAC (“Electronic Delay Storage Automatic Calculator”), baseado nos princípios propostos pelo grupo da “Moore School”. 
Ao final desta fase estava sedimentado o modelo básico de um computador digital, visto na Figura 2, composto de três módulos dedicados: o processador usado para a execução dos programas, a memória para o armazenamento dos programas e dados, e as interfaces de entrada e de saída, para a comunicação com o usuário e outros equipamentos. Embora seja resultado dos esforços de muitos pioneiros, este modelo ficou conhecido como “Máquina de von Neumann” devido a ser John von Neumann quem primeiro propôs, em artigo, tal arquitetura.
Figura 2: Diagrama de blocos da Máquina de von Neumann.
Um sumário da evolução dos computadores em termos de gerações é visto na Tabela 2. As gerações se sucedem a partir principalmente de avanços tecnológicos, demandados pela busca contínua por maior desempenho. Ao ser implantada uma nova tecnologia seu custo é alto, o que reflete-se no preço final dos equipamentos que a utilizam. Após esta fase ocorre uma queda gradual do preço até que a tecnologia atinja seu limite de evolução, a partir do qual o custo de cada novo incremento em desempenho só é obtido as custas de investimentos crescentes. Neste ponto, em geral uma tecnologia é abandonada sendo substituída por outra, mais nova, que apresente uma curva de custo decrescente.
Tabela 2: As gerações de computadores segundo a tecnologia , o software, e detalhes de arquitetura caracterísicos de cada fase.
	GERAÇÃO
	TECNOLOGIA
	SOFTWARE
	ARQUITETURA
	I 
(1938-54)
	válvulas, relés.
	Linguagem de montagem, equipamento mono-usuário
	Arquitetura sequen-cial, aritmética em ponto fixo
	II 
(1952-64)	
	transistores, memórias de núcleo magnético, placas de circuito impresso.
	Linguagens de alto nível, sub-rotinas, processamento em lote.
	Processadores de E/S, registradores de índice, aritmética em ponto flutuante.
	III
(1962-74)
	circuitos integrados, memórias semiconduto-ras, circuito impresso multi-camada
	Multiprogramação, aplicações multi-usuário.
	pipelining, microprogramas, memórias cache
	IV
(1972-90)	
	circuitos integrados LSI & VLSI.
	Sistemas operacionais para processamento paralelo.
	Processamento vetorial e paralelo
	V
(1991- ...)
	escala de integração ULSI, circuitos integrados de arseneto de gálio 
	Processamento paralelo em larga escala.
	Arquiteturas paralelas escaláveis.
A literatura atual pára a classificação da evolução dos computadores na geração dos computadores de escala de integração ULSI, processamento paralelo em larga escala e de arquiteturas paralelas escaláveis. No momento atual, encontramos muitos desktops e notebooks que implementam o processamento paralelo, ao oferecerem mais de um processador, como por exemplo os modelos “dual core”. No entanto, podemos considerar que, a partir de 2000, tenha dado início a era da Internet e das comunicações móveis. Observamos que entre 2007 e 2010, tornou-se viável dispor de computadores compactos, portáteis, com praticamente todos os seus periféricos sem fio (wireless), discos rígidos baseados em mídias óptico-magnéticas, memórias de estado sólido (flash) de grandes capacidades de armazenamento, monitores de cristal líquido, controle por voz, reconhecimento de voz e escrita, reconhecimento de impressões digitais e acesso à Internet via tecnologia celular em banda larga.
	Por outro lado, as tecnologias do futuro apontam para a computação óptica, biológica e quântica. A tecnologia atual, baseada em transistores e que usa sinais elétricos e fios, deve durar pelo menos mais uma década, abrindo passagem para novas tecnologias, que possibilitarão a criação de computadores quânticos, baseados em átomos e energia.
Essa mudança propiciará um salto tão grande que comparar um computador atual ao computador quântico seria o mesmo que comparar um ábaco a um computador atual.
Evolução dos Computadores
Os caminhos da evolução dos computadores podem ser melhor entendidos se olharmos o processo sob duas formas distintas, como visto a seguir:
O Ponto de Vista da Aplicação
O aumento de desempenho expandiu as áreas das aplicações dentro de quatro níveis ascendentes de abstração: dados, informação, conhecimento e inteligência, como visto na figura 3.
Dados podem ser números sob vários formatos, símbolos, etc, sendo caracterizados como objetos não relacionados entre si. 
Informação é uma coleção de dados relacionados entre si. O processamento de dados e de informação são a principal aplicação dos computadores. 
conhecimento é composto de itens de informação ao qual se atribui algum significado semântico. Exemplos de aplicações associadas com o processamento de conhecimento são os “sistemas especialistas” para diagnóstico médico, prospeção de petróleo, mineração, etc e até mesmo os sistemas de B.I. (Business Intelligence), possíveis para qualquer ramo de negócios. Observe que aqui a palavra “inteligência” é usada no sentido de ferramenta ou metolodogia para obtenção de conhecimentos sobre os negócios do empreendimento. 
A Inteligência seria derivada de coleções de itens de conhecimento. Não existem computadores que operem neste nível de abstração.
O Ponto de Vista Operacional
Os computadores inicialmente executavam o processamento em lote (“batch”), onde cada usuário tinha seu programa executado completamente antes que o programa do usuário seguinte fosse iniciado. 
Com o tempo percebeu-se que um programa em geral contém fases em que o acesso as interfaces de E/S é intenso enquanto que em outras o uso do processador é predominante. Tal distribuição da computação pode ser usada com vantagem se o computador dispõe de “processadores de E/S”, os quais são processadores muito limitados que tratam exclusivamente do acesso aos periféricos enquanto o processador principal está executando o programa
armazenado na memória., conforme visto no exemplo da figura 4, onde dois programas partilham o computador. 
Seja o exemplo da figura 4, onde vemos dois programas, P1 e P2, em execução no computador. Em relação a figura, E1, C1 e S1 são fases do programa 1, referentes a operações predominantemente de Entrada, Computação e Saída respectivamente. E2, C2 e S2 representam as mesmas fases para o programa 2. 
A figura 4.a mostra a forma de execução em “batch”, a única possível até os fins dos anos 50. A possibilidade de dividir as tarefas entre o processador principal e os processadores de E/S, levou a multiprogramação exemplificada na figura 4.b. 
Na figura 4.c vemos um tipo evoluído de multiprogramação desenvolvido a seguir, o “time-sharing”, onde os programas se revezam na posse do processador por intervalos de tempo definidos, sendo cada fase dividida em vários intervalos, facilitando o uso interativo do computador.
No início do século 21, nos anos 2000, surgiram modelos de computadores comerciais, acessíveis às pessoas físicas, com múltiplos processadores principais que trabalham cooperativamente para a execução das tarefas, em um esquema conhecido como “processamento paralelo”. Cada processador se dedica a uma tarefa específica, comunicando-se com os demais sempre que necessário. Um programa pode ser visto como sendo uma tarefa única ou um conjunto de várias tarefas, algumas obrigatoriamente executadas em seqüência e outras podendo ocorrer em paralelo. 
Existem duas formas básicas de computadores paralelos: os multiprocessadores, com memória compartilhada, e os multicomputadores, com memória privativa, ambos vistos na figura 5. Em um multiprocessador com memória compartilhada, todos os processadores (P1 a Pn), têm igual direito de acesso a qualquer dos módulos de memória (M1 a Mn). Nos multicomputadores, cada processador tem sua memória particular, sendo chamadas mensagens as informações de controle trocadas entre os processadores.
Classes de Computadores
Nos gráficos da figura 6 podemos ver a evolução do número (em milhões) de transistores nas memórias RAM, demonstrando a famosa “lei de Moore”, que prevê o dobro de capacidade de armazenamento a cada nova geração lançada no mercado, em média a cada 1 ou 2 anos. Por outro lado, na mesma figura 6, o custo por megabit de memória RAM caminha no sentido contrário, ou seja, sofre uma significativa redução a cada geração. Decorrente desses fatores, observa-se nos últimos 25 anos que o desempenho das diferentes classes de computadores tem sofrido uma aproximação ou até mesmo sobreposição. A separação dos computadores em classes originalmente obedecia um critério técnico, com cada classe apresentando um desempenho da ordem de 10 vezes maior que o da classe imediatamente inferior. Entretanto hoje o custo tornou-se o fator diferenciador primordial, pois o impacto dos desenvolvimentos em microeletrônica, tecnologia de compiladores e de novas arquiteturas, têm sido desigual sobre as diversas classes. Além do custo e desempenho, as classes podem ser caracterizadas através de detalhes de concepção:
Supercomputadores são projetados para aplicações que façam uso intensivo do processador, em classes de aplicações específicas, como pesquisa científica e tecnológica para áreas como meteorologia, militar, biologia e simulações em geral.
Mainframes suportam um número bem maior de terminais e unidades de disco, além de serem usados em processamento centralizado ou como uma espécie de servidores dedicados a alguma função específica.
Computadores-Servidores são máquinas de alto desempenho, semelhantes aos microcomputadores, mas que dispõem de uma capacidade de processamento muito maior, por usarem em larga escala a técnica de multiprocessadores e por possuírem memórias RAM e de Disco Rígido muito maiores que o usual. Também têm grande capacidade de conexão com dispositivos externos e justamente por tudo isso são adequados para a função de servidores de redes de alta velocidade, servidores de aplicações, de bancos de dados, servidores para web/internet, etc.
Microcomputadores contemplam uma ampla classe de desktops e notebooks, que são projetados para uso doméstico, pessoal ou comercial, como estações de trabalho que podem ir desde uma configuração simples e de relativamente baixo desempenho e baixo custo, até configurações completas e de alto desempenho, para trabalhar em redes de alta velocidade, com capacidades extras de processamento gráfico, dentre outros recursos. 
Figura 6 : a seguir.
Organização de Computadores
Um computador sozinho não funciona. Na prática, um computador é parte de um sistema computacional, composto de: computadores, periféricos, programas, bancos de dados, pessoas e outros itens de infraestrutura, tais como alimentação de energia elétrica, redes de comunicação, sistemas de refrigeração ambiente, etc.
Para distiguir estes componentes, eles são agrupados conforme suas características comuns:
- hardware : componentes físicos do sistema: computador, periféricos, infraestrutura.
- software : componentes lógicos do sistema (intangíveis): programas, documentação, projetos.
- dataware : informações processadas, armazenadas em bancos de dados, num hardware. 	
- peopleware: é o componente humano do sistema: desenvolvedores, usuários e suporte.
 
Um computador, na sua forma mais simples, consiste de três partes principais funcionalmente independentes: interfaces de entrada e saída, memória, e processador (composto internamente pelas unidades aritmética e lógica, e de controle, e por registradores), como ilustrado na figura 7. As interfaces de entrada recebem informação codificada de operadores humanos, de dispositivos eletromecânicos, ou de outros computadores conectados a ele através de linhas de comunicação. A informação é então, armazenada na memória para ser usada depois ou manipulada imediatamente pelos circuitos de aritmética e lógica, que executam as operações desejadas. Os passos do processamento são determinados por um programa armazenado na memória. Finalmente, os resultados são enviados de volta ao mundo exterior através da unidade de saída. Todas essas ações são coordenadas pela unidade de controle.
�
Figura 7: Unidades Funcionais do Computador
O Processador
A CPU, Central Processing Unit, ou Unidade de Processamento Central, é responsável pelo gerenciamento de todas as funções do sistema, trabalhando em velocidades altíssimas, executando desde milhões até bilhões de instruções por segundo.
Unidade Aritmética e Lógica 
Na CPU a execução de muitas operações tem lugar na unidade aritmética e lógica (Aritmetic and Logic Unit - ALU).
Suponha dois números armazenados na memória e que devem ser somados. Eles são trazidos para a ALU onde a soma será realizada. O resultado pode então ser armazenado, de novo, na memória. 
Unidade de Controle 
As unidades fornecem as ferramentas necessárias para armazenar e processar a informação. As operações devem ser coordenadas e organizadas de alguma forma. A unidade de controle (Control Unit - CU) existe para isso. É o centro nervoso, usada para enviar sinais de controle para as outras unidades. Controla também a transferência de dados entre o processador e as memórias.
Uma impressora imprimirá uma linha apenas se for instruída para fazê-lo. Para tanto, o processador precisa executar uma instrução de "WRITE". O processamento desta instrução envolve o envio de sinais de acionamento para a impressora, além dos dados a imprimir. Isso é função da unidade de controle.
 As Memórias
Figura 8 - estrutura lógica da memória.
Memória Principal
A memória, cuja estrutura lógica é vista na fig.8, é um ente passivo, onde são armazenados dados e instruções para uso pelo processador. O acesso à memória é garantido através de um mecanismo conhecido com endereçamento, pelo qual a cada item de informação armazenado em uma “posição” da memória, é associado
um único identificador chamado “endereço”. Do ponto de vista do processador e E/S, a memória é estruturada, como um local onde as informações estão armazenadas em posições com endereços lineares e seqüenciais (ex: endereços 0, 1, 2,...). Como as memórias são usadas para armazenamento de números em binário, costuma-se medir o tamanho das posições, chamado “largura”, em termos do número de dígitos binários. Deste modo, uma memória que pode armazenar em cada posição oito dígitos binários possui uma largura de oito bits (bit = "binary digit"). A “profundidade” da memória nada mais é do que o número de posições que esta possui. Profundidade e largura da memória estão associadas com sua capacidade de armazenar informação. Quanto maior a largura mais dígitos podem ser armazenados por posição, e quanto maior a profundidade, mais itens de informação podem ser armazenados na memória. A informação armazenada em uma posição de memória. é chamada genericamente de “palavra”, cujo conceito detalharemos ao final deste capítulo.
Os programas e os dados que eles operam estão armazenados na memória principal (MP) do computador durante a execução. A velocidade de execução de instruções depende da velocidade em que os dados são transferidos para ou da MP. A MP dos computadores é organizada em locais de armazenamento. Cada local tem um endereço.
Em muitos computadores modernos, a MP física não é tão grande quanto ao espaço de endereçamento do qual a CPU é capaz. Quando um programa não está totalmente na MP, partes dele que não estão sendo executadas no momento, são armazenadas em dispositivos de armazenamento secundário, como os discos magnéticos. É claro que, ao ser executado, toda parte do programa tem que ser primeiro, trazido à MP. O programador não deve se preocupar com os detalhes das transferências: os computadores modernos têm meios automáticos para gerenciar essas operações.
Quando um programa tem trechos que são executados repetidamente, seria desejável que estes trechos estivessem armazenados numa memória mais rápida que a MP. Tal memória é chamada de memória cache (ou buffer). Ela é inserida entre a CPU e a MP, como mostrado na figura 3.3. Para este arranjo ser conveniente, é necessário que a memória cache seja bem mais rápida que a MP (de 5 a 10 vezes). Esta implementação é bem mais econômica que ter toda a MP com dispositivos de memória rápida.
Figura 9: Uso da memória cache entre a CPU e a MP.
Quando analisar um sistema, calcule qual a memória útil, que é a que estará disponível para a aplicação. Para chegar a memória útil deve-se subtrair da memória RAM a quantidade que será ocupada pelo sistema operacional e utilitários. O saldo poderá ser utilizado pelo aplicativo (programa e/ou dados).
Unidades de Medida
Tanto para especificar a memória principal do equipamento como para indicar a capacidade de armazenamento, são usados múltiplos de bytes:
	Símbolo
	Prefixo
	Unidade
	Potência de 2
	> maior que a Potência de 10 abaixo !
	K
	Kilo
	KB = Kilobytes
	210
	103 = mil
	M
	Mega
	MB = Megabytes
	220
	 106 = milhão
	G
	Giga
	GB = Gigabytes
	230
	 109 = bilhão
	T
	Tera
	TB = Terabytes
	240
	 1012 = trilhão
	P
	Peta
	PB = Petabytes
	250
	 1015 = quatrilhão
	E
	Exa
	EB = Exabytes
	260
	 1018 
	Z
	Zetta
	ZB = Zettabytes
	270
	 1021 
	Y
	Yotta
	YB = Yottabytes
	280
	 1024 
O sistema métrico de unidades de medidas emprega os mesmos prefixos para designar mil, milhão, bilhão, trilhão, etc, na base decimal. Entretanto em Informática, o valor exato é diferente. Devido ao sistema de contagem ser binário e toda a estrutura de endereçamento estar baseada neste sistema, por tradição usa-se potências de 2 para a contagem:
210 = 1024 bytes = 1 KB => observe que 103 = 1000 , portanto menor que 210
220 = 1.048.576 bytes = 1 MB, e assim por diante. ( 106 = 1.000.000 )
Ao final deste capítulo, apresentamos um padrão novo de definição destas grandezas,
mas que não “pegou” no mercado.
Tabela 3. Ordens de grandeza das unidades de medida.
	MEMÓRIA PRINCIPAL
	TÍPICO
	FAIXA relativa
	Uma página normal datilografada
	2 Kbytes
	1 a 10 Kbytes
	Dicionário completo (Aurélio)
	24 Mbytes
	10 a 50 Mbytes
	Enciclopédia completa
	200 Mbytes
	50 a 400 MBytes
	Filme .mpeg de +2 horas
	700 Mbytes
	400 MB a 8 GB
Tecnologia de Construção de Memórias
As memórias de semicondutores são disponíveis em uma larga faixa de velocidades (desde centenas de nanossegundos -10-9 segundos- até dezenas de nanossegundos). Quando introduzidas no final dos anos 60, elas eram bem mais caras que as memórias de núcleo magnético que acabaram substituindo. Por causa das vantagens da tecnologia VLSI (Very Large Scale Integration), o custo das memórias de semicondutores caiu bastante. Como resultado, elas são hoje usadas quase que exclusivamente na implementação de MPs.
A memória principal ou memória central é composta por dois tipos de circuitos: 
a) Random Access Memory Memória de escrita e leitura usada para o armazenamento de dados e programas durante a operação da máquina. Perde seu conteúdo ao ser desligado o equipamento e o tempo de acesso para qualquer endereço é o mesmo. É subdividida em SRAM. ``Static RAM''. Memórias RAM que só perdem os dados ao se desligar a alimentação. DRAM. ``Dynamic RAM''. Ao contrário das SRAMs, uma DRAM perde seu conteúdo se este não for lido ou escrito de tempos em tempos, em geral a cada 2ms. Circuitos com memória dinâmica possuem além da lógica para controle de acesso, ``hardware'' dedicado para executar leituras automáticas de "refreshing'' nas posições não acessadas, evitando seu apagamento. As DRAMs são muito mais compactas e baratas que as SRAMs, sendo estas entretanto mais velozes. 
b) Read-Only Memory. Memórias que só admitem acessos para leitura durante a operação. Têm como vantagem o fato de serem não voláteis, com o conteúdo se mantendo mesmo quando a energia é desligada. Além das ROMs existem as PROMs (``Programmable ROMs'') e as EPROMs (``Erasable PROMs''). Para todos os tipos o conteúdo só pode ser gravado mediante um circuito especial que na maioria dos casos não faz parte do ``hardware'' do computador. As ROMs em geral vêm gravadas de fábrica e podem ser chamadas de “firmware” Elas contém instruções básicas de controle da placa-mãe e de operações de entrada e saída, chamada de BIOS (Basic Input-Output System). PROMs são ROMs que podem ser gravadas pelo usuário e as EPROMs são PROMs que podem ser apagadas, mediante exposição `a luz ultravioleta, para posterior re-gravação.
Existem dois tipos de semicondutores usados na fabricação de chips - circuitos integrados - para RAM : MOS - Metal Oxide Semiconductor, e bipolar . A maioria dos sistemas usa a RAM dinâmica (DRAM - Dynamic RAM), que retém a informação num capacitor, que se descarregará com o tempo. O capacitor é um componente eletrônico que “armazena” uma carga elétrica. É necessário, portanto, uma recarga desse capacitor através de um circuito (refresh). Este tipo de RAM praticamente não consome energia. Algumas aplicações específicas utilizam uma um pouco diferente - RAM estática que consome mais energia para reter os dados.
Calculadoras e micros portáteis tornam a RAM contínua com o uso de baterias. Isto é, mesmo com o equipamento desligado, uma bateria continuamente alimenta (de energia) a MP. 
Memória Secundária
A memória secundária é a memória usada para armazenamento permanente. Por esta razão a memória secundária é não-volátil. Os tipos de memória secundária existentes são discutidos no capítulo 3 onde são vistos os periféricos de armazenamento: discos magnéticos, óticos e de estado sólido (flash-memory) .
Unidades de Entrada e Unidades de Saída 
A CPU e a memória podem operar e produzir algum resultado útil, porém em forma binária. É necessário que este conjunto possa se
comunicar com o mundo exterior, e de preferência de uma forma que nós, usuários, possamos entender. Unidades de Entrada e de Saída são periféricos responsáveis pela comunicação entre as pessoas e a máquina.
Entra-se com informações através da unidade de entrada, que são armazenadas na memória e posteriormente processadas pela CPU. Os resultados são enviados para uma unidade de saída para que se possa analisá-los.
Unidade de Entrada (UE) => teclado, mouse, microfone, scanner, drive CD-ROM, câmera, etc.
Unidade de Saída (US) => vídeo, canhão, impressora, caixas de som, fax, etc.
Em resumo, a operação de um computador pode ser descrita da seguinte forma:
Ele recebe informação (programas e dados) através de uma unidade de entrada e a transfere para a memória.
A informação armazenada na memória é levada, sob controle do programa, a uma unidade aritmética e lógica para ser processada.
A informação processada deixa o computador através de uma unidade de saída.
Todas as atividades dentro da máquina são dirigidas por uma unidade de controle.
Como a informação é processada
O funcionamento da CPU é coordenado pelos programas, que indicam o que e quando deve ser feito. Basicamente, a CPU executa cálculos muito simples, como soma e comparações entre números porém a uma velocidade extremamente elevada. A função da CPU é sempre a mesma. O que as diferenciam é sua estrutura interna, tipo de tecnologia empregada na fabricação e, o mais importante, cada uma tem o seu conjunto de instruções próprio. Isto torna incompatíveis os computadores. O conteúdo da memória principal é uma combinação de informações e instruções (que estão na linguagem de máquina da CPU).
O processamento é feito pela CPU utilizando o ciclo busca-execução, regulado pelo relógio da CPU. Relógio (clock): todos os computadores trabalham de acordo com um padrão de tempo, com o qual pode gerenciar a troca de informações entre os dispositivos do sistema. (freqüência do clock em MHz - MegaHertz)
A seqüência é:
1.	buscar instrução na memória principal;
2.	executar instrução;
3.	buscar instrução seguinte;
4.	executar a instrução seguinte;
5.	e assim por diante (milhões de vezes por segundo).
Barramentos
Um barramento de computador: um conjunto de fios ou trilhas de circuito impresso (ou integrado), que interliga os elementos. Esses fios estão divididos em três conjuntos:
via de dados: onde trafegam os dados;
via de endereços: onde trafegam os endereços;
via de controle: sinais de controle que sincronizam as duas anteriores.
					 CPU		clock
			via de dados				
	 memória	via de endereços
					
			
			via de controle
Figura 10. exemplo de barramentos conectando a cpu e a memória do computador
Redes de Computadores
Nos dias atuais, a operação de computadores, desde os micros até os supercomputadores, praticamente ocorre em rede na maior parte do tempo de uso. Os usuários planejam em geral obter os seguintes benefícios :
Compartilhamento de Recursos. Os recursos de uma rede como por exemplo, base de dados, impressoras, etc, estão disponíveis a todos os usuários mesmo que não estejam fisicamente ao seu alcance. Assim, um recurso caro como um supercomputador pode ser usado por diversos pesquisadores desde que este esteja conectado a uma rede, mesmo que as informações tenham que percorrer milhares de km. 
Aumento de Confiabilidade. Se os recursos críticos em uma rede são duplicados, a falha em uma das cópias não impede a operação normal do sistema. O recurso crítico pode ser um servidor de banco de dados; pode ser uma conexão entre dois servidores; pode ser a conexão entre usuários importantes, etc. Tal duplicação é muito desejável, pois aumenta a segurança, a confiabilidade e a disponibilidade da rede.
Economia no Hardware de Processamento. Computadores menores costumeiramente têm uma relação custo-desempenho mais favorável que os mainframes. Com o uso de redes, workstations podem conjuntamente atingir, ou até exceder, a capacidade de um computador de grande porte, em certas aplicações comerciais.
Conectividade com a internet. Há muitos serviços disponíveis na web que interessam desde pessoas físicas até grandes corporações, além dos governos de modo geral. A conexão a um provedor de acesso à internet é portanto indispensável para poder usufruir desta rede mundial e participar dela, seja como fornecedor de conteúdo ou não.
� Nesta época já eram usados instrumentos manuais de cálculo como o ábaco, desenvolvido na babilônia por volta de 2.000 AC; e a régua de cálculo, criada em 1621 por Oughtred, com base em trabalhos anteriores do matemático escocês J. Napier.
1 Kai Hwang, Advanced Computer Architecture: Paralelism, Scalability, 1993. "McGraw-Hill, Inc,"
� David Kuck, The Structure of Computers and Computations (Addison-Wesley Publishing Company, 1982)
� Kai Hwang & Fayé Briggs, Computer Architecture and Parallel Processing (McGraw-Hill Publishing Company, 1985)
� John P. Hayes, Computer Architecture and Organization (McGraw-Hill Publishing Company, 1978)
ANEXOS:
 
 	Resumo Histórico : 
2000 - 3000 a.C. ( Ábacos (Babilônicos). Usados no oriente até hoje. Com o ábaco as pessoas utilizaram pela primeira vez um dispositivo para cálculos matemáticos. Acredita-se que o ábaco tenha sido originado na Mesopotâmia por volta de 3500 A.C com a utilização de pedras ou cálculos, o que originou o termo “calcular”, quando então era uma simples tábua provida de sulcos e contadores. A forma moderna do Ábaco apareceu na China no século 13 D.C.. A adição e a subtração são realizadas diretamente; a multiplicação e a divisão são adições e subtrações repetidas.
Século 17
1617 ( Rodas de multiplicação de John Napier (escocês)
1621 ( Régua de Cálculo (influenciada pelas Rodas de Multiplicação)
1642 ( Máquina de Somar - Blaise Pascal. Odômetros (Pascaline). Blaise Pascal deu início à chamada Era Mecânica, produzindo uma calculadora mecânica para cálculos com números de 10 dígitos. Era um mecanismo baseado no giro de rodas dentadas. Uma roda ao completar um giro completo incrementava um dente na roda adjacente que representava a casa decimal superior à daquela roda.
1671 ( Gottfried von Leibnitz. Extensão da máquina de Pascal para dividir e multiplicar
Século 18
1741 ( J. Vaucouson - propõe um método para controle de padrões em teares, através de furos em um cilindro de metal => cartão perfurado
Século 19
1822 ( Charles Babbage - Máquinas de diferenças (série de somadores de Pascal) ( não chegou a funcionar 
1832 ( Capacidade das máquinas:
1000 números de 50 dígitos
60 adições/subtrações por minuto
1 multiplicação por minuto
programável (via cartões)
instruções de desvio
aproximadamente 50000 partes
1854 ( George Boole: Álgebra Booleana
1890 ( Censo U.S.A. - Herman Hollerith:
Primeira utilização do cartão perfurado
25 orifícios circulares
perfurador manual e máquina para contar
Século 20
1900 ( Vannevar Bush: ferramenta para resolução de equações diferenciais
1936 ( Konrad Zuse: Calculador Binário Ponto flutuante - Z1
1937 ( Fase 0 (Não comercial) - Howard Aiken
computador eletromecânico (1944) - MARK I da IBM (1943) trabalhava com números de até 23 digítos. Possuía entrada de cartão perfurado e realizava operações de adição e subtração em 6 segundos e uma divisão em 12 segundos.
informação de controle - via fita de papel
constantes: 60 chaves de 10 posições
saída: cartão perfurado teletipo
1939 ( Konrad Zuse
Computador Automático - Z2
Computador Controlado por programa - Z3 (1941). Foi o primeiro computador efetivamente operacional, utilizando controle por programa e numeração binária.
1943 ( Alan Turing - Colossus I - 2500 válvulas
1945 ( 1a. Geração de Computadores: válvulas eletrônicas (1938 a 1954)
 Baixa durabilidade
Dispositivos de E/S primitivos
 		Cálculos em milésimos de segundos
 		Programados em Linguagem de máquina
 		20.000 válvulas
 		Baixa confiabilidade
 		Grande quantidade de energia consumida
 	Ex.: UNIVAC I / EDVAC / IBM 650
1946 ( ENIAC - Electronic Numeric Integrator Analyzer and Computer
18000 válvulas
5000 adições/subtrações por segundo
armazenamento: 20 números decimais de 10 algarismos
programação através de 6000 chaves
fiação para dar seqüência de programas
	
1949 ( John von Neumann 
Conceito de programa armazenado
EDSAC-Electronic Delay Storage Automatic Computer
EDVAC-Electronic Discrete Variable Automatic Computer
O EDVAC usava 10 % do volume do ENIAC e tinha cem vezes mais memória.
	Curiosidade: Por volta de 1950 alguns cientistas afirmavam que toda necessidade de proces�samento de dados mundial seria atendida por 10 computadores ENIAC. Hoje, milhões de micro�computadores são vendidos anualmente, cada um com capacidade superior a dezenas de ENIACs. 
1950 ( Fase I - Comercial
UNIVAC I (Universal Automated Computer): o primeiro a usar os conceitos de Von Neumann e produzido em escala comercial
1953 ( IBM 701
1954 ( IBM 650
1958 ( 2a. Geração de Computadores Transistores (1952 a 1964) 
memórias de núcleo magnético (DRUM)
circuito impresso e processadores de E/S
registrador de índice e aritmética de ponto flutuante
linguagens de programação “independentes de hardware”
compiladores, bibliotecas de programas
mais rápido, mais confiável e consumo menor de energia 
Cálculos em milionésimos de segundo
100 vezes menor que o computador à válvula
Uso restrito (universidades, governos, empresas de grande porte)
Ex.: PDP1 e 5 da DEC - Digital Equipment Corp., IBM1401
1960 ( Uso do computador em tempo real
 1962 ( Discos magnéticos
 1964 ( 3a. Geração de Comput. -Circuitos Integrados (1962- 1974)
 Circuito Integrado (CI) com miniaturização de componentes eletrônicos:	 
 muito mais confiáveis (não têm partes móveis)
 muito mais compacto e mais rápido 
 baixíssimo consumo de energia 
 muito menor custo
 memórias semicondutoras
 processadores microprogramados (projeto mais simples e flexível)
 circuitos impressos multi-camada 
 multiprogramação e time-sharing
 Cálculos em bilionésimos de segundo
 Ex.: IBM /360, PDP-10
1970 ( É criado o PARC (Palo Alto Research Center), pela Xerox. Neste centro foi desenvolvida toda a base da comunicação visual que seria utilizada por computadores dali por diante - através de uma interface gráfica, usando componentes em forma de ícones e janelas.
 1971 ( 4a. Geração de Computadores (1972 a 1990 )
Circuitos Integrados de Alta Integração (LSI e VLSI)
	Criação de novos periféricos para multimídia
	Desenvolvimento de Redes Locais, Regionais e Mundiais 
	A Intel Corporation lança a primeira CPU em uma só pastilha de circuito integrado, o Intel – 4004. Era baseado na tecnologia VLSI (Very Large Scale Integration) possuindo 2300 transistores na pastilha.
1972 ( A Intel anuncia o chip 8008 de 200-Khz, o primeiro processador de 8 bits. Ele podia acessar 16 Kb de memória. Utilizava 3500 transistores e a velocidade era de 60.000 instruções por segundo. 
Bill Gates e Paul Allen desenvolvem um sistema baseado no processador 8008, para registrar o fluxo do tráfego de automóveis em uma via expressa.
1973 ( É lançado o 8080 pela Intel. Vendeu milhões de unidades e firmou a Intel como a grande fabricante de microprocessadores do mercado. Possuía 5000 transistores e podia endereçar até 64Kbytes de memória. A velocidade era de 0.64 MIPS (Milhões de Instruções por Segundo). 
	A Motorola lança em seguida o microprocessador 6800, para concorrer com a Intel A Motorola lança em seguida o microprocessador 6800, para concorrer com a Intel.
1976 ( Um grupo de hobbistas (Steve Wozniak - HP e Steve Jobs - Atari) desenvolveram um microcomputador baseado no microprocessador 6502 (clone do 6800), não pela sua versatilidade, mas pelo preço. Nasce, então, o microcomputador batizado de Apple. Vendeu 175 unidades e foi um sucesso. 
	Desenvolveram em seguida o Apple II, que foi o primeiro microcomputador pessoal com unidade de disco flexível e projetado para atender tanto ao mercado pessoal como profissional.
1979 ( A Apple inicia o desenvolvimento de outro microcomputador, o Lisa, baseado em tudo aquilo que Steve Jobs tinha visto em sua visita ao PARC: a interface gráfica.
Através da interface gráfica, o microcomputador torna-se mais amigável. Funções antes disponíveis somente através de comandos complicados e de difícil memorização passaram a ser utilizadas através de símbolos (ou ícones) disponíveis na tela.
A Intel anuncia o microprocessador 8088 de 4.77 Mhz. Foi criado como um progresso a partir do 8086. Operava internamente com 16 bits, mas suportava data bus de 8 bits, para utilizar os chips de controle de dispositivo de 8 bits. Continha 29.000 transistores e podia acessar 1Mb de memória. A velocidade era de 0.33 MIPS. Uma versão posterior operava a 8 MHz, numa velocidade de 0.75 MIPS.
1980 ( Início da Internet como rede acadêmica e de segurança militar estratégica nos Estados Unidos.
1981 ( A IBM anuncia o computador pessoal IBM 5150 em Nova York. O PC possuía uma CPU com o processador Intel 8088 (29.000 transistores) de 4.77 Mhz, 64Kb RAM, um drive de disquete de 5.25 polegadas (com capacidade de 160Kb), e o PC-DOS 1.0 (Microsoft MS-DOS), por aproximadamente 3.000 dólares. Uma versão com gráficos coloridos custava 6.000 dólares.
1983 ( Microsoft anuncia a versão 1.0 do editor de textos Word for MS-DOS.
	Microsoft lança seu primeiro mouse (copiado da Apple, que, por sua vez, copiou da Xerox).
1984 ( É lançado o MacIntosh, criado para ser um "Lisa para se ter em casa". A Apple obteve um sucesso estrondoso com o seu MacIntosh, partindo em outra direção, descartando um futuro maior para a linha Apple II.
	Para se ter uma idéia, somente 11 anos depois do lançamento do Macintosh a Microsoft conseguiu lançar um produto com interface gráfica similar.	
	No mesmo ano é lançado o PC 286 (134.000 transistores) com velocidade de 6MHz, 256 Kbytes de RAM e disco rígido de 20 Mbytes.
1990 ( Internet Comercial (.com) e rede mundial (www). 
	A Microsoft apresenta e vende o Microsoft Windows 3.0. A Microsoft gastou 3 milhões para o marketing de lançamento, como uma parte dos 10 milhões da campanha promocional.
	É lançado o PC 486 (1,2 milhão de transistores) com velocidade de 25MHz e disco rígido de 30Mbytes.
 1991 ( 5a. Geração de Computadores (1991 ...)
	Processamento Paralelo: várias CPUs 
	Circuitos Integrados ULSI 
	Todas as gerações anteriores	=> processamento serial
=> uma única CPU
Linus Torvalds cria o núcleo do sistema operacional LINUX.
1993 ( A Microsoft lança o Windows for Workgroups (3.11) e a Intel lança o processador Pentium.
1995 ( A Microsoft lança o Windows 95 e a Internet começa a decolar no Brasil.
1998 ( É lançado o Windows 98 e o navegador na Internet vem embutido no sistema.
1999 ( Intel anuncia o Pentium III, com 9,5 milhões de transistores e 1.000 Mips.
2000 ( Lançamento do Pentium 4.
Chega a 500 milhões o número de computadores pessoais em todo o mundo.
2001 ( Era da Internet e Comunicações Móveis
Em dia 12 de agosto de 2001, o PC comemora 20 anos de vida. Outros computadores para uso pessoal o antecederam, como o Apple II. Mas o que o brasileiro conhece como microcomputador pessoal, no trabalho ou em casa, veio ao mundo em 1981, pelas mãos da IBM. 
2001 a 2010 e além : da história recente você faz parte e a conhece bem !
Descubra na internet ou relembre
os fatos importantes desse período .
Escala de Integração: quantos circuitos se pode colocar num único circuito integrado (chip):
VLSI - Very Large Scale of Integration - contém de 1 milhão a 10 milhões de componentes
ULSI – Ultra Large Scale of Integration – mais de 10 milhões de componentes.
MEMÓRIA PRINCIPAL
Posição e Endereçamento
	O tamanho máximo da MP que pode ser usado em um computador é determinado pelo esquema de endereçamento. Por exemplo, um computador de (palavra de) 16 bits que gera endereços de 16 bits é capaz de endereçar até 216 locais de memória. Cada local de memória armazena 16 bits, porque tem palavra de 16 bits. Da mesma forma, uma máquina cujas instruções geram endereços de 24 bits pode utilizar uma MP que contenha até 224 locais de memória. Este número representa o tamanho do espaço endereçado do computador.
	Em alguns computadores, a menor unidade endereçável de informação é uma palavra de memória ou uma célula de memória. Endereços sucessivos de memória referem a sucessivas palavras de memória, e a máquina é chamada de endereçável por palavra. De outra forma, a bytes individuais de memória podem ser atribuídos endereços distintos, levando a um computador endereçável por byte.
 É mais fácil e econômico escrever programas para um sistema com MP bastante grande, capaz de conter todo o programa e todos os dados necessários de uma só vez, apesar de se saber que o tamanho da MP afeta o custo e a velocidade da aplicação. Sempre que possível, é recomendável adquirir mais que o mínimo necessário, considerando-se que quanto mais o programa e os arquivos de dados tiverem que ser divididos, mais complexo se tornará o programa e consequentemente mais tempo o sistema deverá esperar por segmento de dados ou programas a serem carregados dos periféricos para a MP.
	Calcule qual a memória útil, que é a que estará disponível para a aplicação. Para chegar a memória útil deve-se subtrair da memória RAM a quantidade que será ocupada pelo sistema operacional e utilitários. O saldo poderá ser utilizado pelo aplicativo (programa e/ou dados).
Sobre a terminologia “palavra” e “célula”, é importante destacar alguns aspectos históricos e padrões atuais, para evitar possíveis confusões:
a) historicamente, a apresentação conceitual da CPU, descrita pela máquina de Von Neuman, contém o RDM (registrador de dados da memória), que tem exatamente o mesmo tamanho da palavra de memória. É neste registrador especial que está conectado o “barramento de dados”, por onde chegam e saem os dados do processador(CPU). Nesta máquina conceitual, o endereçamento é feito por palavra, ou seja, a unidade de armazenamento é chamada de “palavra”. Portanto, há um alinhamento entre as questões de armazenamento, transferência e processamento.
b) atualmente, o termo “palavra” está associado apenas com aspectos de transferência (barramentos de dados) e processamento de dados (registradores e capacidade do processador) e o termo “célula” está associado apenas com o armazenamento de dados (memórias RAM e secundária/disco rígido). Resumidamente temos então : 
- palavra: quando se tratar de transferência ou processamento de dados.
- célula: quando se tratar de armazenamento, ou seja, o tamanho de cada unidade de memória endereçável.
Um exemplo prático:
Os decodificadores de endereço apontam para endereços de bytes ou células de X bytes na memória. Portanto, para definirmos o tamanho efetivo de uma determinada memória, há dois fatores a considerar:
a) a quantidade de bits do barramento de endereço,
b) o tamanho da unidade de endereçamento de memória, que pode ser 1 byte, ou 2 bytes, ou 4 bytes, ou 1 célula de tamanho X bytes, etc. 
Considere um barramento de endereço de 32 bits. Pelo fator (a) apresentado acima, podemos ter neste computador uma memória de até 2 elevado à potência 32, o que totaliza 4.294.967.296 posições (unidades) de memória, ou seja, quase 4,3 bilhões de locais de armazenamento na memória. Pelo fator (b) acima, isso equivale a dizer que tal computador suporta 4 Giga células de memória, ou 4 Giga bytes , ou 4 Giga “alguma coisa” (entre 2 e 8 bytes provavelmente), dependendo do tamanho da unidade de armazenamento endereçável.
 
Assim sendo, avalie: qual o principal fator determinante do tamanho da memória ? O fator (a) é “4 Giga” (de base binária e não decimal). O fator (b) é determinado por um valor entre 1 e 8 , referente ao tamanho da célula em bytes. Portanto o barramento de endereço é o principal determinante do tamanho máximo da memória. É certo que ele não é o único fator, mas é o seu principal fator e de grandeza mais significativa .
Configuração e Expansão
	Uma configuração é a descrição do conjunto dos equipamentos que compõem o sistema, com todos os acessórios e periféricos qualificados e quantificados.
	Uma expansão da configuração atual pode incluir mais memória, se necessário, melhor monitor de vídeo com imagem mais nítida, etc.
Uma nova nomenclatura para definir grandezas em computação 
O KibiByte (símbolo KiB, contração de kilo binary byte) é uma unidade de medida de � HYPERLINK "http://pt.wikipedia.org/wiki/Mem%C3%B3ria_(computador)" \o "Memória (computador)" �armazenamento eletrônico de informação�, que foi estabelecido em 2000 pela � HYPERLINK "http://en.wikipedia.org/wiki/International_Electrotechnical_Commission" \o "International Electrotechnical Commission" �International Electrotechnical Commission� (IEC) na norma IEC 60027-2 , depois consolidado no padrão ISO/IEC 80000 - (Quantities and Units) Part 13 – (Information science and technology) de 2008 e no padrão do IEEE(� HYPERLINK "http://en.wikipedia.org/wiki/Institute_of_Electrical_and_Electronics_Engineers" \o "Institute of Electrical and Electronics Engineers" �Institute of Electrical and Electronics Engineers�) denominado IEEE 1541 de 2002 . Ficou assim definido:
1 kibibyte = 1.024 bytes 
Foi criado com o objetivo de substituir o "quilobyte" em ciência da computação, que se refere a 1024 bytes, e que entra em conflito com a definição do prefixo "quilo" do � HYPERLINK "http://pt.wikipedia.org/wiki/Sistema_Internacional" \o "Sistema Internacional" �Sistema Internacional� de unidades de medida (SI), mantido pelo Bureau Internacional de pesos e medidas, em que Kilo é sempre 1000. 
Antes de mais nada, é preciso definir um padrão para as unidades usadas em eletrônica digital e computação:
- bit (simbolo 'b') significa um dígito binário.
- byte (simbolo 'B') significa um conjunto de bits adjacentes, normalmente 8 bits, (mas não necessariamente!), tratados em conjunto, como um agrupamento. 
- octeto (simbolo 'o'), significa um grupo de 8 bits. 
Múltiplos de � HYPERLINK "http://pt.wikipedia.org/wiki/Byte" \o "Byte" �bytes��
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Prefixo_bin%C3%A1rio" \o "Prefixo binário" �Prefixo binário� (� HYPERLINK "http://pt.wikipedia.org/wiki/Comiss%C3%A3o_Eletrot%C3%A9cnica_Internacional" \o "Comissão Eletrotécnica Internacional" �IEC�)�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Sistema_Internacional_de_Unidades" \o "Sistema Internacional de Unidades" �Prefixo decimal (SI)��
�
Nome�
Símbolo�
Múltiplo�
�
Nome�
Símbolo�
Múltiplo�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Byte" \o "Byte" �byte��
B�
20�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Byte" \o "Byte" �byte��
B�
100�
�
kibibyte(� HYPERLINK "http://pt.wikipedia.org/wiki/Byte" \l "Quilobyte_.28kB.29" \o "Byte" �quilobyte�)�
KiB�
210�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Byte" \l "Quantidades" \o "Byte" �Kilobyte��
KB�
103�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/MebiByte" \o "MebiByte" �mebibyte�(� HYPERLINK "http://pt.wikipedia.org/wiki/Megabyte" \o "Megabyte" �megabyte�)�
MiB�
220�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Megabyte" \o "Megabyte" �megabyte��
MB�
106�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Gibibyte" \o "Gibibyte" �gibibyte�(� HYPERLINK "http://pt.wikipedia.org/wiki/Gigabyte" \o "Gigabyte" �gigabyte�)�
GiB�
230�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Gigabyte" \o "Gigabyte" �gigabyte��
GB�
109�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Tebibyte" \o "Tebibyte" �tebibyte�(� HYPERLINK "http://pt.wikipedia.org/wiki/Terabyte" \o "Terabyte" �terabyte�)�
TiB�
240�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Terabyte" \o "Terabyte" �terabyte��
TB�
1012�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Pebibyte" \o "Pebibyte" �pebibyte�(� HYPERLINK "http://pt.wikipedia.org/wiki/Petabyte" \o "Petabyte" �petabyte�)�
PiB�
250�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Petabyte" \o "Petabyte" �petabyte��
PB�
1015�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Exbibyte" \o "Exbibyte" �exbibyte�(� HYPERLINK "http://pt.wikipedia.org/wiki/Exabyte" \o "Exabyte" �exabyte�)�
EiB�
260�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Exabyte" \o "Exabyte" �exabyte��
EB�
1018�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Zebibyte" \o "Zebibyte" �zebibyte�(� HYPERLINK "http://pt.wikipedia.org/wiki/Zettabyte" \o "Zettabyte" �zettabyte�)�
ZiB�
270�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Zettabyte" \o "Zettabyte" �zettabyte��
ZB�
1021�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Yobibyte" \o "Yobibyte" �yobibyte�(� HYPERLINK "http://pt.wikipedia.org/wiki/Yottabyte" \o "Yottabyte" �yottabyte�)�
YiB�
280�
�
� HYPERLINK "http://pt.wikipedia.org/wiki/Yottabyte" \o "Yottabyte" �yottabyte��
YB�
1024�
�
 Entretanto, como este padrão não foi adotado pelo mercado, continuaremos usando apenas os nomes tradicionais (kilo, mega, giga, tera, etc) sempre em base binária .
/
�PAGE �
�PAGE �1�

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?