Inglês Elétrico DEUCE - English Electric DEUCE
Também conhecido como | Motor Eletrônico Digital de Computação Universal |
---|---|
Fabricante | Elétrica Inglesa |
Data de lançamento | 1955 |
Interrompido | 1964 |
Unidades enviadas | 33 |
CPU | com base em válvula termiônica |
Memória |
linhas de atraso de mercúrio 384 palavras de 32 bits (Mark I e Mark II) 608 palavras de 32 bits (Mark IIA) |
Armazenar | Tambor magnético de 8192 palavras |
Exibição | 2 × CRTs |
Antecessor | Pilot ACE |
O DEUCE ( Computing Motor Universal Eletrônica Digital ) foi um dos primeiros britânicos comercialmente disponíveis computadores , construído pelo Inglês elétrica a partir de 1955. Foi a versão de produção do Piloto ACE ,-se uma versão reduzida do Alan Turing 's ACE .
Descrição do hardware
O DEUCE tinha 1450 válvulas termiônicas e usava linhas de retardo de mercúrio para sua memória principal ; cada uma das 12 linhas de atraso pode armazenar 32 instruções ou palavras de dados de 32 bits cada. Ele adotou a então alta taxa de clock de 1 megahertz do Pilot ACE. A entrada / saída foi via equipamento de cartão perfurado Hollerith de 80 colunas. O leitor lia cartões a uma taxa de 200 por minuto, enquanto a taxa de perfuração do cartão era de 100 cartões por minuto. O DEUCE também tinha um tambor magnético de 8192 palavras para armazenamento principal. Para acessar qualquer uma das 256 faixas de 32 palavras, o tambor tinha um grupo de 16 cabeças de leitura e um grupo de 16 cabeças de gravação, cada grupo em braços móveis independentes, cada um capaz de se mover para uma das 16 posições. O tempo de acesso era de 15 milissegundos se os cabeçotes já estivessem na posição; mais 35 milissegundos adicionais eram necessários se as cabeças tivessem que ser movidas. Não houve atraso de rotação durante a leitura e gravação no tambor. Os dados foram transferidos entre o tambor e uma das linhas de atraso de 32 palavras.
O DEUCE pode ser equipado com equipamento de fita de papel ; a velocidade do leitor foi de 850 caracteres por segundo, enquanto a velocidade de saída da fita de papel foi de 25 caracteres por segundo. (O DEUCE da Universidade de New South Wales {UTECOM} tinha um teleimpressor Siemens M100 conectado em 1964, dando entrada / saída de 10 caracteres por segundo). As unidades de fita magnética Decca também podem ser conectadas. O multiplicador e divisor automáticos operaram de forma assíncrona (ou seja, outras instruções poderiam ser executadas enquanto a unidade multiplicadora / divisora estava em operação). Duas unidades aritméticas foram fornecidas para operações inteiras: uma de 32 bits e outra capaz de realizar operações de 32 bits e operações de 64 bits. Auto-incremento e auto-decremento foram fornecidos em oito registradores por volta de 1957. Aritmética de array e transferências de dados de array eram permitidos. Comparado com contemporâneos como o Manchester Mark 1 , o DEUCE era cerca de dez vezes mais rápido.
As palavras individuais dos registradores quádruplos foram associadas a um recurso de incremento / decremento automático. Essa facilidade pode ser usada para contar e modificar instruções (para indexação, controle de loop e para alterar o endereço de origem ou destino de uma instrução).
Sendo uma máquina serial, o tempo de acesso a um único registrador era de 32 microssegundos, um registrador duplo de 64 microssegundos e um registrador quádruplo de 128 microssegundos. Isso para uma linha de atraso era de 1024 microssegundos.
Os tempos de instrução foram: adição, subtração, operações lógicas: 64 microssegundos para palavras de 32 bits; 96 microssegundos de precisão dupla; multiplicação e divisão 2 milissegundos. Para aritmética de matriz e operações de transferência, o tempo por palavra foi de 33 microssegundos por palavra para 32 palavras.
As operações de ponto flutuante foram fornecidas por software; tempos: 6 milissegundos para adição e subtração, média de 5½ milissegundos para multiplicação e média de 4½ milissegundos para divisão.
Nas primeiras máquinas, todas as instruções envolvendo o tambor magnético eram interligadas enquanto uma operação estava em andamento. Assim, se as cabeças de leitura fossem movidas, qualquer operação magnética subsequente, como ler uma trilha ou escrever uma trilha, era proibida de prosseguir até que a primeira fosse concluída. Por volta de 1957, uma nova unidade, chamada "magnetismo racionalizado" foi disponibilizada. Esta unidade eliminou travamentos desnecessários. Assim, era possível executar uma instrução que movia os cabeçotes de leitura: se seguida por uma instrução para mover os cabeçotes de gravação, ou para escrever uma trilha, tais instruções não eram travadas e podiam prosseguir em paralelo com o movimento dos cabeçotes de leitura.
O painel frontal do DEUCE apresentava dois visores CRT : um exibia o conteúdo atual dos registradores, enquanto o outro exibia o conteúdo de qualquer um dos armazenamentos da linha de retardo de mercúrio.
Por volta de 1958, sete linhas de atraso extras puderam ser anexadas, dando mais 224 palavras de armazenamento de alta velocidade. Um IBM 528 combinado leitor-punção poderia substituir o equipamento Hollerith, dando as mesmas velocidades de entrada / saída, caso em que a máquina foi chamada de Mark II. A conversão automática de dados alfanuméricos em BCD foi fornecida na entrada, e a operação reversa na saída, para todas as oitenta colunas de cartão. Nesse equipamento, a leitura e a perfuração poderiam ocorrer simultaneamente, se necessário, e assim poderiam ser utilizadas para a leitura de um registro, atualizá-lo e, em seguida, puncionar um registro atualizado simultaneamente com a leitura do próximo registro. Com as sete linhas de atraso extras, o DEUCE foi denominado Mark IIA.
Programas
As principais linguagens de programação de alto nível foram GEORGE (General Order Generator), ALPHACODE, STEVE, TIP, GIP e ALGOL . Os tradutores da linguagem Assembler incluíram ZP43 e STAC.
Inventado por Charles Leonard Hamblin em 1957, GEORGE era o que mais se aproximava das linguagens de programação atuais. Ele usava notação polonesa reversa . Por exemplo, para avaliar e = ay 2 + por + c, escreveu-se
a y dup × × b y × + c + (e).
onde "dup" duplica a entrada anterior, sendo o mesmo que usar "y" aqui.
GEORGE forneceu um acumulador de 12 posições como uma pilha pop-up push-down. Usar um nome de variável em um programa (por exemplo, 'd') trouxe o valor da variável 'd' para o acumulador (ou seja, empurrou d para o topo da pilha), enquanto colocava um nome entre parênteses {por exemplo, (d )} atribuído à variável 'd' o valor no topo da pilha (acumulador). Para destruir (pop e descartar) o valor no topo da pilha, o ponto-e-vírgula (;) foi usado. O seguinte programa GEORGE lê dez números e imprime seus quadrados:
1, 10 rep (i) read dup × punch ; ]
No programa acima, o comando "dup" duplicou o topo da pilha, de forma que havia então duas cópias do valor no topo da pilha.
GIP (General Interpretive Program) era um programa de controle para manipular programas chamados "tijolos". Seu principal serviço consistia na execução de programas das várias centenas da biblioteca de álgebra linear do DEUCE . A preparação de tal programa envolveu selecionar os tijolos necessários (em cartões perfurados), copiá-los e GIP em um perfurador de reprodução e montar as cópias em um baralho de cartas. Em seguida, palavras-código simples seriam escritas para usar os tijolos para realizar tarefas como: multiplicação de matrizes; inversão de matriz; aritmética de matriz termo a termo (adição, subtração, multiplicação e divisão); resolver equações simultâneas; entrada; e saída. As dimensões das matrizes nunca foram especificadas nas palavras-código. As dimensões foram tiradas das próprias matrizes, de um cartão anterior aos cartões de dados ou das matrizes armazenadas no tambor. Portanto, os programas eram inteiramente gerais. Uma vez escrito, tal programa lidava com qualquer tamanho de matrizes (até a capacidade do tambor, é claro). Um programa curto para ler uma matriz de cartões, transpor a matriz e perfurar os resultados em cartões requer as seguintes palavras-código:
0, 0, 5, 1 5, 0, 120, 2 120, 0, 0, 3
Em cada uma das palavras-código, o quarto número é o número do bloco. A primeira palavra-código especifica que a matriz é lida dos cartões e armazenada no endereço 5 do cilindro; a segunda palavra de código especifica que a matriz no endereço de tambor 5 é transposta e o resultado é armazenado no endereço de tambor 120; e o terceiro socos que resultam em cartas.
STAC era um macro-assembler. A maioria das instruções foi escrita na forma de transferência, em decimal, como 13-16, o que significa copiar a palavra do registro 13 para o registro 16. A localização da instrução não foi especificada. STAC alocou uma instrução para uma palavra em uma linha de retardo e calculou os seis componentes da instrução binária. Ele alocou a próxima instrução para um local que fosse ótimo, para ser executada assim que a instrução anterior fosse concluída, se possível.
O programa a seguir lê um valor n e, em seguida, lê n inteiros binários. Ele perfura o número inteiro e seu quadrado. Comentários em minúsculas explicam a instrução.
1.0 12-24 start the card reader. The location of the program is specified as 1.0. 0-13X read one number (n) from the card reader. The letter X causes the computer to wait until the first row of the card has arrived at the reading station. R2 12-24 start or re-start the card reader. 0-16X read one number to be squared, store it in the multiplier register. 9-24 stop the card reader. 16-21.3 copy the number to the multiplicand register. 30-21.2 clear the low-order bits of the multiplicand register. MULT 10-24 start the card punch. 21.2-29X send the square to the card punch. 9-24 stop the card punch. 27-26 decrement n. 13-28 R1 test for zero. Branch on zero to R1; branch on not zero to R2. R1 1-1X halt; the program is complete.
STAC produziria as seguintes instruções (além do programa binário). A localização da memória de cada instrução é mostrada à esquerda.
1.0 12-24 1.2 0-13X 1.4 12-24 1.6 0-16X 1.8 9-24 1.10 16-21.3 1.13 30-21.2 1.16 0-24 wait 1 1.18 1-1 wait 1 1.20 10-24 1.22 21.2-29X 1.24 9-24 1.26 27-26 1.28 13-28 1.3 1.3 1-1X
Os números de espera e de tempo não são mostrados, exceto para a multiplicação.
Programação
Programar o DEUCE era diferente de outros computadores. A natureza serial das Linhas de Atraso exigia que as instruções fossem ordenadas de forma que, quando uma instrução completasse a execução, a próxima estivesse pronta para emergir de uma Linha de Atraso. Para operações nos registradores únicos, o primeiro tempo em que a próxima instrução poderia ser obedecida foi 64 microssegundos após a presente. Assim, as instruções não foram executadas a partir de locais sequenciais. Em geral, as instruções podem transferir uma ou mais palavras. Consequentemente, cada instrução especificava a localização da próxima instrução. A programação ideal significava que, à medida que cada instrução era executada, a próxima estava emergindo de uma Linha de Atraso. A posição das instruções na loja pode afetar muito o desempenho se a localização de uma instrução não for a ideal.
A leitura dos dados do leitor de cartão era feita em tempo real - cada linha precisava ser lida à medida que passava pelos pincéis de leitura, sem parar. Da mesma forma para o perfurador de cartão; a palavra para uma determinada linha foi preparada com antecedência e tinha que estar pronta quando uma determinada linha do cartão estivesse em posição sob as facas de soco. O modo normal de leitura e perfuração era binário. A entrada e a saída decimais foram realizadas via software.
O armazenamento de alta velocidade consistia em quatro registradores de palavra única de 32 bits cada, três registradores de palavra dupla e dois registradores de palavra quádrupla. Cada palavra de 32 bits dos registradores de palavra dupla e quádrupla pode ser endereçada separadamente. Eles também podem ser acessados como um par e - no caso dos registradores quádruplos - como um grupo de três ou quatro. O armazenamento de instruções consistia em doze linhas de retardo de mercúrio, cada uma com 32 palavras, e numeradas de 1 a 12. A Linha de retardo 11 (DL11) servia como buffer entre o tambor magnético e o armazenamento de alta velocidade. Sendo uma "máquina de transferência", os dados podem ser transferidos uma palavra por vez, um par de palavras por vez e qualquer número de palavras até 33 por vez. Assim, por exemplo, 32 palavras lidas do tambor podem ser transferidas como um bloco para qualquer uma das outras linhas de retardo; quatro palavras poderiam ser transferidas como um bloco de um registrador quádruplo para o outro, ou entre um registrador quádruplo e uma linha de retardo - tudo com uma instrução. As 32 palavras de uma linha de atraso podem ser somadas passando-as para o somador de comprimento único (por meio de uma única instrução).
Por um link especial entre DL10 e um registro, a saber, registro 16, DL10 pode ser usado como uma pilha push-down.
Produção
As três primeiras máquinas foram entregues na primavera de 1955; no final de 1958, um modelo aprimorado DEUCE Mark II apareceu. Esta versão empregava um leitor de cartão e um perfurador combinados. O leitor IBM 528 e o punção combinados se comportaram como as unidades Hollerith separadas nas máquinas DEUCE Mark I anteriores; no entanto, também foi fornecido com conversão de hardware de dados alfanuméricos para BCD na entrada e vice-versa na saída. Os dados também podem ser lidos e perfurados simultaneamente a 100 cartões por minuto. O DEUCE Mark IIA forneceu sete linhas de atraso de mercúrio extras, cada uma com 32 palavras.
Um total de 33 máquinas DEUCE foram vendidas entre 1955 e 1964, sendo duas adquiridas pelo fabricante de motores Bristol Siddeley .
O sucesso do DEUCE foi devido à sua biblioteca de programas com mais de 1000 programas e sub-rotinas.
Características de hardware
DEUCE Mark 0 e I:
Clock rate 1 MHz Word size 32 bits High speed store 384 words Arithmetic: one 32-bit accumulator; one 64-bit accumulator that could be used also as two 32-bit accumulators. addition/subtraction 64 microseconds single length, 96 microseconds double precision Addition of a single-length number to a double-length number, with automatic sign extension, 64 microseconds. multiplication 2080 microseconds division 2112 microseconds magnetic drum 8192 words separate read heads and write heads Track read time 15 ms Head shift time 35 ms card reader speed 200 cards per minute card punch speed 100 cards per minute paper tape reader speed 850 character/second tape: 5, 7, 8-row tape. stopping time: ½ millisecond (m.s.) start time 20 milliseconds paper tape punch speed 25 characters/second tape: 5 or 7 rows Software floating-point (average times): addition/subtraction 6 m.s. multiplication 5½ m.s. division 4½ m.s.
DEUCE MARK II:
As for DEUCE Mark I. A combined IBM 528 card reader and punch could read cards at 200 per minute, and punch at 100 cards per minute. When simultaneously started, the reader and punch ran at 100 cards per minute. Automatic conversion to and from 6-bit characters was provided. This mode was in addition to the programmed conversion provided by the Mark I DEUCE.
DEUCE MARK IA E IIA:
As above, with 7 extra delay lines providing 224 words of high-speed store.
Notas: O multiplicador e o divisor eram assíncronos. Vários inteiros podem ser multiplicados em uma única execução da instrução de multiplicação, inserindo números inteiros no multiplicador ou registradores de multiplicando durante a multiplicação e extraindo resultados durante a multiplicação. Outros efeitos especiais incluem contar os bits em uma palavra e converter Binary Coded Decimal (BCD) em binário. Da mesma forma para a divisão, que pode ser usada para converter inteiros em decimais codificados em binários (BCD) e para converter libras, xelins e pence em pence.
Veja também
Referências
links externos
- "Computador elétrico DEUCE inglês" . uraone.com . Este site possui uma extensa coleção de documentos originais, incluindo programas, sub-rotinas, DEUCE News e boletins.
- Entrevista de história oral com Donald W. Davies , Instituto Charles Babbage , Universidade de Minnesota. Davies descreve os projetos de computador no UK National Physical Laboratory , desde o trabalho de design de Alan Turing em 1947 até o desenvolvimento dos dois computadores ACE . Davies discute um segundo ACE muito maior e a decisão de contratar a English Electric Company para construir o DEUCE - que ele chama de o primeiro computador produzido comercialmente na Grã-Bretanha.
- "The Deuce", um artigo de voo de 1955 sobre o Deuce
- "Computador Elétrico Inglês DEUCE" . users.tpg.com.au .