| Bellacosa Mainframe apresenta o outro computador z parte ii |
☕ Um Café no Bellacosa Mainframe
Muito Antes do IBM Z Existia Outro "Z"
Parte II — Abrindo a Tampa do Z1: Quando os Bits Eram Feitos de Aço
"Existem computadores que impressionam pela velocidade. Outros, pela capacidade de armazenamento. O Z1 impressiona por um motivo diferente: ele simplesmente não deveria funcionar. E, ainda assim, funcionou."
Na primeira parte da nossa série, conhecemos um jovem engenheiro chamado Konrad Zuse, que decidiu transformar a sala de estar dos pais em um laboratório de pesquisa e, sem saber, iniciou uma revolução que mudaria para sempre a história da computação.
Hoje faremos algo que qualquer Sysprog adoraria.
Vamos abrir a tampa do computador.
Não de um IBM z17.
Nem de um IBM 4381.
Nem de um System/360.
Vamos abrir um computador construído entre 1936 e 1938.
Prepare-se para uma experiência curiosa.
Ao retirar sua tampa, você não encontrará placas eletrônicas.
Não verá chips.
Nem memórias DRAM.
Muito menos processadores multicore.
O que aparecerá diante de seus olhos será algo muito mais surpreendente.
Milhares de pequenas peças metálicas.
Barras.
Pinos.
Molas.
Alavancas.
Guias deslizantes.
Pequenos componentes cuidadosamente alinhados para representar aquilo que hoje chamamos simplesmente de bit.
Era uma CPU construída como um relógio suíço.
Só que infinitamente mais complicada.
O Computador Parecia uma Máquina Industrial
Imagine entrar em um datacenter moderno.
Agora esqueça tudo.
O Z1 não lembrava um computador.
Ele parecia uma mistura de máquina de costura industrial, relógio mecânico gigante e equipamento de laboratório.
Sua estrutura era composta por chapas metálicas montadas em diversos níveis.
As peças deslizavam horizontalmente.
Outras moviam-se verticalmente.
Algumas giravam.
Outras apenas empurravam pequenos mecanismos.
Cada movimento representava informação.
Hoje utilizamos bilhões de transistores.
Konrad Zuse utilizava movimentos físicos.
O computador literalmente "pensava" movendo metal.
O Menor Habitante do Z1
Todo Sysprog sabe que um IBM Z trabalha internamente com bits.
Mas o que exatamente é um bit?
Hoje a resposta é simples.
Um transistor conduz corrente.
Ou não conduz.
Existe tensão.
Ou não existe.
No Z1, entretanto, um bit era algo completamente diferente.
Imagine uma pequena chapa metálica que pode deslizar alguns milímetros.
Quando está para a esquerda:
Quando está para a direita:
Pronto.
Acabamos de criar um bit.
Cada pequena barra metálica possuía apenas duas posições estáveis.
Da mesma maneira que um transistor moderno possui dois estados elétricos, aquela pequena peça possuía dois estados mecânicos.
É difícil imaginar algo mais simples.
E, ao mesmo tempo, mais genial.
🔧 Oficina do Engenheiro
Em engenharia digital, pouco importa como representamos um bit.
Pode ser:
tensão elétrica;
magnetização;
luz;
carga elétrica;
posição mecânica.
O importante é que existam dois estados claramente distinguíveis.
Esse conceito permanece absolutamente inalterado até hoje.
O IBM z17 continua trabalhando exatamente com a mesma lógica binária.
Mudou apenas a tecnologia utilizada para representar esses estados.
A CPU Não Executava Instruções Elétricas
Esse talvez seja o aspecto mais fascinante do Z1.
Não havia eletricidade realizando operações lógicas.
As operações aconteciam por meio do movimento sincronizado de milhares de pequenas peças.
Quando uma barra era deslocada, empurrava outra.
Que deslocava uma terceira.
Que liberava uma quarta.
Era quase um gigantesco efeito dominó cuidadosamente projetado.
Imagine um enorme mecanismo de relógio.
Agora substitua ponteiros por operações matemáticas.
Era exatamente isso.
O Somador Mecânico
Vamos imaginar uma soma extremamente simples.
1 + 1
Hoje um processador resolve isso em uma fração de nanossegundo.
No Z1, essa operação era quase uma coreografia.
Cada bit percorria um caminho físico.
Alavancas verificavam combinações.
Outras geravam transporte (carry).
Outras propagavam o resultado.
Era um circuito lógico.
Só que construído em aço.
Em vez de portas AND e OR feitas de transistores, havia mecanismos cuidadosamente desenhados para produzir exatamente o mesmo comportamento lógico.
Isso é talvez o maior ensinamento de Zuse.
A lógica independe da tecnologia.
Ela pode ser implementada com válvulas.
Relés.
Transistores.
Circuitos integrados.
Ou pequenas chapas metálicas.
Registradores... Antes dos Registradores
Um Sysprog acostumado a analisar dumps conhece bem registradores como:
R0
R1
R15
PSW
CRs
ARs
No Z1 ainda não existia essa nomenclatura.
Mas existia o conceito.
A CPU precisava manter temporariamente valores durante um cálculo.
Onde armazená-los?
Em pequenos conjuntos de mecanismos mecânicos.
Cada conjunto mantinha uma palavra binária.
Era, na prática, um registrador.
A nomenclatura ainda não existia.
A necessidade já existia.
A Unidade Lógica e Aritmética
Hoje chamamos essa área de ALU.
Arithmetic Logic Unit.
Ela executa:
soma;
subtração;
multiplicação;
divisão;
comparação.
No Z1 acontecia exatamente o mesmo.
A diferença estava na velocidade.
Cada operação exigia dezenas ou centenas de pequenos movimentos físicos.
Mesmo assim, a arquitetura era surpreendentemente elegante.
Zuse separou claramente:
armazenamento;
controle;
cálculo.
Se isso parece familiar...
É porque continua sendo exatamente assim dentro de um IBM Z.
☕ Café com Naftalina
Enquanto você lê este artigo, um processador IBM z17 executa bilhões de instruções por segundo.
O Z1 precisava de aproximadamente um segundo para concluir uma simples soma.
Mesmo assim, ambos obedecem ao mesmo princípio:
Receber dados.
Executar instruções.
Produzir resultados.
A essência da computação continua incrivelmente parecida.
A Memória
Chegamos ao coração do computador.
A memória do Z1.
Hoje medimos memória em:
Gigabytes.
Terabytes.
Petabytes.
O Z1 possuía aproximadamente:
64 palavras de 22 bits.
Isso representa cerca de:
1.408 bits.
Ou aproximadamente:
176 bytes.
Isso mesmo.
Toda a memória do computador caberia facilmente dentro de uma única linha de um arquivo SYSIN moderno.
Um emoji ocupa mais espaço.
Uma variável COBOL COMP-3 relativamente pequena pode consumir uma parcela significativa dessa capacidade.
É quase inacreditável.
Como Funcionava a Memória?
Cada palavra era formada por mecanismos mecânicos independentes.
Cada bit correspondia à posição de uma pequena placa deslizante.
Quando uma operação solicitava leitura, mecanismos específicos consultavam essas posições.
Quando era necessário gravar um novo valor, as barras eram reposicionadas.
Era uma memória de acesso mecânico relativamente rápido para a época.
Mas extremamente delicada.
Bastava um pequeno desalinhamento para que toda a operação falhasse.
Um Sysprog Reconheceria o Problema
Quem administra IBM Z conhece bem uma palavra.
Confiabilidade.
Ela é praticamente uma obsessão.
ECC.
RAIM.
Redundância.
Detecção de erros.
Retry.
Recover.
Hardware Spare.
Dynamic Repair.
No Z1 praticamente nada disso existia.
Se uma barra metálica não se movesse exatamente como deveria...
O cálculo inteiro poderia ser perdido.
A mecânica impunha um limite que Zuse logo perceberia.
Era preciso abandonar parte das peças móveis.
Essa percepção levaria diretamente ao desenvolvimento do Z2.
Mas essa será outra história.
O Ponto Flutuante
Talvez a característica mais impressionante do Z1 seja justamente aquela que muitos leitores menos esperam.
Ele trabalhava com números em ponto flutuante.
Estamos falando de 1938.
Décadas antes da padronização IEEE-754.
Enquanto muitas calculadoras realizavam apenas operações inteiras, Zuse já compreendia que engenheiros precisavam trabalhar com grandezas muito diferentes.
Distâncias.
Pesos.
Velocidades.
Forças.
Pressões.
Tudo isso exigia números fracionários.
Seu formato utilizava:
sinal;
expoente;
mantissa.
Parece familiar?
Deveria parecer.
O conceito permanece vivo até hoje.
📦 Baú do Sysprog
Quando um programa COBOL executa cálculos utilizando COMP-1 ou COMP-2, existe uma longa história por trás dessa representação.
Décadas antes da padronização dos formatos modernos, Konrad Zuse já compreendia que a engenharia precisava de uma forma eficiente de representar números muito pequenos e muito grandes.
Quem Dava o Clock?
Hoje um IBM z17 trabalha com frequências de vários gigahertz.
Bilhões de pulsos por segundo.
No Z1...
O clock era produzido por uma manivela.
Isso mesmo.
O operador girava uma manivela.
Cada movimento sincronizava milhares de componentes.
Mais tarde motores elétricos passaram a auxiliar esse processo.
Mas a ideia permanecia a mesma.
Todo computador precisa de sincronização.
Todo computador precisa de um ritmo.
Todo computador precisa de um "coração".
O Que Impressiona Não É a Velocidade
Quando observamos um IBM Z moderno, nossa atenção naturalmente se volta para desempenho.
No Z1 acontece exatamente o contrário.
O que impressiona não é sua velocidade.
É o fato de que alguém conseguiu imaginar toda essa arquitetura antes mesmo da existência da eletrônica digital.
Essa é a verdadeira genialidade de Konrad Zuse.
Ele não inventou apenas uma máquina.
Inventou uma forma completamente nova de pensar sobre máquinas.
O Olhar de um Sysprog
Quando administramos um ambiente IBM Z, frequentemente enxergamos apenas a camada mais visível da tecnologia.
Um IPL.
Um dump.
Uma LPAR.
Um JES2.
Um RMF.
Um WLM.
Mas, por trás de tudo isso, continuam existindo conceitos extremamente antigos.
Bits.
Registradores.
Memória.
Clock.
Execução sequencial.
Sincronização.
Estado.
Controle.
Esses fundamentos atravessaram gerações de hardware praticamente intactos.
Mudaram os materiais.
Mudaram as dimensões.
Mudou a velocidade.
Mudou a escala.
A lógica permaneceu.
E talvez essa seja a maior lição do Z1.
No Próximo Café...
Na próxima parte da nossa série, ouviremos um novo som ecoar pela oficina de Konrad Zuse.
O barulho seco de centenas de relés telefônicos substituindo parte das delicadas engrenagens mecânicas.
Nascia o Z2.
O computador começava a trocar músculos de aço por impulsos elétricos.
Era o primeiro passo rumo aos computadores eletromecânicos e, mais tarde, aos gigantes eletrônicos que culminariam nos System/360 e, décadas depois, no IBM Z.
Porque toda grande jornada da computação começou com um simples clique.
Antes dos transistores.
Antes das válvulas.
Antes mesmo do primeiro byte armazenado em memória eletrônica.
Histórias com Cheiro de Naftalina
O Guia do Viajante do Tempo
Muito Antes do IBM Z Existia Outro “Z”
Viaje pelas origens da computação, conhecendo Konrad Zuse, Herman Hollerith, Tommy Flowers, John von Neumann, o Colossus, o EDVAC, o IBM System/360 e os pioneiros que construíram o caminho até o IBM Z.
Caso o navegador impeça a exibição incorporada, utilize o botão Abrir em nova guia.