Jump to content

Английский электрический KDF8

Английский электрический KDF8
Разработчик Английский электрический
Производитель Английский электрический
Поколение 1
Дата выпуска 1961 год ; 63 года назад ( ( 1961 ) как KDP10 )
Продолжительность жизни 5 лет
Начальная цена £400,000
Продано единиц 13
Память ( Память с магнитным сердечником )
Хранилище Магнитные ленты
Съемное хранилище Бумажная лента

KDF8 — ранний британский компьютер, созданный компанией English Electric как версия RCA 501 . Целью создания программно-совместимой системы было сокращение времени и затрат на разработку программного обеспечения. Однако длительный процесс развития производственных мощностей привел к тому, что систему вскоре опередили системы других поставщиков. За 5 лет производства было продано всего несколько систем. В результате консолидации британской компьютерной индустрии компьютерное подразделение English Electric стало одним из компонентов того, что впоследствии стало ICL .

В конце 1950-х годов компания English Electric приступила к реализации двух крупных компьютерных проектов.

Во-первых, компания English Electric создала версию компьютера RCA 501 , известную как KDP10 (KDP для обработки данных Kidsgrove). Это была машина, предназначенная для коммерческих приложений по обработке данных, с инструкциями фиксированной длины и возможностями обработки числовых и буквенно-цифровых данных переменной длины. Первоначальная конструкция RCA была адаптирована для использования типов транзисторов, диодов и других компонентов, производимых в Великобритании. KDP10 впервые был поставлен в 1961 году. В 1964 году он был переименован в KDF8, и продажи продолжались до 1965 года. [1] По сути машина была такой же, как RCA 501, и производилась по лицензии, чтобы English Electric могла предлагать полный спектр компьютерных систем всем своим клиентам без затрат на разработку совершенно новой машины. Машина была продана за 400 000 фунтов стерлингов. Было продано всего 13. [2] [3]

Вторым большим компьютером, появившимся в результате опытно-конструкторских работ в Кидсгроув, был KDF9 , предназначенный в первую очередь для научной работы.

Один KDF8 был установлен на территории компьютерного бюро The English Electric Company в Кидсгроув (Стаффордшир). С годами и после ряда слияний эта организация превратилась в English Electric Leo Marconi (EELM), International Computing Services Limited (ICSL) и, наконец, в соответствии с совместным соглашением между ICL и Barclay's Bank , Baric.

Основные функции

[ редактировать ]

Процессор/основной магазин

[ редактировать ]

KDF8 представлял собой транзисторную машину с памятью на магнитных сердечниках . Основная память машины, установленной в компьютерном бюро Kidsgrove, была увеличена с 64 КБ до максимального на тот момент 96 КБ. KDF8 использовал восьмеричную (восьмерочную) систему адресации. Инструкция машинного кода имела фиксированную длину — десять восьмеричных символов. Набор инструкций был специально разработан для коммерческого использования. В нем были инструкции на уровне машинного кода для всех четырех функций десятичной арифметики, работающих с числами переменной длины, а также инструкции для эффективного манипулирования строками данных переменной длины. Не для всех инструкций требовались все десять символов. Учитывая минимальный объем доступной оперативной памяти, программисты часто использовали «запасные» символы в инструкциях для хранения констант и аналогичные приемы экономии памяти.

KDF8 был строго компьютером пакетной обработки, выполнявшим одну программу за раз. Одновременно могла обрабатываться только одна вычислительная инструкция, но также было возможно параллельное выполнение одной инструкции чтения и/или записи (обычно с и на магнитную ленту). Для контроля степени синхронности работы использовалась система аппаратных «вентилей», установленная и проверенная на уровне машинного кода. Однако, поскольку какой-либо операционной системы не было, это приходилось полностью контролировать на уровне отдельной программы.

KDP10 в сервисном бюро обновлялся на месте, так как система была построена на германиевых транзисторах RCA. Часть обновления заключалась в преобразовании основной логики на кремниевые транзисторы. Также был добавлен трехсимвольный сумматор адресов, а машинный цикл составлял 15 микросекунд с шестью тактирующими импульсами, где шестой импульс предназначался для времени установления, таким образом машинный цикл был сокращен до 12,5 микросекунд.

Уровень навыков программиста, позволяющий контролировать полное перекрытие чтения/записи/вычислений, особенно если записи данных были «пакетированы» по несколько в «реальный» блок данных на магнитной ленте, был значительным, поскольку все проверки одновременности приходилось вручную закодировать в программа. Автоматическое обнаружение ошибок по существу ограничивалось аппаратными проверками четности на уровне символов, и не было никаких аппаратных проверок процессора того, что мог сделать программист. Например, компьютер просто остановится, если ему будет дано указание получить доступ к ячейке памяти, находящейся за пределами физической памяти.

Периферийные устройства

[ редактировать ]

Не было магнитных дисков, барабанов или других подобных устройств временного хранения информации. Массовое хранение ограничивалось магнитными лентами на открытых катушках, каждая катушка имела толщину около одного дюйма и девять дюймов (229 мм) в поперечнике, вмещая максимум 2400 футов (730 м) ленты. На этих лентах хранились данные и программы. Проверка ошибок периферийных устройств снова ограничивалась проверкой четности при всех операциях чтения и записи, а также использованием колец разрешения записи. Kidsgrove KDF8 имел восемь подключенных к сети устройств с магнитной лентой, каждый из которых имел скорость чтения/записи 40 тыс. символов в секунду. Каждый ленточный блок имел высоту около 6 футов (1,8 м) и ширину 2 фута (0,61 м), а шкафы процессора и памяти были примерно одинаковыми по размеру и количеству. Для конфигурации Kidsgrove требовалась большая комната с кондиционером.

Восемь считалось рабочим максимальным количеством ленточных накопителей, по одному на канал, для любой фактической конфигурации KDF8. Каждый ленточный канал можно было разделить с помощью дополнительных аппаратных устройств на подгруппу из восьми кассетных дек, что давало теоретически максимум 61 лентопротяжное устройство, работающее в режиме онлайн. (Для других устройств требовалось как минимум три уникальных идентификатора канала ввода-вывода.)

Были доступны и другие пары ленточного накопителя и принтера, способные работать независимо от мэйнфрейма. Они обеспечивали возможность автономной печати больших объемов продукции, освобождая KDF8 для выполнения другой работы.

Другие периферийные устройства включали:

  • устройство чтения бумажной ленты (1000cps) для ввода данных и (начального) программы,
  • телетайп оператора (со встроенным медленным перфоратором бумажной ленты), позволяющий программам отображать информацию оператору, а оператору использовать клавиатуру для записи коротких программ или элементов данных на бумажную ленту. Этот телетайп нельзя было использовать для ввода данных непосредственно в компьютер, все команды оператора приходилось вводить через консоль оператора.
  • онлайн-принтер, используемый в основном для дампов ядра отказавших программ.

Как онлайновые, так и автономные принтеры были ударными принтерами, способными печатать строку длиной 120 или 160 символов, в зависимости от модели. Они были с одним шрифтом, без нижнего регистра. Бумага, сложенная веером для принтеров, была непрерывной, с перфорацией между страницами и отверстиями для звездочек на каждой стороне бумаги для механизма подачи бумаги. Нестандартные размеры бумаги с предварительно напечатанными строками/текстом/цветами и т. д. были обычным явлением, особенно для таких приложений, как расчет заработной платы, и требовались небольшие контуры управления бумажной лентой, чтобы согласовать размер страницы с каждым типом бумаги.

Набор инструкций

[ редактировать ]

Каждая инструкция машинного кода KDF8 имела формат

ОО ААА РР БББ

В этом представлении

OO представляет собой двух-(восьмеричный) код операции, идентифицирующий выполняемую команду, в диапазоне от 00 до 77. AAA представляет собой шестизначный (восьмеричный) адрес ядра «А» в диапазоне от 000000 до 777777. (Теоретический 1 Мегабайта основного хранилища с прямой адресацией, фактически 96 КБ!) RR представляет собой двухсимвольную настройку регистра (по одному символу для каждого из двух возможных регистров с номерами от 1 до 7, используемых для изменения адресов «A» и «B», где 0 указывает на отсутствие изменения регистра) и BBB представляет адрес «B», такой же, как и адрес «A» по формату.

Инструкции по очереди считывались из основного хранилища в регистры, а затем выполнялись.

Пример. Инструкция для чтения данных из онлайн-считывателя бумажных лент в местоположения, начиная с местоположения магазина (восьмеричного) 200000, будет выглядеть так:

14 200000 00 770000 (пробелы только для ясности)

Где 14 было кодом операции для этого типа чтения, 200000 было самой нижней ячейкой хранилища, в которую данные будут считываться, 00 указывает, что никакая модификация регистра не должна была выполняться по адресам A или B инструкции, а 77 было ( исправлено) идентификатор устройства устройства чтения бумажной ленты. (Примечание: использование 77 в качестве идентификатора устройства для операции записи будет направлять запись на телетайп оператора. Было бы неловко, если бы это произошло из-за ошибки программы, и это был большой блок данных, предназначенный для магнитной ленты.....) последние четыре восьмеричных символа (0000) не требуются в этой инструкции и будут игнорироваться при обработке инструкции. Такие «запасные» символы встречались часто, учитывая чрезвычайно ограниченную доступную основную память, используемую программистами для хранения констант.

Некоторые аспекты набора команд были усовершенствованы и значительно упростили программирование коммерческих систем.

Коды операций 51–54 выполняли десятичные арифметические действия: сложение, вычитание, умножение и деление над числами переменной длины, хранящимися в виде десятичных символов. Один конец каждого операнда хранился по адресам «A» и «B» инструкции. Другой конец обозначался ISS (символом-разделителем элементов), восьмеричным числом 74. Таким образом, числа могли быть любой длины. Команда «Сравнение секторов» (восьмеричная 43) допускала трехстороннее условное ветвление программного управления в зависимости от того, были ли данные, хранящиеся в диапазоне от адреса «A» до адреса «B», больше, меньше или равны значение того же количества символов, хранящееся в ячейках слева от (ранее установленного) регистра «T», как пытается продемонстрировать следующая версия языка Ассемблера.


       Tag             Op      A-Address      RR    B-Address
       COMPARE         SET     £T                   SALARY,R
                       SC      TAXLIMIT             TAXLIMIT,R
                       CTC     BELOWTAXLIMIT        ABOVETAXLIMIT
       EQUAL           TC      EQUALTAXLIMIT

В этом примере сравнивается зарплата с налоговым лимитом и происходит переход к одному из трех мест программы в зависимости от соответствующих значений. Соглашение ассемблера ",R" представляет самый правый символ именованного поля. CTC означает «условную передачу контроля», а TC — (безусловную) передачу контроля.

В приведенном выше коде сравнения исходный набор команд (KDP10?) сравнивается справа налево, что требует сравнения всей длины строк данных, посимвольно. KDP8 был усовершенствован для сравнения слева направо, поэтому сравнение можно было остановить, как только относительные значения станут ясными, что значительно ускоряет обработку таких инструкций.

Данные переменной длины обрабатывались с помощью специально обозначенных символов. Символ ISS или разделителя элементов, восьмеричный номер 74, обычно обозначаемый как «可», использовался для разделения полей данных переменной длины. Восьмеричные 75 «<» и 76 «>» обозначали начало и конец сообщения данных, а восьмеричные 777777 по обычаю и практике использовались для обозначения конца файла. Таким образом, такие данные, как имена и адреса, можно записать на бумажную ленту для ввода данных, как (например)

<ЙЭН ● ТЕЙЛОР ● 41 ● ХАЙ-СТРИТ ● ДЕТСКАЯ РОЩА ● ПЕРСОНАЛ>

Различные инструкции могут работать непосредственно с этими данными переменной длины, а записи можно группировать, скажем, по десять штук на магнитную ленту для эффективного хранения. Учитывая относительно низкую (по сегодняшним меркам) скорость процессора и ввода-вывода, важным аспектом задачи программиста было сбалансировать пакетирование данных на ленте с необходимыми вычислениями для каждой записи и организовать одновременный ввод-вывод и вычислительные операции с цель максимизировать перекрытие вычислений с вводом-выводом и избежать остановки кассетных дек между пакетными чтениями.

Программное обеспечение

[ редактировать ]

Операционной системы не было. Программы запускались онлайн-оператором через консоль оператора. Операторы также отвечали за ручную очистку памяти и перенастройку компьютера между программами, монтирование и замену лент, управление автономной печатью и тому подобное.

Некоторые стандартные пакеты программного обеспечения были доступны или стали доступными, и все они были написаны в США организацией RCA. В их число входило следующее.

  • Программа сортировки и слияния, управляемая параметрами, способная обрабатывать очень большие объемы данных. Параметры сортировки можно было либо считывать с устройства чтения бумажной ленты для одноразовой сортировки, либо «скомпилировать» (на самом деле просто сохранить в программе). Существовали обширные пользовательские «крючки», куда можно было вставить предоставленный пользователем код на различных этапах процесса сортировки/слияния.
  • Компилятор языка ассемблера под названием EZ-Code. Некоторое время это не использовалось в коммерческих целях, поскольку время компиляции тогда рассматривалось как большие накладные расходы, но в последующие годы оно стало использоваться все чаще. Чтобы сэкономить компьютерное время, программист обычно выполняет первоначальную компиляцию, проверяет программу вручную, перекомпилирует, а затем тестирует и отлаживает скомпилированную версию программы с машинным кодом, создавая катушку бумаги. записывать в программу исправления машинного кода по мере внесения каждого исправления. Как только будет доступна достаточно надежная копия, изменения будут воспроизведены в ассемблере, а программа перекомпилирована и повторно протестирована. Часто последний этап так и не был завершен полностью, и нередко производственные программы требовали загрузки исправлений машинного кода с бумажной ленты при каждом запуске. Кроме того, ряд крупных коммерческих пакетов для расчета заработной платы, счетов и регистрации акций был написан сотрудниками Бюро до того, как был принят компилятор Ассемблера, и остался полностью в машинном коде. Еще одна странность заключалась в том, что процедуры генерации ввода-вывода ассемблера не использовались одним разделом программирования, который написал свой собственный обобщенный пакет ввода-вывода, называемый Tape Control, на основе форматов таблицы описания файлов COBOL. Это автоматизировало большую часть подверженного ошибкам программирования пакетирования/распаковки записей и контроля одновременных операций чтения/записи и условий конца файла.
  • Компилятор COBOL. Это использовалось очень редко, поскольку ранний опыт был не совсем благоприятным. Заметным исключением была программа проектирования проводки под названием «WRS1», которая использовалась для разработки аппаратного обеспечения для более поздних English Electric KDF9 и System 4 моделей мейнфреймов . Еще одной странностью был препроцессор таблицы решений для программ COBOL, который сам был написан на COBOL. Это представляло некоторый интерес, поскольку сотрудники бюро по программированию в то время экспериментировали с использованием таблиц решений в качестве альтернативы блок-схемам. Однако, хотя эти программисты с некоторым успехом продолжали вручную писать код на ассемблере из рукописных таблиц решений, накладные расходы на компиляцию не позволяли использовать препроцессор.

Чтобы оптимизировать производительность производственных программ, программисты бюро создали стандартные пакеты программного обеспечения для расчета заработной платы, книг продаж и покупок, регистрации акций, контроля запасов и т. д., а некоторые приложения, такие как расчет заработной платы, поддерживали обработку данных от многих клиентов бюро. за один компьютерный запуск, с индивидуальными настройками параметров, отвечающими индивидуальным требованиям заказчика. Более сложные требования клиентов удовлетворялись с помощью специально разработанных программ.

Работа с компьютером

[ редактировать ]

Очень маленький (около 20 инструкций) загрузчик начальной загрузки можно было разместить в начале каждой ленты с программой, но даже этот подход не всегда использовался. Ленточные метки (за исключением управляемых приложений COBOL и Tape Control) практически отсутствовали. Цикл ротации ленты «дедушка-отец-сын» защищал производственные ленты от крупных катастроф, но требовал тщательного ручного управления. Программисты (или сотрудники операционных комплексов управления производством) давали оператору письменные инструкции о том, какую ленту с программой и лентами с данными загружать, на какие устройства, а также письменное описание того, как загружать и запускать каждую программу. Затем оператор загружал ленты, а также загружал и запускал каждую программу по очереди вручную с консоли.

Консоль, состоящая из вертикальной панели дисплея высотой около 10 дюймов (250 мм) и длиной около 5 футов (1,5 м) с слегка наклоненной панелью управления такого же размера под ней. Каждая из этих двух частей была заполнена маркированными кнопками и светящимися индикаторами, каждый (примерно) на квадратный дюйм. Секция дисплея состояла из индикаторов, которые при свечении показывали двоичными (сгруппированными как восьмеричные) символами текущий рабочий (или статический) статус машины на уровне отдельного ядра машины и уровне регистров для операций вычисления, чтения и записи, а затем в ходе выполнения. Когда программа работала, этот дисплей представлял собой калейдоскоп быстро меняющихся, мигающих разноцветных огней. Секция панели управления состояла из кнопок для выбора следующего регистра для установки и центральной части, которая отражала расположение одного адреса ядра машины. Другие кнопки давали доступ к более сложным операциям. Использование этих кнопок позволяло оператору выбирать, а затем напрямую вводить основные ячейки памяти машины и регистрировать восьмеричный шаблон, который он / она ввел вручную. Чтобы оператор ввел одну машинную инструкцию, каждый из десяти восьмеричных символов инструкции должен был быть выбран и введен в качестве его двоичного шаблона - каждый с правильным (нечетным) битом четности.

См. также

[ редактировать ]
  1. ^ Саймон Хью Лавингтон, Ранние британские компьютеры: история старинных компьютеров и людей, которые их построили , Manchester University Press, 1980 ISBN   0719008107 стр. 76
  2. ^ Б. Джек Коупленд (редактор), Электронный мозг Алана Тьюринга: борьба за создание ACE, самого быстрого компьютера в мире , OUP Oxford, 2012, ISBN   0191625868 , стр. 166–168.
  3. ^ А. Ганди, Ранняя компьютерная индустрия: ограничения масштаба и сферы применения , Springer, 2012, ISBN   0230389112 , стр. 196–198.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b014a74c7f40421a706cdfa14df1d259__1720661880
URL1:https://arc.ask3.ru/arc/aa/b0/59/b014a74c7f40421a706cdfa14df1d259.html
Заголовок, (Title) документа по адресу, URL1:
English Electric KDF8 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)