# IBM 1620

O IBM 1620 foi anunciado pela IBM em 21 de outubro de 1959 e comercializado como um "computador científico barato". Depois de uma produção total de cerca de duas mil máquinas, sua produção foi encerrada em 19 de novembro de 1970. Versões modificadas do 1620 foram usados como CPU dos sistemas de controle de processos industriais IBM 1710 e IBM 1720 (tornando-se o primeiro computador digital considerado confiável o suficiente para controle de processos em tempo real de equipamentos de fábrica.
Sendo de palavras de comprimento decimal variável, em oposição aos de palavras de comprimento-fixo puramente binários, era especialmente atraente como primeiro computador para se aprender informática - e centenas de milhares de estudantes tiveram suas primeiras experiências com um computador em um IBM 1620.
Os tempos de ciclo de memória principal eram de 20 microssegundos para o Modelo I, 10 microssegundos para o Modelo II (cerca de mil vezes mais lento que a memória principal de um computador típico em 2006).
Muitos na comunidade de usuários lembram o 1620 como sendo chamado de CADET, significando de brincadeira (em inglês: "Can't Add, Doesn't Even Try" - não pode somar, nem mesmo tente), referindo-se ao uso de tabelas de adição na memória ao invés de circuitos dedicados para isso.

## A arquitetura do 1620

Era um computador de "palavra" variável de comprimento decimal (BCD) e sua memória podia conter de 20.000 a 60.000 dígitos decimais, aumentando de 20.000 em 20.000 dígitos decimais como incremento. (Enquanto os endereços de 5 dígitos poderiam ter endereçado até 100.000 casas decimais, uma máquina maior do que 60.000 dígitos decimais nunca foi construída.)
Na memória, eram acessados dois dígitos decimais de cada vez, (par de dígitos par-ímpar para os dados numéricos ou um caráter de dados de texto alfanumérico). Cada dígito decimal tinha 6 bits, composto por um bit de paridade ímpar C, um bit de atraso F e quatro bits BCD para o valor do dígito no seguinte formato:
O bit de atraso F tinha diversos usos:
* No dígito menos significativo era setado para indicar um número negativo na representação de (sinal-magnitude).
* Ele era setado para marcar o dígito mais significativo de um número do tipo (wordmark).
* No dígito menos significativo de endereços de 5 dígitos era definido para endereçamento indireto (uma opção no 1620 I, e padrão no modelo 1620 II). Podia ser usado em direcionamento multi-nível (você podia até mesmo colocar a máquina em um loop infinito de endereçamento indireto).
* Nos 3 dígitos do meio de endereços de 5 dígitos (no 1620 II) eles eram
setados para selecionar um dos sete registros de índice. Além dos valores válidos de dígitos BCD havia três valores de dígitos especiais (estes não podiam ser usados em cálculos):
As instruções tinham comprimento fixo (12 dígitos decimais), constituídos por um "código op" de 2 dígitos, um endereço "P" de 5 dígitos (geralmente o endereço destino), e um endereço "Q" de 5 dígitos (geralmente o endereço origem ou a fonte do valor imediato). Algumas instruções, como a instrução B (de branch, ramificação), usavam apenas o endereço de P, e montadores posteriores mais inteligentes incluíam uma instrução "B7" que gerava uma instrução de desvio de 7 dígitos (código op, endereço P, e um dígito extra, porque a próxima instrução tinha que iniciar em um dígito par).
"Palavras" de dados de ponto fixo poderiam ser de qualquer tamanho a partir de dois dígitos até toda a memória ainda não usada para outros fins.
"Palavras" de dados de ponto flutuante (Usando a opção de hardware de ponto flutuante) poderiam ser de qualquer tamanho a partir de 4 dígitos decimais até 102 dígitos decimais (2-100 dígitos para a mantissa e 2 dígitos para o expoente).
A máquina não tinha registros acessíveis ao programador: todas as operações eram de memória para memória (incluindo o registro índice da 1620 II).