Quão grande é 128 bits?
Com o Windows 7 vindo no formato de arquitetura 32 bits e 64 bits, a crença é que os próximos processadores e sistemas operacionais serão de 128 bits. Isso é verdade; e é a próxima progressão natural?
O que é computação de 128 bits? Bem, começando com 32 bits de computação, a CPU é capaz de processar 232 bits de informação, ou seja, 4.294.967.296 ou pouco mais de 4 gigas. A computação de 64 bits é igualmente 264 ou 18.446.744.073.709.551.616; ou seja, mais de 18 exobytes de memória (quintilhão). Isso é apenas para 64 bits. E 128 bits? Isso é 2128 ou 3,4028236692093846346337460743177e+38 bits. Isso é um monte de bits para trabalhar. Então isto é necessário? Essa é a questão; bits operacionais e bits disponíveis são duas coisas diferentes. Os computadores, e mais importante, software, podem usar esse tipo de espaço de bits?
A CPU
Adicionar a pergunta anterior dependerá da estrutura da CPU. A CPU tem registros, as ALUs (unidade aritmética-lógica ), que faz as contas, e o barramento de dados, que move os dados do cache para a memória. O ciclo fetch-execute é importante na abordagem de como os dados são processados.
Registros não fazem parte da memória, são áreas de armazenamento temporário e funcionam sob o disfarce da unidade de controle. Eles tomam instruções ou dados e executam operações lógicas ou aritméticas. Mais informações estão disponíveis sobre o Papel de uma CPU ou Unidade de Microprocessador.
Os Registros na CPU
O que o registro faz?
Registros recebem a informação da memória ou da CPU, retêm-na temporariamente e passam-na como dirigido pela unidade de controle. Os registros são amarrados a um relógio, onde uma instrução no registro é executada em um ciclo de relógio. O número de registros varia de computador para computador; cada um deles é projetado para executar uma função específica. Os registros têm uma capacidade de armazenamento específica, dependendo do número de bits com os quais estão desenhados. Normalmente 14 registros estão presentes em um microcomputador.
1]O registro acumulador é um registro de dados especial e armazena o resultado do último passo de processamento do ALU.
2]Registros visíveis pelo usuário são divididos em registros de dados e registros de endereço.
3]Registros de endereço são usados para armazenar registros de memória e o próximo pedaço de dados.
4]Registros de dados armazenam dados.
5]Registros de condição são usados para determinar se a instrução deve executar ou não.
6]Registros constantes são usados para armazenar somente valores de leitura.
7]Registros de ponto flutuante armazenam números de ponto flutuante.
8]Registros de propósito geral armazenam os dados e endereços.
9]Registros de propósito especial são usados para armazenar o estado do programa e consiste em contador de programa,
10]ponteiro de pilha e
11]registros de estado.
12]O contador de programa armazena o endereço da próxima instrução a ser executada.
13]O registro de instrução armazena a instrução enquanto ela está sendo executada.
14]O registro de índice armazena um índice de endereços de memória.
Você pode ler sobre A Visual Interpretation of How a CPU Works e aprender informações adicionais sobre registros.
Physical Address Extension in 32 Bit Processors
Então existe uma maneira que fará o processador de 32 bits funcionar como um processador de 64 bits? Na verdade, existe. É chamado de Extensão de Endereço Físico (PAE).
A Extensão de Endereço Físico é uma técnica que permite às CPU’s endereçar mais memória do que a disponível pelo design. Ela só pode ser feita em sistemas x86 onde 32 bits podem ser feitos para trabalhar até 64 bits. Isto é feito quando o registro de endereçamento divide a memória total em diferentes bancos de espaço onde pode então permitir o acesso à memória total. Assim como o registro de dados de 32 bits recebe os dados, ele pode dividir os dados em um segundo banco e obter a operação de 64 bits e é processado em um ciclo.
Quando este processo é colocado em prática, os registros de 32 bits agem em conjunto para imitar um registro de 64 bits. Isto permite que o ciclo da CPU trabalhe para processar dois registros e enviá-los para a ALU para processamento em um ciclo. Mas esta não é a única implementação de CPU disponível.
Acesso não uniforme à memória
Outra implementação de CPU é o Acesso não uniforme à memória (NUMA), que permite às CPU’s acessar a memória independentemente da distância dos endereços da memória. Como algumas localizações de memória estão mais próximas da CPU enquanto outras estão mais distantes, levará mais tempo para a CPU processar os dados na memória que estão mais distantes. Para resolver isto, a CPU é dividida em nós de modo que o processamento é feito por nó e, portanto, mais rápido, independentemente da localização física da memória. Os aplicativos podem então aproveitar o processamento de 64 bits em um ambiente de 32 bits se o NUMA estiver instalado. Isto levanta a questão: este tipo de processamento pode permitir operações de 128 bits?
64 Bit e sistema operacional de 128 bits
Usar sistemas de 128 bits não é inevitável enquanto houver processos na CPU que possam ser usados para fazer um processador de 32 bits agir como um de 64 bits, e um processador de 64 bits agir como um de 128 bits. Se a Extensão de Endereço Físico, que agora só se aplica a sistemas x86 (32 bits), fosse modificada para sistemas de 64 bits para permitir que eles agissem como sistemas de 128 bits, isso seria um caminho para trabalhar com 128 bits. O mesmo vale para modificações usando NUMA, neste caso por causa do número de posições de memória que estão distantes da CPU, porque as CPU’s de 64 bits serão naturalmente maiores em tamanho que uma CPU de 32 bits.
Finalmente, existem algumas aplicações, como criptografia de 128 bits, ou criptografia, que podem naturalmente tirar vantagem da CPU de 128 bits. O processo de encriptação será mais rápido porque será necessário apenas um ciclo de processamento para fazer a encriptação. Mas isto mostra que para tirar o máximo proveito do processador de 128 bits, você precisa ter aplicativos que são escritos para fundir-se perfeitamente nas operações da CPU.
Neste ponto, esta é uma das maiores desvantagens nas práticas de aplicação. A maioria das aplicações ainda são escritas apenas para o nível de 32 bits, elas não estão nem mesmo no nível de 64 bits. Isto levará programas de design de software que foram reescritos para criar aplicações de 128 bits. Programas de design de software como o Visual Studio, ou o .Net Framework, ou o SQL Server 2005, ou o SQL Server 2008, teriam de produzir aplicações de 128 bits. Mas eles não estão nesse nível – agora, eles geram aplicações de 32 bits.
O que um processo de 128 bits conseguirá?
Um maior e mais rápido poder de processamento é a resposta natural a essa pergunta. Aplicações complexas que precisam de muito poder de processamento, ou seja, o processamento que pode ser realizado em um ciclo de CPU é ideal. Estes são engenharia, ou matemática, ou operações científicas. Estas são sofisticadas modelagens financeiras ou econômicas. São também processos complexos médicos, biológicos ou químicos que têm de ser realizados rapidamente. Qualquer uma dessas aplicações que precisa gerar resultados rapidamente pode se beneficiar de um sistema operacional que pode estar em sincronia com uma CPU de 128 bits. Você pode ler os problemas de arquitetura de 128 bits no Windows 128 Bit Architecture – How much RAM can a Processor Handle.
Intel Micro Architecture Image: Wikimedia Commons
Intel 1820 Arquitetura Imagem: Wikimedia Commons
Numa: Imagem Wikimedia Commons
Este post é parte da série: 64 Bit Computing vs 32 Bit Computing
As CPU’s ficam mais sofisticadas, assim como os sistemas operacionais que as suportam. Isso está acontecendo agora com o computador de 64 bits e com o computador mais antigo de 32 bits. Entender como o tamanho da CPU afeta o sistema operacional é o objetivo desta série de artigos.
- A Diferença entre Windows7 X64 e X86
- Comparando a diferença entre Windows de 32 bits e 64 bits 7
- Possibilidades de se alcançar a operação de sistemas operacionais de 128 bits e o que ela irá alcançar?