IBM 7950, также известный как Harvest, был один в своем роде дополнение к компьютеру Stretch, который был установлен в США Агентства национальной безопасности (АНБ). Построенный IBM, он был доставлен в 1962 году и проработал до 1976 года, когда его сняли с эксплуатации. Harvest был разработан для использования в криптоанализе.
В апреле 1958 года был утвержден окончательный дизайн адаптированной АНБ версии компьютера IBM Stretch, и машина была установлена в феврале 1962 года. Инженером-проектировщиком был Джеймс Х. Померен, она была построена IBM в Покипси, штат Нью-Йорк.. Его электроника (изготовленная из того же типа дискретных транзисторов, что и для Stretch) была физически примерно в два раза больше, чем Stretch, к которому она была прикреплена. Harvest добавил небольшое количество инструкций в Stretch и не мог работать независимо.
Оценка, проведенная АНБ, показала, что Harvest был более мощным, чем лучшая коммерчески доступная машина, в 50–200 раз, в зависимости от задачи.
Оборудование, добавленное к компьютеру Stretch, состояло из следующих специальных периферийных устройств:
Благодаря блоку потоковой обработки Harvest мог обрабатывать 3 миллиона символов в секунду.
Ленточная система TRACTOR, входящая в систему HARVEST, была уникальной для своего времени. Он включал шесть ленточных накопителей, которые обрабатывали ленту шириной 1,75 дюйма (44 мм) в картриджах, а также механизм библиотеки, который мог извлекать картридж из библиотеки, устанавливать его на накопитель и возвращать в библиотеку. Скорость передачи и механизм библиотеки были сбалансированы по производительности, так что система могла читать два потока данных с ленты и записывать третий для всей емкости библиотеки, не тратя время на обработку ленты.
Самый важный режим работы Harvest назывался режимом «настройки», в котором процессор был настроен с несколькими сотнями битов информации, а затем процессор работал путем потоковой передачи данных из памяти - возможно, взяв два потока из памяти - и записывая отдельный поток обратно в объем памяти. Два байтовых потока можно объединить, использовать для поиска данных в таблицах или подсчитать для определения частоты различных значений. Значение может быть любым от 1 до 16 смежных битов безотносительно к выравниванию, а потоки могут быть такими же простыми, как данные, размещенные в памяти, или данные, считанные повторно, под управлением дескрипторов multiply-nested «do» -loop, которые были интерпретированы оборудованием.
Два языка программирования, Alpha и Beta (не путать с языком программирования BETA, вдохновленным Simula) были разработаны для его программирования, и IBM предоставила компилятор для первого примерно в то время, когда машина была поставлена.
Одной из целей машины был поиск текста по ключевым словам из списка наблюдения. Используя единую систему иностранных шифров, Harvest смог просканировать более семи миллионов расшифровок на наличие любых вхождений более 7000 ключевых слов менее чем за четыре часа.
Компьютер также использовался для взлома кода, и это было улучшено ранней распределенной сетевой системой под кодовым названием Rye, которая позволяла удаленный доступ к Harvest. Согласно отчету АНБ за 1965 год, «RYE позволил агентству обнаружить гораздо больше потенциально уязвимых криптографических систем и« провальных »ситуаций. Многие сообщения, на чтение которых вручную, потребовались бы часы или дни, если бы процесс действительно был возможно, теперь можно «установить» и расшифровать машину за считанные минуты ». Harvest также использовался для расшифровки решаемых систем ; далее в отчете говорится, что «расшифровка большого пакета сообщений в решенной системе [также] регулярно обрабатывается этой системой». Система Harvest-RYE стала влиятельным примером компьютерной безопасности ; обзор 1972 года определил RYE АНБ как один из двух «примеров первых попыток достижения« многоуровневой »безопасности».
Harvest использовался до 1976 года, проработав в АНБ четырнадцать лет. Одной из причин его вывода на пенсию было то, что некоторые механические компоненты TRACTOR изношены до невозможности, и не было практического способа их заменить. IBM отказалась преобразовывать архитектуру в более современные технологии.