Введение
Компьютерная система IBM 709 – это компьютерная система, впервые анонсированная IBM в январе 1957 года и установленная в августе 1958 года. 709 была улучшенной версией своего предшественника, IBM 704, и являлась третьей в серии научных компьютеров IBM 700/7000. Улучшения включали наложение операций ввода-вывода, косвенную адресацию и три "преобразующих" инструкции, обеспечивающие поддержку десятичной арифметики, подавление ведущих нулей и ряд других операций. 709 имела 32 768 слов магнитной памяти на ферритовых сердечниках объемом 36 бит и могла выполнять 42 000 инструкций сложения или вычитания в секунду. Она могла умножать два 36-битных целых числа со скоростью 5000 операций в секунду. Опциональный аппаратный эмулятор позволял выполнять старые программы IBM 704 на IBM 709. Это был первый коммерчески доступный эмулятор. Регистры и большинство инструкций 704 были эмулированы в аппаратной части 709. Сложные инструкции 704, такие как ловушка для чисел с плавающей точкой и подпрограммы ввода-вывода, эмулировались в программном обеспечении 709. Для 709 была разработана программа ассемблирования FORTRAN. Это была крупная система; установки у заказчиков потребляли от 100 до 250 кВт для работы и почти столько же на охлаждение. Весила около (без периферийного оборудования). 709 была построена на вакуумных лампах. IBM анонсировала транзисторную версию 709, IBM 7090, в 1958 году, всего через год после анонса 709, что привело к сокращению срока службы 709.
The IBM 709 is a computer system that was initially announced by IBM in January 1957 and first installed during August 1958. The 709 was an improved version of its predecessor, the IBM 704, and was the third of the IBM 700/7000 series of scientific computers. The improvements included overlapped input/output, indirect addressing, and three "convert" instructions which provided support for decimal arithmetic, leading zero suppression, and several other operations. The 709 had 32,768 words of 36 bit magnetic core memory and could execute 42,000 add or subtract instructions per second. It could multiply two 36 bit integers at a rate of 5000 per second. An optional hardware emulator executed old IBM 704 programs on the IBM 709. This was the first commercially available emulator. Registers and most 704 instructions were emulated in 709 hardware. Complex 704 instructions such as floating point trap and input output routines were emulated in 709 software. The FORTRAN Assembly Program was introduced for the 709. It was a large system; customer installations used 100 to 250 kW to run them and almost as much again on the cooling. It weighed about (without peripheral equipment). The 709 was built using vacuum tubes. IBM announced a transistorized version of the 709, called the IBM 7090, in 1958, only a year after the announcement of the 709, thus cutting short the 709's product life.
Реестры
+ IBM 709 регистры 37 36 35 31 23 15 14 07 00 (позиция бита) Регистры данных Аккумулятор Аккумуляторный множитель / Частное Множитель Индексные регистры I1 Индекс 1 I2 Индекс 2 I3 Индекс 3 Счетчик программы ПК Счетчик программы
В IBM 709 имеется 38-битный аккумулятор, 36-битный регистр множителя/частного и три 15-битных индексных регистра, содержимое которых вычитается из базового адреса, а не прибавляется к нему. Все три индексных регистра могут участвовать в одной инструкции: 3-битовое поле тега в инструкции является битовой картой, определяющей, какие из регистров участвуют в операции. Однако, если указано более одного индексного регистра, их содержимое объединяется логическим ИЛИ, а не сложением. С. 12
Формат инструкции и данных
Существует пять форматов инструкций, называемых типами A, B, C, D и E.
Инструкции типа A имеют последовательность: 3-битный префикс (код инструкции), 15-битное поле декремента, 3-битное поле тега и 15-битное поле адреса. Это условные переходы, основанные на значениях в регистрах декремента, указанных в поле тега. Некоторые из них также вычитают поле декремента из содержимого индексных регистров. Реализация требует, чтобы вторые два бита кода инструкции были ненулевыми, что дает в общей сложности шесть возможных инструкций типа А. Один из них (STR, код инструкции в двоичном виде 101) не был реализован до IBM 709. Инструкции типа B имеют последовательность: 12-битный код инструкции (второй и третий биты установлены в 0 для отличия от инструкций типа А), 2-битное поле флага, четыре неиспользуемых бита, 3-битное поле тега и 15-битное поле адреса. Типы C, D и E используются для специализированных инструкций. Числа с фиксированной точкой хранятся в двоичном формате знак/величина. Числа с плавающей точкой одинарной точности имеют знак, 8-битный экспонент со смещением 128 и 27-битовую мантиссу (скрытого бита не было). Алфавитно-цифровые символы представлены 6-битным BCD, упакованным по шесть символов в слово. Набор инструкций неявно подразделяет формат данных на те же поля, что и инструкции типа А: префикс, декремент, тег и адрес. Существуют инструкции для изменения каждого из этих полей в слове данных, не изменяя остальную часть слова.
Канал ввода/вывода
Основные улучшения модели 709 по сравнению с предыдущей моделью 704 заключались в увеличенном объеме памяти на магнитных сердечниках и, по всей видимости, в первом применении независимых каналов ввода-вывода. В то время как в модели 704 ввод-вывод является программно реализованной функцией центрального процессора, где слова данных передаются в регистр ввода-вывода или из него по одному за раз с помощью инструкции "копировать", модель 709 использует синхронизатор данных IBM 766, обеспечивающий два независимо "программируемых" канала ввода-вывода. К модели 709 можно было подключить до трех синхронизаторов данных, каждый из которых мог управлять до 20 ленточных накопителей IBM 729, а также алфавитно-цифровым строчным принтером IBM 716, считывателем карт IBM 711 и перфоратором карт 721. Это позволяло подключить в шесть раз больше устройств ввода-вывода к модели 709 и обеспечивало возможность одновременной работы ввода-вывода с несколькими устройствами, в то время как выполнение программы продолжалось параллельно. До двух блоков магнитной барабанной памяти IBM 733, каждый объемом 8192 слова, могли быть подключены независимо от синхронизаторов данных. Модель 709 могла первоначально загружать программы (выполнять загрузку) с карт, лент или барабана. Магнитная память на сердечниках IBM 738, использовавшаяся в модели 709, также стала важной вехой в развитии гибридных технологий. Хотя драйверы массивов сердечников были полностью реализованы на вакуумных лампах, усилители считывания были одним из первых применений транзисторов в вычислительной технике.