PDP-10 - PDP-10

PDP-10
Decsystem.svg
DECSystem10-KI10.JPG
Funcionando com o sistema DEC KI-10 na Living Computers: Museum + Labs
Também conhecido como DECsystem-10
Desenvolvedor Digital Equipment Corporation
Produto familiar Processador de dados programado
Modelo Computador mainframe
Data de lançamento 1966 ; 55 anos atrás ( 1966 )
Interrompido 1983 ; 38 anos atrás ( 1983 )
Sistema operacional ITS , TOPS-10 , TENEX , WAITS , sistema de compartilhamento de tempo CompuServe
Plataforma DEC 36 bits
Antecessor PDP-6
Artigos relacionados DECSYSTEM-20
Sistemas PDP-10 na ARPANET destacados em amarelo

O PDP-10 da Digital Equipment Corporation (DEC) , posteriormente comercializado como DECsystem-10 , é uma família de computadores mainframe fabricados a partir de 1966 e descontinuada em 1983. Os modelos dos anos 1970 e posteriores foram comercializados sob o nome DECsystem-10, especialmente como o O sistema operacional TOPS-10 tornou-se amplamente utilizado.

A arquitetura do PDP-10 é quase idêntica à do PDP-6 anterior do DEC , compartilhando o mesmo comprimento de palavra de 36 bits e estendendo ligeiramente o conjunto de instruções (mas com implementação de hardware aprimorada). Alguns aspectos do conjunto de instruções são incomuns, mais notavelmente as instruções de byte , que operam em campos de bits de qualquer tamanho de 1 a 36 bits, inclusive, de acordo com a definição geral de um byte como uma sequência contígua de um número fixo de bits .

O PDP-10 é a máquina que tornou o compartilhamento de tempo comum, e esta e outras características o tornaram um acessório comum em muitas instalações de computação universitárias e laboratórios de pesquisa durante a década de 1970, sendo o mais notável o Laboratório de Computação Aiken da Universidade de Harvard , MIT ' s AI Lab e Project MAC , Stanford 's SAIL , Computer Center Corporation (CCC), ETH (ZIR) e Carnegie Mellon University . Seus principais sistemas operacionais , TOPS-10 e TENEX , foram usados ​​para construir a ARPANET inicial . Por essas razões, o PDP-10 aparece em grande parte no folclore dos primeiros hackers .

Projetos para estender a linha PDP-10 foram eclipsados ​​pelo sucesso do superminicomputador VAX não relacionado , e o cancelamento da linha PDP-10 foi anunciado em 1983. No final de 1980, a DEC teria vendido "cerca de 1500 DECsystem-10s".

Modelos e evolução técnica

Flip Chip de um DEC KA10, contendo 9 transistores, 1971
Quick Latch Memory Bus Terminator, usado em KI10, 1973
Painel traseiro da CPU KL10 Wire-Wrap

O processador PDP-10 original é o KA10, lançado em 1968. Ele usa transistores discretos empacotados com a tecnologia Flip-Chip da DEC , com backplanes envolto em um processo de fabricação semiautomático. Seu tempo de ciclo é de 1 μs e seu tempo de adição de 2,1 μs. Em 1973, o KA10 foi substituído pelo KI10, que usa lógica transistor-transistor (TTL) SSI . A isso se juntou em 1975 o KL10 de alto desempenho (variantes posteriores mais rápidas), que é construído a partir da lógica acoplada ao emissor (ECL), microprogramado e tem memória cache . O desempenho do KL10 foi de cerca de 1 megaflops usando números de ponto flutuante de 36 bits na redução da linha da matriz. Foi um pouco mais rápido do que o VAX-11/750 mais recente, embora mais limitado na memória.

Um modelo menor e menos caro, o KS10, foi lançado em 1978, usando componentes bit-slice TTL e Am2901 e incluindo o PDP-11 Unibus para conectar periféricos. O KS10 foi comercializado como DECsystem-2020, parte da linha DECsystem-20; foi a entrada da DEC na arena de processamento distribuído e foi apresentado como "o sistema de computador mainframe de menor custo do mundo".

KA10

O KA10 tem uma capacidade máxima de memória principal (virtual e física) de 256 kilowords (equivalente a 1152 kilobytes ); a memória principal mínima necessária é de 16 kilowords. Conforme fornecido pela DEC, não incluía hardware de paginação ; o gerenciamento de memória consiste em dois conjuntos de registros de proteção e realocação, chamados de registros de base e limites . Isso permite que cada metade do espaço de endereço de um usuário seja limitada a uma seção definida da memória principal , designada pelo endereço físico básico e pelo tamanho. Isso permite o modelo de segmento de código compartilhável somente leitura separado (normalmente o segmento alto) e segmento de dados / pilha de leitura e gravação (normalmente o segmento baixo) usado pelo TOPS-10 e posteriormente adotado pelo Unix . Algumas máquinas KA10, primeiro no MIT e depois em Bolt, Beranek e Newman (BBN), foram modificadas para adicionar memória virtual e suporte para paginação por demanda e mais memória física.

O KA10 pesa cerca de 1.920 libras (870 kg).

A 10/50 era a máquina Uni-processor KA top de linha na época em que o pacote de software PA1050 foi lançado. Dois outros modelos KA10 eram o uniprocessador 10/40 e o processador duplo 10/55.

KI10

O KI10 introduziu suporte para gerenciamento de memória paginada e também oferece suporte a um espaço de endereço físico maior de 4 megawords . Os modelos KI10 incluem 1060, 1070 e 1077, este último incorporando duas CPUs.

KL10

KL10-DA 1090 CPU e 6 módulos de memória

Os modelos originais KL10 PDP-10 (também comercializado como DECsystem-10) (1080, 1088, etc.) usam o barramento de memória PDP-10 original, com módulos de memória externos. Módulo, neste contexto, significa um gabinete com dimensões aproximadas (LxAxP) 30 x 75 x 30 pol. Com uma capacidade de 32 a 256 kWords de memória de núcleo magnético (a imagem do lado direito da introdução mostra seis desses gabinetes). Os processadores usados ​​no DECSYSTEM-20 (2040, 2050, 2060, 2065), comumente mas incorretamente chamados de "KL20", usam memória interna, montada no mesmo gabinete da CPU . Os modelos 10xx também possuem embalagens diferentes; eles vêm nos gabinetes altos PDP-10 originais, ao invés dos curtos usados ​​posteriormente para o DECsystem-20. As diferenças entre os modelos 10xx e 20xx eram principalmente o sistema operacional que eles executavam, TOPS-10 ou TOPS-20. Além disso, as diferenças são mais cosméticas do que reais; alguns sistemas 10xx têm memória interna e E / S "estilo 20" e alguns sistemas 20xx têm memória externa "estilo 10" e um barramento de E / S. Em particular, todos os sistemas ARPAnet TOPS-20 tinham um barramento de E / S porque a interface AN20 IMP era um dispositivo de barramento de E / S. Ambos podem executar o microcódigo TOPS-10 ou TOPS-20 e, portanto, o sistema operacional correspondente.

Modelo B

A versão posterior do Modelo B dos processadores 2060 remove o limite de 256 quilos de palavras no espaço de endereço virtual, suportando até 32 "seções" de até 256 quilowords cada, junto com mudanças substanciais no conjunto de instruções. As duas versões são CPUs efetivamente diferentes. O primeiro sistema operacional que tira proveito dos recursos do Modelo B é o TOPS-20 versão 3, e o endereçamento estendido do modo de usuário é oferecido no TOPS-20 versão 4. As versões do TOPS-20 após a versão 4.1 são executadas apenas em um Modelo B.

O TOPS-10 versões 7.02 e 7.03 também usam endereçamento estendido quando executado em um processador 1090 (ou 1091) Modelo B executando o microcódigo TOPS-20.

MCA25

A atualização final para o KL10 foi a atualização MCA25 de 2060 para 2065 (ou de 1091 para 1095), que deu alguns aumentos de desempenho para programas executados em várias seções.

Massbus

A arquitetura de E / S das máquinas KL da série 20xx é baseada em um projeto de barramento DEC chamado Massbus . Enquanto muitos atribuíram o sucesso do PDP-11 à decisão da DEC de tornar o PDP-11 Unibus uma arquitetura aberta, a DEC voltou à filosofia anterior com o KL, tornando o Massbus único e proprietário. Consequentemente, não havia fabricantes de periféricos de pós-venda que fizessem dispositivos para o Massbus, e a DEC optou por precificar seus próprios dispositivos Massbus, notavelmente o drive de disco RP06, com um prêmio substancial acima dos dispositivos compatíveis com IBM comparáveis. A CompuServe, por exemplo, projetou seu próprio controlador de disco alternativo que poderia operar no Massbus, mas se conectar a subsistemas de disco 3330 estilo IBM.

Processadores front-end

Frontend KL10 PDP-11/40

As máquinas da classe KL não podem ser iniciadas sem a ajuda de um processador front-end PDP-11/40 instalado em cada sistema. O PDP-11 é inicializado a partir de uma unidade de disco RP06 de porta dupla (ou alternativamente a partir de uma unidade de disquete de 8 " ou DECtape ) e, em seguida, os comandos podem ser dados ao PDP-11 para iniciar o processador principal, que normalmente é inicializado a partir de o mesmo drive de disco RP06 que o PDP-11. O PDP-11 executa as funções de watchdog quando o processador principal está funcionando.

A comunicação com mainframes IBM, incluindo Remote Job Entry (RJE), foi realizada por meio de um processador front-end DN61 ou DN-64, usando um PDP-11/40 ou PDP-11 / 34a.

KS10

KS10

O KS10 é um PDP-10 de baixo custo construído com chips AMD 2901 bit-slice , com um microprocessador Intel 8080A como processador de controle. O projeto KS10 foi alterado para ser um Modelo A, embora a maioria dos caminhos de dados necessários para suportar a arquitetura do Modelo B estejam presentes. Sem dúvida, a intenção era segmentar o mercado , mas encurtou muito a vida útil do KS10.

O sistema KS usa um procedimento de inicialização semelhante ao KL10. O processador de controle 8080 carrega o microcódigo de um disco ou fita magnética RM03, RM80 ou RP06 e, em seguida, inicia o processador principal. O 8080 alterna os modos após a inicialização do sistema operacional e controla o console e as portas seriais de diagnóstico remoto.

Unidades de fita magnética

Dois modelos de unidades de fita foram suportados pelo subsistema TM10 Magnetic Tape Control:

  • Transporte de fita magnética TU20 - 45 ips (polegadas / segundo)
  • Transporte de fita magnética TU30 - 75 ips (polegadas / segundo)
  • Transporte de fita magnética TU45 - 75 ips (polegadas / segundo)

Uma combinação de até oito deles pode ser suportada, fornecendo dispositivos de sete e / ou nove trilhas . O TU20 e o TU30 vieram nas versões A (9 trilhas) e B (7 trilhas), e todas as unidades de fita mencionadas anteriormente podiam ler / gravar de / para fitas compatíveis com IBM de 200 BPI , 556 BPI e 800 BPI.

O controlador TM10 Magtape estava disponível em dois submodelos:

  • TM10A roubou ciclo de / para a memória PDP-10 usando o processador aritmético KA10
  • TM10B acessou a memória PDP-10 usando um canal de dados DF10, sem "roubo de ciclo" do processador aritmético KA10

Arquitetura do conjunto de instruções

Registros DEC PDP-10
0 0 . . . 1 7 1 8 . . . 3 5 (posição do bit)
Registros Gerais
 
AC0
R egister 0
  AC1 R egister 1
  AC2 R egister 2
  AC3 R egister 3
  AC4 R egister 4
  AC5 R egister 5
  AC6 R egister 6
  AC7 R egister 7
  AC10 R egister 8
  AC11 R egister 9
  AC12 R egister 10
  AC13 R egister 11
  AC14 R egister 12
  AC15 R egister 13
  AC16 R egister 14
  AC17 R egister 15
Contador de programa e sinalizadores de status
Sinalizadores de programa 00000 PC P rogram C ounter

Observe que a ordem de numeração dos bits é diferente de alguns outros processadores DEC e de muitos processadores mais novos.

Dos primeiros PDP-6s ao KL-10 e KS-10, a arquitetura do conjunto de instruções do modo de usuário é basicamente a mesma. Esta seção cobre essa arquitetura. A única mudança importante na arquitetura é a adição de endereçamento estendido de várias seções no KL-10; o endereçamento estendido, que muda o processo de geração do endereço efetivo de uma instrução, é brevemente discutido no final.

Endereçando

O PDP-10 tem palavras de 36 bits e endereços de palavras de 18 bits . No modo supervisor, os endereços de instrução correspondem diretamente à memória física. No modo de usuário, os endereços são convertidos em memória física. Os modelos anteriores fornecem ao processo do usuário uma memória "alta" e uma "baixa": os endereços com um bit superior 0 usavam um registro de base e os endereços mais altos usavam outro. Cada segmento é contíguo. Arquiteturas posteriores têm acesso à memória paginada, permitindo espaços de endereço não contíguos. Os registradores de uso geral da CPU também podem ser endereçados como localizações de memória 0-15.

Registros

Existem 16 registradores de 36 bits de uso geral. A metade direita desses registros (diferente do registro 0) pode ser usada para indexação. Algumas instruções operam em pares de registradores. O "PC Word" consiste em um registro de condição de 13 bits (mais 5 bits sempre zero) na metade esquerda e um Contador de programa de 18 bits na metade direita. O registrador de condição, que registra bits extras dos resultados de operações aritméticas ( por exemplo, estouro), pode ser acessado por apenas algumas instruções.

Nos sistemas KA-10 originais, esses registros são simplesmente as primeiras 16 palavras da memória principal. A opção de hardware "registros rápidos" os implementa como registros na CPU, ainda endereçáveis ​​como as primeiras 16 palavras de memória. Alguns softwares se aproveitam disso usando os registradores como um cache de instrução , carregando o código nos registradores e depois pulando para o endereço apropriado; isso é usado, por exemplo, no Maclisp para implementar uma versão do coletor de lixo . Todos os modelos posteriores têm registros na CPU.

Modo Supervisor

Existem dois modos operacionais, modo de supervisor e modo de usuário. Além da diferença na referência de memória descrita acima, os programas do modo supervisor podem executar operações de entrada / saída.

A comunicação do modo de usuário para o modo de supervisor é feita por meio de Unimplemented User Operations (UUOs): instruções que não são definidas pelo hardware e são interceptadas pelo supervisor. Este mecanismo também é usado para emular operações que podem não ter implementações de hardware em modelos mais baratos.

Tipos de dados

Os principais tipos de dados que são diretamente suportados pela arquitetura são a aritmética de inteiro de 36 bits do complemento de dois (incluindo operações bit a bit), ponto flutuante de 36 bits e halfwords. O ponto flutuante estendido de 72 bits é suportado por meio de instruções especiais projetadas para serem usadas em sequências de várias instruções. Os ponteiros de byte são suportados por instruções especiais. Uma palavra estruturada como uma meia "contagem" e uma meia "ponteiro" facilita o uso de regiões limitadas da memória, notadamente pilhas .

Instruções

O conjunto de instruções é muito simétrico. Cada instrução consiste em um opcode de 9 bits, um código de registro de 4 bits e um campo de endereço efetivo de 23 bits, que consiste, por sua vez, em um bit indireto de 1 bit, um código de registro de 4 bits e um de 18 bits Deslocamento. A execução da instrução começa calculando o endereço efetivo. Ele adiciona o conteúdo do registro fornecido (se não for o registro zero) ao deslocamento; então, se o bit indireto for 1, uma "palavra indireta", contendo um bit indireto, código de registro e deslocamento nas mesmas posições das instruções, é buscada no endereço calculado e o cálculo do endereço efetivo é repetido usando essa palavra, adicionando o registro (se não o registro zero) ao deslocamento, até que uma palavra indireta com um bit indireto zero seja alcançada. O endereço efetivo resultante pode ser usado pela instrução para buscar o conteúdo da memória ou simplesmente como uma constante. Assim, por exemplo, MOVEI A, 3 (C) adiciona 3 aos 18 bits inferiores do registro C e coloca o resultado no registro A, sem tocar na memória.

Existem três classes principais de instrução: aritmética, lógica e movimento; salto condicional; salto condicional (que pode ter efeitos colaterais). Existem também várias classes menores.

As operações aritméticas, lógicas e de movimento incluem variantes que operam imediato para registrar, memória para registrar, registro para memória, registro e memória para ambos ou memória para memória. Uma vez que os registros podem ser endereçados como parte da memória, as operações de registro para registro também são definidas. (Nem todas as variantes são úteis, apesar de serem bem definido.) Por exemplo, a operação ADD tem como variantes ADDI (adicionar um 18-bit I mmediate constante para um registo), ADDM (conteúdos registar-se Adicionar a uma M localização Emory) , ADDB (adiciona a B oth, ou seja, adiciona o conteúdo do registro à memória e também coloca o resultado no registro). Um exemplo mais elaborado é HLROM ( H alf L EFT para R ight, O nes a M emory), que toma a metade esquerda do conteúdo do registro, os coloca na metade direita do local de memória, e substitui a metade esquerda do localização da memória com uns. As instruções de meia palavra também são usadas para listas vinculadas: HLRZ é o operador Lisp CAR; HRRZ é CDR.

As operações de salto condicional examinam o conteúdo do registro e saltam para um determinado local, dependendo do resultado da comparação. Todos os mnemônicos para essas instruções começam com JUMP, JUMPA significa "pula sempre" e JUMP significa "pula nunca" - como consequência do design simétrico do conjunto de instruções, ele contém vários autônomos, como JUMP. Por exemplo, JUMPN A, LOC salta para o endereço LOC se o conteúdo do registro A for diferente de zero. Existem também saltos condicionais baseados no registro de condição do processador usando a instrução JRST. No KA10 e no KI10, o JRST é mais rápido que o JUMPA, portanto, o salto incondicional padrão é o JRST.

As operações de salto condicional comparam o conteúdo do registrador e da memória e ignoram a próxima instrução (que geralmente é um salto incondicional), dependendo do resultado da comparação. Um exemplo simples é CAMN A, LOC que compara o conteúdo do registrador A com o conteúdo da localização LOC e pula a próxima instrução se eles não forem iguais. Um exemplo mais elaborado é TLCE A, LOC (leia "Test Left Complement, skip if Equal"), que usando o conteúdo de LOC como uma máscara, seleciona os bits correspondentes na metade esquerda do registro A. Se todos esses bits são E qual to zero, pula a próxima instrução; e, em qualquer caso, substitua esses bits por seu complemento booleano.

Algumas classes de instrução menores incluem as instruções shift / rotate e as instruções de chamada de procedimento. Particularmente notáveis ​​são as instruções de pilha PUSH e POP, e as instruções de chamada de pilha correspondentes PUSHJ e POPJ. As instruções de byte usam um formato especial de palavra indireta para extrair e armazenar campos de bits de tamanho arbitrário, possivelmente avançando um ponteiro para a próxima unidade.

Endereçamento estendido

Em processadores que suportam endereçamento estendido, o espaço de endereço é dividido em "seções". Um endereço de 18 bits é um "endereço local", contendo um deslocamento dentro de uma seção, e um "endereço global" é de 30 bits, dividido em um número de seção de 12 bits na parte inferior dos 18 bits superiores e um de 18 bits deslocamento dentro dessa seção nos 18 bits inferiores. Um registro pode conter um "índice local", com um deslocamento não sinalizado de 18 bits ou endereço local nos 18 bits inferiores, ou um "índice global", com um deslocamento não sinalizado de 30 bits ou endereço global nos 30 bits inferiores. Uma palavra indireta pode ser uma "palavra indireta local", com seu bit mais alto definido, os próximos 12 bits reservados e os bits restantes sendo um bit indireto, um código de registro de 4 bits e um deslocamento de 18 bits, ou um "palavra indireta global", com seu bit superior limpo, o próximo bit sendo um bit indireto, os próximos 4 bits sendo um código de registro e os 30 bits restantes sendo um deslocamento.

O processo de cálculo do endereço efetivo gera um número de seção de 12 bits e um deslocamento de 18 bits dentro desse segmento.

Programas

O sistema operacional PDP-10 original era simplesmente chamado de "Monitor", mas mais tarde foi renomeado para TOPS-10 . Eventualmente, o próprio sistema PDP-10 foi renomeado para DECsystem-10. As primeiras versões do Monitor e TOPS-10 formaram a base do sistema operacional WAITS de Stanford e do sistema de compartilhamento de tempo CompuServe .

Com o tempo, alguns operadores PDP-10 começaram a executar sistemas operacionais montados a partir de componentes principais desenvolvidos fora da DEC. Por exemplo, o Scheduler principal pode vir de uma universidade, o Disk Service de outra e assim por diante. Os serviços comerciais de compartilhamento de tempo, como CompuServe , On-Line Systems (OLS) e Rapidata, mantinham grupos de programação de sistemas internos sofisticados para que pudessem modificar o sistema operacional conforme necessário para seus próprios negócios, sem depender de DEC ou outros. Existem também fortes comunidades de usuários, como DECUS, por meio das quais os usuários podem compartilhar software que desenvolveram.

A BBN desenvolveu seu próprio sistema operacional alternativo, TENEX , que rapidamente se tornou o padrão de fato na comunidade de pesquisa. A DEC posteriormente portou o TENEX para o KL10, aprimorou-o consideravelmente e o nomeou TOPS-20 , formando a linha DECSYSTEM-20.

O MIT , que desenvolveu CTSS, Compatible Time-Sharing System para rodar em seu IBM 709 (e mais tarde um sistema IBM 7094 modificado ), também desenvolveu ITS, Incompatible Timesharing System para rodar em seu PDP-6 (e mais tarde um PDP-10 modificado ); a nomenclatura estava relacionada, já que o hardware IBM e o DEC / PDP eram diferentes, ou seja, "incompatíveis" (apesar de cada um ter uma CPU de 36 bits).

O nome ITS, selecionado por Tom Knight, "foi uma brincadeira" com o nome CTSS.

Tymshare desenvolveu o TYMCOM-X , derivado do TOPS-10, mas usando um sistema de arquivos baseado em páginas como o TOPS-20 .

Clones

De 1971 a 1972, os pesquisadores do Xerox PARC ficaram frustrados com a recusa da alta administração da empresa em deixá-los comprar um PDP-10. A Xerox tinha acabado de comprar a Scientific Data Systems (SDS) em 1969 e queria que o PARC usasse uma máquina SDS. Em vez disso, um grupo liderado por Charles P. Thacker projetou e construiu dois sistemas clones PDP-10 chamados MAXC (pronunciado como Max, em homenagem a Max Palevsky , que vendeu SDS para a Xerox) para seu próprio uso. MAXC também era um backronym para Multiple Access Xerox Computer. MAXC executou uma versão modificada do TENEX .

As tentativas de terceiros de vender clones PDP-10 foram relativamente malsucedidas; consulte Foonly , Systems Concepts e XKL .

Uso da CompuServe

Uma das maiores coleções de sistemas de arquitetura DECsystem-10 já montados foi na CompuServe , que, em seu pico, operou mais de 200 sistemas fracamente acoplados em três data centers em Columbus, Ohio . A CompuServe usava esses sistemas como 'hosts', fornecendo acesso a aplicativos comerciais e ao CompuServe Information Service. Enquanto os primeiros sistemas desse tipo foram comprados da DEC, quando a DEC abandonou a arquitetura PDP-10 em favor do VAX , a CompuServe e outros clientes PDP-10 começaram a comprar computadores compatíveis com plugue da Systems Concepts. Em janeiro de 2007, a CompuServe estava operando um pequeno número de máquinas de arquitetura PDP-10 para executar algumas funções de faturamento e roteamento.

As principais fontes de alimentação usadas nas máquinas da série KL eram tão ineficientes que os engenheiros da CompuServe projetaram uma fonte de substituição que usava cerca de metade da energia. A CompuServe se ofereceu para licenciar o projeto de seu fornecimento KL para a DEC gratuitamente se a DEC prometesse que qualquer novo KL comprado pela CompuServe teria o fornecimento mais eficiente instalado. DEC recusou a oferta.

Painel de luz MF10 com lâmpadas LED

Outra modificação feita no PDP-10 pelos engenheiros da CompuServe foi substituir as centenas de lâmpadas indicadoras incandescentes no gabinete do processador KI10 por módulos de lâmpadas LED. O custo de conversão foi facilmente compensado pela economia de custos no uso de eletricidade, redução do calor e mão de obra necessária para substituir as lâmpadas queimadas. A Digital seguiu essa etapa em todo o mundo. A imagem do lado direito mostra o painel de luz da memória MF10 que é contemporânea da CPU KI10. Este item faz parte de um museu de informática e foi preenchido com LEDs em 2008 apenas para fins de demonstração. Não havia bancos semelhantes de lâmpadas indicadoras nos processadores KL e KS.

Cancelamento e influência

O PDP-10 foi eventualmente eclipsado pelas máquinas de superminicomputador VAX (descendentes do PDP-11 ) quando a DEC reconheceu que as linhas de produtos PDP-10 e VAX estavam competindo entre si e decidiu concentrar seus esforços de desenvolvimento de software no VAX mais lucrativo . O cancelamento da linha de produtos PDP-10 foi anunciado em 1983, incluindo o cancelamento do projeto Jupiter em andamento para produzir um novo processador PDP-10 high-end (apesar de o projeto estar em boa forma no momento do cancelamento) e o projeto Minnow para produzir um desktop PDP-10, que pode estar na fase de prototipagem.

Este evento significou a ruína do ITS e das culturas técnicas que geraram o arquivo de jargão original , mas na década de 1990 tornou-se uma espécie de medalha de honra entre os hackers antigos ter experimentado um PDP-10.

As instruções em linguagem assembly PDP-10 LDB e DPB (load / deposit byte ) vivem como funções na linguagem de programação Common Lisp . Consulte a seção "Referências" no artigo LISP . O tamanho da palavra de 36 bits do PDP-6 e do PDP-10 foi influenciado pela conveniência de programação de ter 2 ponteiros LISP, cada um com 18 bits, em uma palavra.

Will Crowther criou Adventure , o protótipo do jogo de aventura para computador, para um PDP-10. Don Daglow criou o primeiro jogo de beisebol para computador (1971) e Dungeon (1975), o primeiro videogame RPG em um PDP-10. Walter Bright criou originalmente o Empire para o PDP-10. Roy Trubshaw e Richard Bartle criaram o primeiro MUD em um PDP-10. Zork foi escrito no PDP-10. A Infocom usou PDP-10s para desenvolvimento e teste de jogos.

Bill Gates e Paul Allen escreveram originalmente Altair BASIC usando um simulador Intel 8080 rodando em um PDP-10 na Universidade de Harvard . Allen modificou o PDP-10 assembler para se tornar um cross assembler para o chip 8080. Eles fundaram a Microsoft logo depois.

Emulação ou simulação

O software para simulação de computadores históricos, SIMH , contém módulos para emular todos os modelos de CPU PDP-10 em uma máquina Windows ou baseada em Unix. Cópias das fitas de distribuição originais da DEC estão disponíveis para download na Internet para que um sistema TOPS-10 ou TOPS-20 em execução possa ser estabelecido. ITS e WAITS também estão disponíveis para SIMH.

O software KLH10 de Ken Harrenstien para sistemas semelhantes ao Unix emula um processador KL10B com endereçamento estendido e 4 MW de memória ou um processador KS10 com 512 KW de memória. A emulação KL10 suporta v.442 do microcódigo KL10, o que permite que ele execute as versões finais de TOPS-10 e TOPS-20. A emulação KS10 suporta o microcódigo ITS v.262 para a versão final do KS10 ITS e o microcódigo DEC v.130 para as versões finais do KS TOPS-10 e TOPS-20.

Este artigo é baseado em parte no Jargon File , que é de domínio público.

Veja também

Referências

Fontes

Leitura adicional

links externos

Newsgroups