~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 69CE962E5F6AFCDECE6BCEEC7FD70CCF__1715290020 ✰
Заголовок документа оригинал.:
✰ IBM 1130 - Wikipedia ✰
Заголовок документа перевод.:
✰ IBM 1130 — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/IBM_1130 ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/69/cf/69ce962e5f6afcdece6bceec7fd70ccf.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/69/cf/69ce962e5f6afcdece6bceec7fd70ccf__translat.html ✰
Дата и время сохранения документа:
✰ 23.06.2024 15:38:44 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 10 May 2024, at 00:27 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

IBM 1130 — Википедия Jump to content

ИБМ 1130

Из Википедии, бесплатной энциклопедии
ИБМ 1130
Разработчик IBM Бока-Ратон
Производитель ИБМ
Тип миникомпьютер
Дата выпуска 1965  ( 1965 )
Начальная цена ~ 1000 долларов США в месяц за аренду, что эквивалентно примерно 9700 долларам США в 2023 году.
Снято с производства начало 1980-х [1]
Отгружено единиц 10 000 оцен. [1]
Операционная система Дисковый монитор 2 (DM2)
Процессор 16 бит, адресация по словам, 15-битное адресное пространство
Память магнитный сердечник
Хранилище Дисковод IBM 2310
Съемное хранилище Однодисковый картридж IBM 2515
Отображать IBM 1627 Плоттер Calcomp, IBM 2250 , опционально
Вход перфокарта , бумажная лента , консоль
Возможности подключения IBM Адаптер синхронной связи (SCA)
Размеры размер стола: ширина 58,5 дюйма, глубина 29 дюймов, высота 44,125 дюйма. [2]
Масса 660 фунтов [2]
Маркетинговая цель небольшие инжиниринговые компании, школы
Назад
совместимость
через Фортран
Предшественник ИБМ 1620 , ИБМ 650
Преемник IBM серии/1
IBM Система/7
Связанный IBM 1800 Система управления процессами
Веб-сайт IBM1130 .org

Вычислительная система IBM 1130 , представленная в 1965 году, [3] был IBM самым дешевым компьютером на тот момент . Двоичная 16-битная машина продавалась на чувствительных к цене и ресурсоемких технических рынках, таких как образование и инженерия, заменив десятичную IBM 1620 в этом сегменте рынка. Типичные установки включали диск объемом 1 мегабайт, на котором хранилась операционная система, компиляторы и объектные программы, а исходный код программы создавался и сохранялся на перфокартах . Фортран был наиболее распространенным языком программирования, но и несколько других, включая APL . существовало

Консоль IBM 1130

Модель 1130 также использовалась в качестве интеллектуального интерфейса для подключения графического дисплея IBM 2250 или в качестве рабочей станции удаленного ввода заданий (RJE), подключенной к мэйнфрейму System / 360 .

IBM 1130 с периферийными устройствами, включая перфоратор для чтения бумажных лент, IBM 1442 перфоратор для чтения карт (сзади) и плоттер IBM 1627 Calcomp.

Описание [ править ]

Карта SLT двойной ширины от IBM 1130. Квадратные металлические банки содержат гибридные схемы.

Общий объем производства модели 1130 оценивается в 10 000 экземпляров. [4] Модель 1130 занимает место в истории компьютеров, потому что она (и ее клоны, не принадлежащие IBM) позволила многим людям впервые напрямую взаимодействовать с компьютером. Соотношение цены и качества было хорошим, и, в частности, он включал в себя недорогой съемный дисковый накопитель с надежным и простым в использовании программным обеспечением, которое могло быть на нескольких языках высокого уровня. Низкая цена (около 32 000 или 41 000 долларов с дисководом). [3] и хорошо сбалансированный набор функций позволили разработать интерактивную программу «открытого магазина» .

В IBM 1130 используется тот же электронный блок, называемый Solid Logic Technology (SLT), который используется в System/360 . Он имеет 16-битную двоичную архитектуру, как и более поздние миникомпьютеры , такие как PDP-11 и Data General Nova .

Адресное пространство от 1130 до 32 768 16-битных слов ( 65 536 байт составляет 15 бит, что ограничивает объем памяти ). В 1130 используется память на магнитном сердечнике , к которой процессор обращается на границах слов, используя режимы прямой, косвенной и индексной адресации.

Модели [ править ]

IBM реализовала пять моделей центрального процессора 1131, основного компонента обработки IBM 1130. Модели с 1 по 5 описывают время цикла основной памяти, а также способность модели иметь дисковое хранилище. Буквы от A до D, добавленные к номеру модели, указывают объем установленной основной памяти.

Центральный процессор IBM 1131 весит около 760/1050 фунтов (345/477 кг). [5]

  Время цикла памяти
Основная память 3,6 мкс,
нет внутреннего диска
3,6 мкс,
плюс диски
2,2 мкс,
плюс диски
5,9 мкс
(3,6 мкс: см. ниже),
одиночный диск
2,2 мкс,
нет внутреннего диска
4096 слов Модель 1А Модель 2А  ———   Модель 4А  ———  
8192 слова Модель 1Б Модель 2Б Модель 3Б Модель 4Б Модель 5Б
16 384 слова Модель 1С Модель 2С Модель 3С  ———   Модель 5С
32 768 слов Модель 1Д Модель 2D Model 3D  ———   Модель 5Д

Модель 4 была более дешевым продуктом с временем цикла 5,9 мкс. Некоторые покупатели обновлений производительности отметили, что корректировка на месте для достижения улучшения оказалась на удивление тривиальной.

Принтер IBM 1132 использует процессор 1130, а не внутреннюю логику, чтобы определить, когда запускать печатающие колеса во время их вращения. Принтеры для Model 4 работают медленнее, но более медленный процессор все равно за ним не успевает. В руководстве по аппаратному обеспечению указано, что когда Модель 4 обслуживала два прерывания самого высокого уровня (прерывание столбца устройства чтения карт уровня 0 или прерывание принтера уровня 1), она выполнялась с более быстрым временем цикла 3,6 мкс. Некоторые пользователи модели 4 писали фиктивный драйвер принтера , который не отклонял прерывание принтера, чтобы получить выгоду от более высокой скорости процессора. Однако в течение этого интервала отключаются прерывания более низкого уровня, даже прерывание конца карты (уровень 4) от устройства считывания карт 1442.

Последующие продукты [ править ]

IBM 1800 , анонсированный в ноябре 1964 г. [6] является предшественником IBM 1130 для приложений управления процессами . Он использует аппаратное обеспечение, а не основную память для трех индексных регистров и имеет две дополнительные инструкции (CMP и DCM), а также дополнительные возможности прерываний и ввода-вывода . Он является преемником IBM 1710 , так же как IBM 1130 является преемником IBM 1620 .

IBM 1500 — это многопользовательская образовательная система, основанная на IBM 1130 или IBM 1800. Она может подключаться к 32 рабочим станциям учащихся, каждая из которых имеет различные аудиовизуальные возможности.

Помимо них, IBM не производила никаких совместимых систем-преемников 1130. IBM System/7 — это система управления процессами и системой реального времени, а IBM Series/1 — 16-разрядный миникомпьютер общего назначения, оба имеют архитектуру , отличную от 1130 и друг от друга.

Хронология [ править ]

  • 11 февраля 1965 г. - IBM представляет 1130 (модели 1A, 1B, 2A и 2B). Также анонсирован принтер IBM 1132, самый дешевый онлайновый компьютерный принтер, когда-либо анонсированный IBM на тот момент.
  • Четвертый квартал 1965 г. – начинаются первые поставки клиентам с завода в Сан-Хосе.
  • 31 марта 1966 г. - IBM представляет образовательную систему IBM 1500.
  • Апрель 1966 г. – отгрузка IBM 1800. [7] : 497 
  • 9 августа 1966 г. - IBM представляет адаптер синхронной связи 1130, который позволяет подключать небольшую систему 1130 обычными выделенными телефонными линиями к любой модели IBM System / 360 и работать в качестве коммуникационного терминала.
  • 17 апреля 1967 г. - объявлено о четырехстороннем расширении модели 1130 (модели 2C, 2D, 3B, 3C и 3D), включающем:
    • В пять раз больше дискового пространства и в четыре раза больше основной памяти;
    • Дополнительная скорость обработки данных почти на 40 процентов выше, чем была доступна ранее;
    • Больше и быстрее периферийное оборудование, включая оптический считыватель меток;
    • Улучшенный пакет коммерческого программирования.
  • Январь 1968 г. - начинаются первые поставки моделей 1130 2C, 2D, 3B, 3C и 3D.
  • Июль 1968 г. - завод в Бока-Ратоне начинает поставки модели 1130.
  • 22 июля 1971 г. – 11:30. Модели 4A и 4B представлены на новом уровне экономичности.
  • Сентябрь 1971 г. - начинаются первые поставки клиентам модели 1130 Model 4.
  • 31 мая 1972 г. - анонсированы модели 1C, 1D, 5B, 5C и 5D.
  • 1973 — Xerox 530 продается как возможный преемник клиентов IBM 1130. [8] [9] [10] По состоянию на январь 1974 года заказы на Xerox 530 считались «обнадеживающими». [11]

Программное обеспечение [ править ]

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

Большая часть пользовательского программирования выполняется на Фортране . Фортрана 1130 Компилятор может работать на машине с ядром всего 4096 слов, хотя скомпилированная программа может не поместиться на такой машине. В этом многопроходном компиляторе каждая «фаза» обрабатывает всю исходную программу и делает еще один шаг к машинному коду. Например, на первом этапе исходные операторы считываются в память, отбрасываются строки комментариев, удаляются пробелы, за исключением текстовых литералов, объединяются строки продолжения и идентифицируются метки. Компилятор доступен в резидентной версии на диске, а также на 8-канальной перфоленте или перфокартах.

Наиболее широко используемой операционной системой для 1130 является Disk Monitor System Version 2 (DM2), представленная в 1967 году. DM2 — это однозадачная пакетно-ориентированная система. Для размещения системы требуется система с объемом основной памяти не менее 4 КБ и одним встроенным диском 2310. По современным меркам Supervisor является крошечным и содержит различные системные детали, такие как процедуры прерываний первого уровня, называемые подпрограммами уровня прерываний , а также драйвер диска и процедуры для загрузки интерпретатора команд управления заданиями и драйвера устройства чтения карт. Драйверы устройств для других устройств ввода-вывода, необходимых для задания, включаются как часть загрузки этого задания, что также может включать замену базового драйвера диска более продвинутым драйвером. Во время выполнения задания в памяти находится только резидентный монитор , называемый Skeleton Supervisor . Этому супервизору требуется всего 1020 байт, поэтому первая доступная память задачи начинается с адреса /01FE (шестнадцатеричное) или слова 510. Когда задание завершается или прерывается, супервизор загружает Отслеживайте анализатор контрольных записей ( MCRA ), чтобы прочитать контрольные данные для следующего задания. Пока задание выполняется, супервизор неактивен. Помимо драйверов устройств и обработки прерываний, все время процессора полностью посвящено выполнению задания. Другими программами, распространяемыми как часть операционной системы, являются дампа ядра утилита DUMP и программа Disk Utility Program , DUP .

Для поддержки систем без диска была доступна система программирования карт/бумажных лент.

Существует иерархия драйверов устройств: те, имена которых заканчиваются на Z, предназначены для Фортрана, например DISKZ, тогда как программисты на ассемблере могут использовать DISK0, а DISK1 еще быстрее считывает несколько секторов диска. Но DISKZ начинает адресацию секторов с первого доступного неиспользуемого сектора, в то время как остальные начинаются с нулевого сектора диска, что дает возможность программисту, незнакомому с организацией диска, случайно перезаписать загрузчик начальной загрузки.

Другие языки программирования, доступные на 1130, включают:

Существует даже компилятор АЛГОЛА на французском языке , в котором, например, " Debut ...Fin;" занять место " Begin ... End;Все его сообщения написаны на французском языке, поэтому целью является «компиляция Bonne».

Университет Восточного Мичигана разработал компилятор Fortran IV для 1130, известный как Fortran-EMU, в качестве альтернативы компилятору Fortran IV (подмножеству), предоставленному IBM. Он добавляет множество функций Fortran Iv, не поддерживаемых компилятором IBM, включая тип данных LOGICAL, шестибуквенные имена переменных и расширенную диагностику. Компилятор Fortran-EMU распространялся в виде колоды перфокарт в формате файла образа диска с удалением всей оставшейся системной области, чтобы предотвратить копирование других модулей, которые обычно находились на том же диске, таких как ассемблер или компиляторы.

Университет штата Оклахома разработал компилятор ALGOL 68 , написанный на языке ANSI Fortran в 1966 году. [13] [14] [15]

Интерпретатор FOCAL был разработан в Мичиганском университете.

IBM также распространила большую библиотеку программ, как поддерживаемых IBM (тип I и II), так и неподдерживаемых (тип III и IV).

Поскольку 1130 был нацелен в первую очередь на научный рынок, преобладали научные и инженерные программы:

  • Пакет научных подпрограмм
  • Подпрограммы рисования и печати
  • Программа распределения нагрузки электроэнергетической системы
  • Множественная регрессия
  • Расчет токов повреждения электрораспределительной системы
  • Анализ труб
  • COGO Координатная геометрия
  • Непрерывное системное моделирование (CSMP)
  • Линейное программирование Математическая оптимизация Система подпрограмм
  • Решатель систем проектирования конструкций (STRESS)
  • Статистическая система [16]

Модель 1130 также заняла нишу машины обработки данных для небольших организаций:

  • 1130 Коммерческий пакет подпрограмм
  • Информационная система студентов
  • CPM/PERT

Также имеется специализированное программное обеспечение:

  • Удаленный ввод заданий (RJE) [17]
  • верстка [18]

Контроль заданий [ править ]

Пакетная работа 1130 управляется управляющими записями в первичном входном потоке (считыватель карт или бумажной ленты). Существует два типа контрольных записей: контрольные записи мониторинга и контрольные записи супервизора. [19]

Мониторинг контрольных записей [ править ]

Записи управления монитором идентифицируются //␢за которым следует «код псевдооперации» в столбцах 4–7. «␢» представляет собой один пробел.

1130 записей управления монитором
Контрольная запись Функция
//␢* comments Предоставляет комментарий для печати в списке вакансий в столбцах с 5 по 80.
//␢JOB Определяет начало работы
//␢ASM Вызывает ассемблер
//␢FOR Вызывает компилятор FORTRAN
//␢PAUS Останавливает систему до тех пор, пока не будет нажата клавиша START на консоли.
//␢TYP Переключается с принтера на консоль для ввода и вывода управляющих записей.
//␢TEND Отменяет эффект //␢TYP
//␢DUP Вызывает программу Дисковой утилиты
//␢XEQ Считывает и передает управление основной программе.

The JOBзапись может иметь букву «T» в столбце 8, указывающую, что любые файлы, добавленные в область пользователя этим заданием, должны быть удалены в конце. Столбцы с 11 по 15 могут содержать этикетку картриджа; Прежде чем продолжить, система проверяет, установлен ли указанный картридж.

The XEQзапись может содержать имя запускаемой программы в столбцах с 8 по 12. Если это значение опущено, будет выполнена программа, находящаяся в настоящее время в рабочей памяти. Если в столбце 14 указано «L» и программа имеет формат дисковой системы (не образ ядра), Core Load Builder напечатает карту ядра. Если за этим утверждением следует LOCAL NOCAL, или FILESЗаписи контроля супервизора, столбцы 16 и 17 содержат количество этих записей. В столбце 19 дополнительно указывается, какая подпрограмма драйвера диска должна быть связана. «0», «1» или «N» запрашивают DISK1, DISK2 или DISKN, любой другой символ, включая пробел, запрашивает DISKZ, дисковую процедуру FORTRAN.

Контрольные записи супервайзера [ править ]

Записи Supervisor Control начинаются с «*» в столбце 1, за которым сразу следует псевдооперация команды в столбце 2. LOCAL, NOCAL, и FILESдля Core Load Builder. Управляющие записи DUP имеют аналогичный формат. Эти записи управляют связыванием программ, либо для // XEQ заявление или DUP *STORECI команда.

Контрольные записи супервайзера
Контрольная запись Описание
*LOCAL Предоставляет список подпрограмм, которые будут загружаться как наложения во время выполнения, а не включаться в основную программу.
*NOCAL Предоставляет список подпрограмм, которые будут связаны с основной программой, даже если они никогда не вызываются. Обычно это либо процедуры отладки, к которым оператор может вручную перейти с консоли, либо процедуры обслуживания прерываний.
*FILES Приравнивает идентификационные номера файлов из FORTRAN DEFINE FILE оператор или ассемблер FILE оператор для именованных файлов на диске.

Порядок работы [ править ]

Перфокарта, содержащая самозагружающуюся программу 1130, которая копирует колоду карт, помещенную после нее во входной бункер.

Неизгладимые воспоминания о IBM 1130, возможно, возникли из-за необходимости постоянного вмешательства человека. Обычно он был занят выполнением «работ», определенных колодой перфокарт . Человек-оператор загружал задания в устройство считывания карт и разделял их обратно на задания для возврата, возможно, вместе с распечаткой, отправителю. Оператору также придется следить за 1130 на наличие признаков неисправности или остановки работы и вмешаться, нажав кнопку INT REQ клавишу на клавиатуре, чтобы перейти к началу следующего задания. [20]

Начало работы обозначалось перфокартой, начинавшейся с // JOB. Любая карта, начинающаяся с //представлял собой команду Супервизору и не мог использоваться в качестве пользовательской программы или данных. Другие команды включены // DUP выполнить программу Дисковой утилиты (чтобы удалить файлы или добавить файл во временной области в коллекцию файлов) и // XEQвыполнить именованную программу с диска. Если пользовательская программа попытается прочитать командную карту, стандартная процедура считывания карт сообщит программе об окончании ввода и сохранит содержимое этой карты для супервизора.

Начальная загрузка программы (IPL)

В отличие от IBM 360, где загрузочное устройство можно выбрать из системной консоли, IBM 1130 можно «загружать» (IPL: начальная загрузка программы) только с внешнего устройства: устройства чтения карт или устройства чтения бумажной ленты. [21] [22]

Процедура начальной загрузки считывает одну карту из устройства чтения карт. Загрузочная карта содержит двоичный код [23] для чтения содержимого нулевого сектора жесткого диска, который, в свою очередь, обрабатывает прерывание «операция завершена» от дисковода и выполняет дополнительные операции чтения с диска, чтобы подготовить 1130 к первому заданию с перфокартой. Весь процесс занимает около секунды.

Процедуры восстановления

Когда IBM 1130 запускается, Supervisor все еще находится в памяти и, вероятно, не поврежден, поскольку основная память сохраняет свое состояние без питания. Если оператор приходит к выводу, что пользовательская программа зависла, супервизор может почувствовать нажатие клавиши, чтобы прервать программу и перейти к следующей // карте. Supervisor не защищен от изменений в результате плохо написанного задания, в случае чего оператору может потребоваться перезагрузка 1130. Не было защиты и от записи на диск. Если копия системного ПО на диске модифицирована, ее можно восстановить, загрузив ее примерно с 4000 перфокарт с двоичным кодом (примерно две коробки).

Организация диска [ править ]

Дисковый картридж IBM 2315
Картридж, совместимый с 2315. (размеры 1 3/8 x 15 дюймов)

Диск IBM 2310 хранит сектора размером 320 слов (640 байт) плюс адрес сектора, состоящий из одного слова. Цилиндр . состоит из двух дорожек на верхней и нижней поверхностях 2315 или одного диска на пакете дисков 1316, используемом в 2311. Каждый дисковый цилиндр содержит восемь секторов Сектор логически разделяется монитором на шестнадцать дисковых блоков по 20 слов (40 байт) каждый. Дисковый блок — это единица размещения файлов.

Система различает системные картриджи , содержащие монитор и утилиты, а также пользовательские данные, и несистемные картриджи , содержащие только пользовательские данные. Все картриджи содержат информацию о цилиндре 0, включая таблицу дефектных цилиндров, идентификатор картриджа и программу начальной загрузки ( код начальной загрузки ). На несистемных картриджах программа начальной загрузки просто выводит сообщение об ошибке и ждет, если будет предпринята попытка загрузки с этого картриджа. На системном картридже это программа холодного запуска , за которой следует область связи и резидентный монитор в первом и втором секторах. Сектора с третьего по пятый содержат таблицу эквивалентности местоположений системы (SLET) — каталог всех этапов всех программ мониторинга. Другая управляющая информация заполняет первую дорожку.

Системная область присутствует на системных картриджах. Он содержит программу Disk Monitor и, опционально, компилятор FORTRAN, ассемблер и основной буфер изображения, используемый для связывания перемещаемых программ. Он также содержит каталоги пользовательских файлов — таблицу эквивалентности фиксированного местоположения (FLET) и таблицу эквивалентности местоположения (LET).

После системной области картридж содержит до трех логических подразделений: фиксированную область , пользовательскую область и рабочее хранилище . Как в фиксированной области, так и в пользовательской области хранятся постоянные программы и данные. Фиксированный размер области определяется DUP и сохраняет данные и программы только в формате основного образа. Не перепаковывается при удалении файлов. В пользовательской зоне хранятся данные и программы в любом формате. Граница между пользовательской областью и рабочим хранилищем «плавает» — пользовательская область расширяется по мере добавления файлов и сжимается по мере переупаковки для освобождения места из удаленных файлов. Если файл необходимо изменить, обычный процесс заключается в использовании // DUPкоманды для его удаления, которые перемещают все последующие файлы назад, чтобы закрыть пробел, а затем присваивают это имя временному файлу в качестве новой версии файла. Таким образом, редко изменяемые файлы перемещаются в начало диска по мере добавления новых файлов или новых версий, а часто изменяемые файлы сохраняются ближе к концу диска.

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

отсутствует Все файлы на диске представляют собой смежные блоки диска, поэтому фрагментация . Программа может использовать и изменять именованные файлы, но не может расширять их за пределы созданного размера. Программа, которая создает более одного файла, должна иметь все файлы, кроме одного, предварительно выделенные DUP.

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

Пакет дисков или картридж инициализируется для использования на модели 1130 с помощью процедуры инициализации пакета дисков (DIPR). Эта процедура сканирует диск и записывает адреса секторов во все цилиндры, помечает дефектные сектора и записывает идентификатор картриджа в нулевой цилиндр. DIPR — это автономная программа , которая загружается с карточек или бумажной ленты и принимает идентификатор картриджа из системной консоли. [19]

Программа Дисковой утилиты (DUP) [ править ]

Программа Disk Utility (DUP) предоставляет команды для передачи программ, подпрограмм и данных. Он вызывается элементом управления заданиями // DUP карта, за которой следует одна или несколько контрольных карт: [24]

Общие команды DUP
Команда Функция
*МАГАЗИН Сохраните программу в формате дисковой системы.
(перемещаемый объект)
*МАГАЗИНЫ Сохраните программу в формате основного образа.
(полностью связан и перемещен)
*СОХРАНЕННЫЕ ДАННЫЕ Сохранение файла данных на диск
*ХРАНЕННЫЕ ДАННЫЕ Перезагрузите программу дампа ядра.
*БОЛЬШОЙ МОД Заменить или создать файл на диске
*СВАЛКА Дамп файла данных с диска
*ДАМПДАТА Дамп произвольных секторов с диска
*ДАМПЛЕТ Распечатайте таблицу эквивалентности местоположений диска (LET),
и Таблицу эквивалентности фиксированных местоположений (FLET), если существует фиксированная зона.
*УДАЛИТЬ Удаление программы или файла данных

Другие команды, в основном предназначенные для использования системным администратором, определяют или расширяют фиксированную область, удаляют компилятор и/или ассемблер FORTRAN из системы и восстанавливают правильные адреса секторов в рабочей памяти, если они были изменены.

Операнды должны быть помещены в фиксированные столбцы. Код исходного устройства указывается в столбцах 13 и 14, а устройство назначения — в столбцах 17 и 18. Эти коды устройств:

  • UA – Зона пользователя
  • FX – фиксированная область (без «протяженностей», как в 360; только непрерывное пространство)
  • WS – Рабочее хранилище
  • CD – перфокарта/основное устройство ввода (может быть PT : бумажная лента)
  • PR – Принтер

При желании имя программы может быть закодировано в столбцах с 21 по 25, а поле счетчика - в столбцах с 27 по 30. Интерпретация этих полей зависит от запрошенной функции DUP.

Программы можно преобразовать в формат с более быстрой загрузкой с помощью команды STORECI , которая вызывает Core Image Builder (аналог DM2 редактора связей 360). Альтернативно, программа может проходить этот процесс каждый раз при запуске, а для редко используемых программ это предпочтительно в целях экономии дискового пространства.

Следующая управляющая карта дает команду DUP взять текущее содержимое рабочей памяти и переместить его в пользовательскую область, назвав ее PROGM. DUP знает размер файла в рабочей памяти. Размер пользовательской области будет увеличен на размер файла, а размер рабочей памяти соответственно уменьшится.

Пример платы управления IBM 1130 DUP

Периферийные устройства [ править ]

Линейный принтер IBM 1132
IBM 1442 Устройство считывания карт/перфоратор
IBM 1627 . Барабанный плоттер

Дисковая память используется для хранения операционной системы, объектного кода и данных, но исходный код хранится на перфокартах.

Базовый 1130 поставлялся с дисководом IBM 2310 со звуковой катушкой под названием «Ramkit» от подразделения IBM General Products в Сан-Хосе. [7] : 497  Их однодисковые картриджи IBM 2315 размером с коробку для пиццы вмещают 512 000 слов или 1 024 000 байт (меньше, чем 1,44 МБ 3,5-дюймовой HD-дискеты или даже 1,2 МБ 5,25-дюймовой HD-дискеты ). Скорость передачи составляет 35 000 слов в секунду (70 КБ/сек) с использованием технологии Cycle Stealing . [25]

Консольная пишущая машинка IBM 1053 использует механизм IBM Selectric , что означает, что можно изменить гарнитуру или набор символов, заменив полый печатный элемент размером с мяч для гольфа. доступен элемент специального типа Для APL , мощного языка программирования , ориентированного на массивы , использующего специальную символьную запись, . Ряд из 16 тумблеров на консольной пишущей машинке можно протестировать индивидуально из программы с помощью специального оператора Фортрана. IF (SENSE SWITCH i), например.

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

Чтобы упростить конструкцию периферийных устройств, они полагаются на процессор. Устройство считывания карт не имеет буферов памяти, но вместо этого выдает ЦП прерывание нулевого уровня (наивысший приоритет) после считывания каждого отдельного столбца карты. Если ЦП не отвечает и не сохраняет двенадцать бит данных до того, как другое такое прерывание укажет, что следующий столбец прочитан, данные будут потеряны. Точно так же принтер 1132 использует программное обеспечение модели 1130. Когда такая буква, как A приходит в положение, ЦП должен проанализировать буферизованную строку текста и собрать массив битов, который укажет процессору 1132, какие позиции печати следует печатать с помощью A. Если ЦП не может ответить до A повернется со смещением, скорость печати может значительно снизиться.

Другие периферийные устройства принимают текст в коде конкретного устройства, удобном для его оборудования. ЦП должен преобразовать его в код EBCDIC или из него, в котором ЦП обрабатывает текст.

Обзор набора команд [ править ]

Инструкции имеют короткий (одно слово) и длинный (два слова) форматы. Большинство инструкций по вычислениям, загрузке и сохранению ссылаются на один регистр (обычно ACC) и ячейку памяти. Местоположение памяти идентифицируется в коротком формате 8-битным смещением со знаком либо от текущего адреса, либо от одного из индексных регистров; или в длинном формате по полному 15-битному адресу, который можно индексировать и указывать косвенность. Память адресуется в единицах слов.

1130 изначально поддерживает только двоичные данные одинарной и двойной точности (16 и 32 бита), хранящиеся в формате с прямым порядком байтов . Данные с плавающей запятой стандартной и повышенной точности (32 и 48 битов), а также десятичные данные поддерживаются с помощью подпрограмм.

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

Основные регистры:
 IAR = Регистр адреса инструкции
 АСС = аккумулятор
 EXT = Регистр расширения
 XRx = индексные регистры: x = 1,2,3
       Реализовано как слова памяти 1,2,3, а не как аппаратные регистры.

 Условия испытаний:
 Z Ноль аккумулятора
 - Аккумулятор отрицательный
 + Аккумулятор положительный
 E Аккумулятор даже
 C Индикатор переноса выключен.
 O Индикатор переполнения выключен

 Мнемоника набора команд 1130:
 LD = загрузить ACC STO = сохранить ACC
 LDD = двойная нагрузка (ACC и EXT) STD = двойная загрузка (ACC и EXT)
 LDX = Индекс нагрузки STX = Индекс магазина
 LDS = Статус загрузки STS = Статус сохранения
 A = добавить ACC AD = добавить двойной
 S = вычесть ACC SD = вычесть двойной
 M = Умножить D = Разделить
 И = логическое И ИЛИ = логическое ИЛИ
 XOR = логическое исключающее ИЛИ
 SLA = сдвиг влево ACC SLT = сдвиг влево ACC и EXT
 SLCA = сдвиг влево и счет ACC SLC = сдвиг влево и счет ACC и EXT
 SRA = сдвиг вправо ACC SRT = сдвиг вправо ACC и EXT
 RTE = Поворот вправо ACC и EXT
 BSC = переход или пропуск условия (зависит от модификатора)
        т.е. БП БНП БН БНН БЗ БНЗ БК БО БОД
 BOSC — разветвление или пропуск по условию (альтернатива для BSC с установленным битом 9)
        Выход из текущего уровня прерывания.
 BSI = IAR филиала и магазина
 MDX = Изменить индекс и пропустить (увеличить IAR на единицу, если знак изменится или станет нулевым)
 WAIT = остановка NOP = нет операций (альтернатива для SLA 0)
 XIO = выполнение ввода-вывода

 1800 Мнемоника дополнительных инструкций:
 CMP = сравнение ACC DCM = двойное сравнение ACC и EXT

 Эквивалентная мнемоника
 Ассемблер диска ввел несколько мнемосхем, эквивалентных существующим.
 инструкции, призванные прояснить намерения программиста:
 SKP — условие пропуска, эквивалентное короткому BSC.
 B — Безоговорочное ветвление, эквивалентное BSC без указания условий.
 BP — положительный аккумулятор ответвления, что эквивалентно BSC, указывающему условие «+».
 BNP — аккумулятор ответвления не положительный
 BN — ветвь аккумулятора отрицательная
 BNN — аккумулятор ветви не отрицательный
 BZ - Нулевой аккумулятор филиала
 BNZ — Аккумулятор ветви не равен нулю
 BC — Филиал на Керри
 BO – ответвление при переполнении
 BOD — аккумулятор ответвления нечетный
 MDM — изменение памяти, эквивалент неиндексированного длинноформатного MDX.
 XCH — аккумулятор и расширение обмена, эквивалент RTE 16

 Формат короткой инструкции (одно 16-битное слово):
                        1
 Биты 0...45678......5
         ОП ---FTTDisp----

 ОП — это операция
 F — формат 0 = короткий
 ТТ — это тег
 Disp – это перемещение

 Длинный формат инструкции (два 16-битных слова):
                        1 1
 Биты 0...456789.....50..............5
         OP ---FTTIMod ---- Адрес ---------

 ОП — это операция
 F — формат 1 = длинный
 ТТ — это тег
 Я — косвенный бит
 Мод есть модификатор

 Расчет эффективного адреса (EA):
           Ф = 0 |  Ф = 1, я = 0 |  Ф = 1, я = 1
           Прямая адресация|  Прямая адресация|  Косвенная адресация
 -------------------------------------------------- -----------------
 ТТ = 00 |  EA = Displ + IAR |  Советник = Добавить |  ЕА = С/Добавить
 ТТ = 01 |  EA = Displ + XR1 |  Советник = Добавить + XR1 |  EA = C/Add + XR1
 ТТ = 10 |  EA = Displ + XR2 |  Советник = Добавить + XR2 |  ЕА = C/Add + XR2
 ТТ = 11 |  EA = Displ + XR3 |  Советник = Добавить + XR3 |  ЕА = C/Add + XR3
 -------------------------------------------------- -----------------
     Disp = Содержимое поля смещения
      Добавить = Содержимое поля адреса инструкции
        C = Содержимое местоположения, указанного с помощью «Добавить» или «Добавить + XR».
 
Регистры IBM 1130
1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (битовая позиция)
аккумулятор
АСС аккумулятор
вопрос Расширение
Индексные регистры
  И Инструкционный адрес
XR1 Я индекс 1
XR2 Я индекс 2
XR3 у меня индекс 3
Флаги
  О С
Зарезервированная память

Использование самых низких адресов основной памяти определяется либо аппаратным обеспечением, либо соглашением:

Адрес Применение
/0000 По соглашению содержит инструкцию B *-1, который будет разветвляться до самого себя до тех пор, пока оператор не заметит, что все индикаторы IAR консоли погасли, и не сбросит задание, либо нажав Int Req, либо перезагрузив компьютер.
/0001 XR1. Адреса памяти индексных регистров допускают прямое перемещение между ними, например, с помощью LDX I1 2
/0002 XR2.
/0003 XR3.
/0008 Адрес обработчика прерывания уровня 0 (наивысший приоритет) — прерывание 1442 картридера/перфоратора «готовность столбца».
/0009 Адрес обработчика прерывания уровня 1 — принтера 1132 и адаптера синхронной связи. Обработчики этого и более низких прерываний должны проверить слово состояния, чтобы определить, какое устройство прервало.
/000А=10 Адрес обработчика прерывания 2-го уровня — дисковое хранилище, Storage Access Channel.
/000Б=11 Адрес обработчика прерывания 3-го уровня — плоттер 1627, Storage Access Channel.
/000С=12 Адрес обработчика прерывания 4-го уровня — 1134 считыватель бумажной ленты, 1055 перфоратор бумажной ленты, консоль, 1442 перфоратор считывания карт, 2501 картридер, 1403 принтер, 1231 считыватель оптических меток, устройство Storage Access Channel.
/000D=13 Адрес обработчика прерывания 5-го уровня (самый низкий приоритет) — консольные переключатели остановки и прерывания, Storage Access Channel.
/0020=32 Первое слово поля сканирования для принтера 1132 (/0020–/0027).
/0026=38 Последнее полное слово поля сканирования.
/0027=39 Половина использована: 120 столбцов = 120 бит = семь 16-битных слов плюс 8 бит.
/0038=56 ВЫХОД к супервизору/возврат к монитору (CALL EXIT)

Программирование [ править ]

Подпрограммы [ править ]

У 1130 нет аппаратной поддержки стека . Большинство подпрограмм вызываются с помощью инструкции BSI (Branch and Store IAR). При этом значение IAR (обратный адрес) помещается в адрес назначения и передается управление пункту назначения+1. Подпрограммы возвращаются туда, где они были вызваны в тот момент, используя косвенный переход через первое слово подпрограммы. Размещение обратного адреса в строке было обычным методом компьютеров того времени, таких как Hewlett-Packard HP 2100 . [30] DEC PDP-8 , [31] и Системы научных данных SDS 920 . [32]

Таким образом, подпрограмма с именем SIMPL может быть организована следующим образом (комментарии следуют за операндом инструкции):

SIMPL: DC *-* Это точка входа, изначально заполненная нулем. 
         (что бы ни делала рутина) 
         BI SIMPL Возврат через  прямую  ветвь по адресу, найденному в местоположении SIMPL. 
         END SIMPPL Сообщает ассемблеру, что исходный код программы SIMPLE завершен. 
 

Подпрограмма будет называться следующим образом:

BSI L SIMPL Вызов SIMPL.  L (длинный) необходим, если расстояние до SIMPL превышает -128 или +127 слов.
 

псевдооперационный код Обычно используется CALL.

Как показано, точка входа в подпрограмму DC *-*, псевдооперация ассемблера, которая используется для определения константы (занимающей одно слово памяти) со значением, указанным в выражении. Символ * обозначает текущий адрес сборки, поэтому *-* приводит к нулю. Написание этого значения вместо 0 обеспечивает визуальное указание на то, что значимое значение (обратный адрес) будет помещено туда во время выполнения. Точкой входа не обязательно должно быть первое слово подпрограммы. Действительно, предыдущее слово может быть началом двухсловной инструкции прямого перехода, поле адреса которой находится в SIMPL. Тогда возвраты могут быть осуществлены с помощью однословных ветвей: B SIMPL-1

При вызове SIMPL инструкция BSI заменяет *-*с текущим значением IAR, которое представляет собой адрес сразу после инструкции BSI. После того, как SIMPL выполнит все, что написано, B I SIMPL разветвляется не на SIMPL, а косвенно через него, тем самым продолжая выполнение с инструкции, следующей за инструкцией BSI, вызвавшей SIMPL.

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

Вызывающий SIMPL может передать ему параметры, которые могут быть значениями или адресами значений. Параметры могут быть закодированы в строке (сразу после инструкции BSI) или могут быть помещены в индексные регистры XR1 и XR2. Если параметры размещаются в строке, SIMPL изменяет свой собственный адрес возврата, чтобы его последняя косвенная ветвь возвращалась за пределы параметров.

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

Соглашение о кодировании 0 в качестве начального значения в точке входа означает, что если ошибка программирования приводит к возврату SIMPL до первого его вызова, выполнение перейдет к ячейке памяти 0. Как упоминалось выше , принято указывать местоположение 0 содержит ответвление к ячейке 0. 1130 застрянет в ячейке 0, а индикаторы IAR на консоли полностью погаснут, давая понять, что программа не удалась.

Связь с библиотечными процедурами [ править ]

Для подпрограмм, которые будут вызываться много раз (например, подпрограммы для арифметики с плавающей запятой), важно уменьшить размер каждого вызова до одного слова. Такие «библиотечные процедуры» используют протокол LIBF. Он более сложен, чем протокол CALL, описанный в предыдущем разделе, но LIBF скрывает сложность от автора программы на языке ассемблера.

Библиотечные процедуры обращаются через индексный регистр XR3. (Подпрограммы Фортрана используют индексный регистр XR1 для адресов параметров и адреса возврата, но регистр XR2 не используется.) XR3 указывает на последовательность векторов передачи из трех слов , такая, что первая запись составляет -128 слов от значения XR3. Программист вызывает библиотечную процедуру, используя LIBF псевдооперация, которая собирает не прямую BSI к подпрограмме, а инструкция индексированного перехода из одного слова ( BSI 3 disp), смещение которого (-128, -125 и т. д.) идентифицирует начало вектора переноса подпрограммы.

Вектор передачи подготавливается загрузчиком связей при сборке программы. Запись вектора передачи в библиотечную функцию с именем SIMPL принимает следующую форму:

DC *-* Слово, в котором BSI сохраняет обратный адрес.
       BL SIMPL Переход к началу библиотечной функции.
 

Способ, которым SIMPL знал, где находится его обратный адрес, заключался в том, что, если бы SIMPL был объявлен подпрограммой LIBF, загрузчик связей изменил бы код SIMPL, поместив адрес записи вектора передачи SIMPL в SIMPL+2. Подпрограммы LIBF, в отличие от подпрограмм CALL, начинаются не с директивы DC, содержащей адрес возврата (он находится в векторе передачи), а с фактического кода, как показано ниже:

SIMPL STX 1 RCVR1+1 Сохраните значение XR1 вызывающего абонента в ближайшем месте.
       LDX I1 *-* Загрузчик связи изменяет адресное слово, чтобы оно указывало на вектор передачи.
 

Размещение адреса вектора передачи SIMPL в SIMPL+2 оставляет место для однословной инструкции для сохранения выбранного индексного регистра, здесь XR1. Тогда косвенная инструкция LDX указывает XR1 не на вектор передачи, а через него на адрес возврата или на любые параметры, хранящиеся в строке после BSI. Затем SIMPL делает все, для чего было написано, получая доступ к любым встроенным параметрам через XR1 (в этом случае он должен увеличивать XR1 для адреса возврата) и возвращает следующий результат:

STX 1 RETN+1 Сохраните XR1, чтобы подготовиться к использованию его в качестве обратного адреса.
 RCVR1 LDX L1 *-* Первая инструкция SIMPL изменила этот адрес.  Сейчас,
 * восстановить исходное значение XR1.
 RETN BL *-* Эта инструкция была изменена две инструкции назад;  возвращаться.
 
Пример

Предположим, что вызов SIMPL в стиле LIBF произошел по адресу 100. Тогда адрес возврата будет 101, потому что BSI 3 dispпредставляет собой инструкцию, состоящую из одного слова. XR3 указывает на группу векторов переноса. Если вектор передачи для SIMPL начинается с адреса 2000, то BSI будет собран с disp так что XR3+disp = 2000. Выполнение BSI сохраняет 101 в ячейке 2000 и переходит к ячейке 2001. В 2001 происходит длинный переход из двух слов к точке входа SIMPL, которую загрузчик связи мог бы поместить по адресу 300.

Прыжок в длину передает управление SIMPL. После того как инструкция на этапе 300 сохраняет XR1, инструкция на этапе 301 LDX I1 2000, загрузчик связей поместил 2000 в позицию 302. Это не загружает 2000 в XR1; это косвенная инструкция, которая загружает содержимое 2000, то есть 101, адреса возврата для этого вызова SIMPL.

В показанной выше последовательности возврата, когда регулятор времени достигает RETN, инструкция B L 101, который возвращается вызывающему абоненту. (Если имеется один или несколько встроенных параметров по адресу 101, SIMPL увеличит XR1 до значения 102 или выше, и это будет пунктом назначения B инструкция.)

Вариации

Если SIMPL принимает параметры, закодированные в строке после инструкции BSI, SIMPL получает к ним доступ с индексированной адресацией от XR1. Первую можно было получить LD 1 0, второй по LD 1 1, и так далее. Если второй параметр является адресом фактического параметра, то LD I1 1получает свое значение. Перед возвратом SIMPL увеличивает XR1 после n параметров с помощью такой инструкции, как MDX 1 n чтобы поместить правильное значение в RETN+1.

Подпрограмма LIBF, которая отказывается восстанавливать исходное значение XR1, может пропустить вышеуказанные шаги и вернуться с помощью простой команды: B 1 nпропустить n встроенных параметров. Однако такая процедура не может быть вызвана другими процедурами LIBF, поскольку она мешает использованию XR1 вызывающей стороной для доступа к своим собственным параметрам и адресу возврата.

Сложность LIBF экономит память для часто вызываемых подпрограмм: [33] : стр. 24 Для связи LIBF требуется одно слово на вызов плюс три слова для записи вектора передачи и дополнительный код в самой подпрограмме, тогда как для связи CALL требуется два слова на вызов, поскольку большинство вызовов будут адресованы по адресу, находящемуся за пределами слов от -128 до +127. досягаемость однословного кода операции.

Регистр XR3 должен указывать на записи вектора передачи для библиотечных подпрограмм, а не на таблицу диспетчеризации , содержащую только их адреса, поскольку последняя потребует, чтобы подпрограммы LIBF вызывались с помощью косвенной инструкции BSI. Эти инструкции состоят из двух слов, поэтому такая конструкция сведет на нет экономию размера кода за счет LIBF. Восьмибитный предел поля disp однословного кода инструкции ограничивает использование подпрограмм LIBF не более чем 85 отдельными записями.

Модификация кода [ править ]

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

Компилятором Фортрана [ править ]

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

Когда программа на Фортране вызывает подпрограмму, адреса любых параметров появляются в строке после вызова. Например, оператор Фортрана CALL SIMPL(X) может скомпилироваться в:

БСИ Л SIMPL
   DC X Адрес X, на котором должен работать SIMPL.
 

Внутри подпрограммы к параметрам можно получить доступ посредством косвенной индексированной адресации, как показано выше в разделе «Вариации» , поэтому, учитывая, что XR1 был соответствующим образом подготовлен, целочисленный параметр можно загрузить в аккумулятор с помощью такой инструкции:

 LD I1 0 Загрузить значение первого параметра (смещение 0) в аккумулятор.
 

Вместо этого компилятор использовал прямую адресацию. Когда SUBIN запускается, он получает адрес X и исправляет поле адреса инструкции, чтобы оно стало:

 LD LX Загрузить значение X в аккумулятор.
 

Преимущества SUBIN заключаются в следующем:

  • Для получения адреса операнда команде с косвенным индексированием требуется три цикла памяти (индексный регистр находится в памяти), тогда как для инструкции прямого доступа требуется только один.
  • Если SIMPL должен был передать один из своих параметров любой подпрограмме, которая ожидала получить адрес своего параметра (включая все процедуры LIBF для арифметики с плавающей запятой), SUBIN необходим для предоставления фактического адреса исходного параметра.

Недостатками SUBIN являются время, необходимое для его работы, и объем памяти, необходимый для таблицы ссылок. Размер этой таблицы представляет собой сумму 5, количества параметров и количества ссылок; если эта сумма превышает 511, компиляция завершится неудачно. Для подпрограмм с большим количеством ссылок на параметр автор подпрограммы может скопировать параметр в локальную переменную.

Пользователь [ править ]

Изменение целых инструкций в то время было обычным методом. Например, хотя в 1130 есть инструкция ИЛИ, синтаксис Фортрана не позволяет ее записать. Можно определить целочисленную функцию IOR, позволяющую логическому ИЛИ быть частью выражения Фортрана, например:

 М  =   3  *  ИОР  (  I  ,  J  )   +   5 

Компилятор Фортрана помещает адреса I и J в строку и ожидает результата в аккумуляторе. Использование IOR(I,J) в выражении Фортрана компилирует следующие четыре слова:

BSI L IOR Переход в два слова к началу функции IOR.
   Однословный встроенный параметр DC IA: адрес I.
   Однословный встроенный параметр DC JA: адрес J.
 

Фактически, ассемблерная функция IOR не вычисляет I или вообще J. Вместо этого он заменяет приведенные выше четыре слова следующими:

LD LI Загрузка аккумулятора с помощью I (инструкция из двух слов)
   ИЛИ LJ ИЛИ аккумулятор с J (инструкция из двух слов)
 

После выполнения этого преобразования он не возвращается за конец блока из четырех слов (который он только что изменил). Вместо этого он разветвляется на точный адрес, с которого он был первоначально вызван. Инструкции BSI больше нет; теперь есть две инструкции, которые он только что написал. Они объединяют два целых числа с помощью инструкции ИЛИ машинного языка и при необходимости оставляют результат в аккумуляторе.

Вызов IOR и преобразование блока из четырех слов происходит не чаще одного раза за выполнение программы. Если показанная выше строка Фортрана выполняется еще раз, она выполняется быстрее, чем в первый раз. Подобные функции можно было бы разработать и для других полезных операций.

Функция, которая самомодифицируется, как это делает IOR, не может использоваться в подпрограмме Фортрана ни для одного из параметров этой подпрограммы (хотя ее можно использовать для объединения локальных переменных), поскольку она несовместима с подпрограммой SUBIN, описанной выше. Преобразование IOR последовательности вызовов из четырех слов, показанное выше, перемещает местоположение адреса переменной I. При последующих вызовах подпрограммы на Фортране таблица ссылок на параметры будет ошибочной, и SUBIN исправит неправильное слово, в в этом случае новый адрес I помещается поверх кода операции ИЛИ.

Повышенная точность [ править ]

1130 FORTRAN предлагает два формата с плавающей запятой: 32-битный формат «стандартной точности» и 40-битный формат «расширенной точности».

Формат стандартной точности содержит 24-битное дополнение до двух , а расширенная точность использует 32-битное дополнение до двух . Этот формат полностью использует 32-битные целочисленные операции ЦП. Расширенный формат занимает три 16-битных слова, при этом старшие восемь битов первого слова не используются. Характеристикой обоих форматов является 8-битное поле , содержащее степень двойки, смещенную на 128. Арифметические операции с плавающей запятой выполняются программным обеспечением. [34]

The *EXTENDED PRECISION Дополнительная карта компилятора сообщает компилятору FORTRAN использовать 40 бит вместо 32 бит для всех данных с плавающей запятой, смешивание форматов не предусмотрено.

Большие на Фортране программы

Данные, которыми нужно манипулировать, и инструкции, которые ими управляют, должны находиться вместе в основной памяти. Ключевым ограничением является объем установленной памяти (от 4096 до 32768 слов). Несмотря на это ограничение, Фортран предоставляет несколько методов написания больших программ.

ЛОКАЛЬНЫЕ подпрограммы

Фортран позволял обозначать любую подпрограмму как «ЛОКАЛЬНУЮ» (загрузка по вызову). Каждая ЛОКАЛЬНАЯ подпрограмма является наложением ; он является частью резидентной на диске исполняемой программы, но загружается в основную память (если еще не там) во время ее вызова. Так, например, шесть ЛОКАЛЬНЫХ подпрограмм потребуют столько же оперативной памяти, сколько и самая большая, а не общий объем для всех шести. Однако ни одна из шести не может вызвать другую ни напрямую, ни через промежуточные подпрограммы.

Программы поэтапно

Вся программа на Фортране может передать управление последующей фазе, перейдя к Супервизору с инструкцией загрузить последующую фазу в основную память. Большую программу можно разделить на три части, скомпилированные отдельно, которые называются ЧАСТЬ1, ЧАСТЬ2 и ЧАСТЬ3. Выполнение начинается с // XEQ PART1 и в подходящий момент PART1 выполнит оператор Fortran CALL LINK(PART2)и так далее. Имя программы-последователя в CALL не может быть переменным, но логика программы может определять, будет ли передано управление на другую фазу и какой именно. CALL LINKзаявление выполняется. Как упоминалось выше , сам компилятор Фортрана был написан таким образом, при этом каждая фаза компиляции выполнялась отдельной программой.

ОБЩЕЕ хранилище данных

Программы, такие как программы на Фортране, располагаются по младшим адресам памяти ядра (чуть выше супервизора). Фортран выделяет пространство по старшим адресам для любых переменных и массивов, объявленных COMMON. Если последующий этап программы содержит соответствующее объявление COMMON, то информация в этой общей области может быть разделена между этапами. Фазы могли без проблем опускать объявление COMMON, при условии, что эти фазы не были настолько большими, чтобы их программный код вторгался в общую область. ОБЩЕЕ хранилище не только распределяет данные между фазами; Переменные COMMON с меньшим объемом памяти можно использовать для передачи данных между основной программой и подпрограммами в рамках одной фазы, хотя данные могут быть потеряны при переходе к следующей фазе.

Примеры программирования [ править ]

Примеры можно выполнить на эмуляторе IBM 1130, доступном на сайте IBM 1130.org .

Пример колоды ассемблерных программ [ править ]

В следующем листинге показана колода карт , которая компилирует и запускает программу на ассемблере , которая выводит колоду карт на построчный принтер.

// РАБОТА
  // КАК М
  *СПИСОК
                      * LCARD.ASM — СПИСОК КОЛОДЫ КАРТ НА ЛИНЕЙНЫЙ ПРИНТЕР
                      *
                      * ПРОГРАММА
                      * НОВАЯ СТРАНИЦА НА ПРИНТЕРЕ
                      * ПРОЧИТАЙТЕ КАРТУ
                      * КОНВЕРТИРОВАТЬ ФОРМАТ
                      * НАПЕЧАТАЙТЕ СТРОКУ НА ПРИНТЕРЕ
                      * ПЕРЕЙТИ К А
                      *
                      НАЧАТЬ LIBF PRNT1 ПЕРЕЙТИ НА НОВУЮ СТРАНИЦУ НА 1132
                            DC/3100 ПРИНТЕР КАНАЛ 1-НОВАЯ СТРАНИЦА
                      *
                      ЧТЕНИЕ NEXTC LIBF CARD0 ИЗ КАРТРИДЕРА 1442
                            DC /1000 КОНТРОЛЬ ДЛЯ ЧТЕНИЯ
                            DC CBUFF STORE 80 КОЛОНН
                      КАРТА CINP LIBF0
                            ДК 0
                            B CINP LOOP ПОКА КАРТА НЕ ПРОЧИТАНА
                      *
                            ПРЕОБРАЗОВАНИЕ КАРТЫ LIBF ZIPCO В ПРИНТЕР
                            DC /1100 В УПАКОВКЕ, В УПАКОВКЕ
                            DC CBUFF+1 ВХОДНОЙ БУФЕР
                            PBUFF+1 ВЫХОДНОЙ БУФЕР постоянного тока
                            КОЛИЧЕСТВО СИМВОЛЕЙ DC 80
                            ПОЗВОНИТЕ HLEBC HOLLERITH В EBCDIC
                      *
                            LIBF PRNT1 ПЕЧАТЬ 80 СИМВОЛЕЙ
                            КОД УПРАВЛЕНИЯ DC/2000 ДЛЯ ПЕЧАТИ
                            БУФЕР ПЕЧАТИ DC PBUFF
                            ОШИБКА ПЕЧАТИ DC PERR
                      POUT LIBF PRNT1 ПРОВЕРКА ПЕЧАТИ ЗАВЕРШЕНА
                            ДК 0
                            B ПЕТЛЯ ВЫВОДА ДО ЗАВЕРШЕНИЯ
                      *
                            B СЛЕДУЮЩАЯ КАРТА ЧИТАТЬ СЛЕДУЮЩУЮ КАРТУ
                      *
                      * ДАННЫЕ
                      *
                      CBUFF DC 80 80 КОЛОНЦ НА КАРТУ
                            БСС 80
                      *
                      PBUFF DC 40 40 СЛОВ 80 СИМВОЛЕЙ
                            БСС 40
                      *
                      ПЕРР ДК 0
                            БИ ПЕРР ЭТО ВОЗВРАЩАЕТСЯ К
                      * ОБРАБОТЧИК ОШИБОК ПРИНТЕРА
                      * КОТОРОЕ ЗАВЕРШАЕТ ПРОГРАММУ
                      *
                            КОНЕЦ СТАРТ ТОЧКА ВХОДА В ПРОГРАММУ
  // XEQ
  ТЕСТОВЫЕ ДАННЫЕ 1
  ПРИВЕТ, МИР
  ТЕСТОВЫЕ ДАННЫЕ 2
 

В этом задании ассемблер оставляет результат своей сборки во временной области системного диска, а команда XEQ выполняет содержимое временной области. Странный вид END START имеет два значения: конец исходного кода ассемблера и имя точки входа подпрограммы, которая имеет метку START.

Исходный код ассемблера начинается с 21-го столбца карты, а не с первого. В системах без дисковода ассемблер вбивал код в начало только что прочитанной карты (устройство считывания карт на самом деле представляло собой считывающее устройство со станцией перфорации после станции чтения), а затем считывало следующую карту. Для обработки прямых ветвей и тому подобного второй проход ассемблера буквально включал второй проход карт через считыватель/перфоратор. Если требовались изменения исходного кода, программист дублировал карты, чтобы получить колоду с пустыми столбцами 1–20, готовую к следующему прогону через ассемблер.

По соглашению, буферам предшествует количество слов. DC (Определить константу) объединяет счетное слово и следующие BSS(Блок, начинающийся по символу) резервирует необходимое количество слов для буфера. Буфер карты требует 80 слов, по одному на каждый столбец карты. Драйвер CARD0 считывает каждый столбец карты буквально, используя 12 из 16 бит буферного слова, при этом бит устанавливается на каждое отверстие, пробитое в соответствующей строке этого столбца. Шаблон ударов обычно описывает текстовый символ с помощью кода Холлерита . Клавиатура консоли также вводит данные в программу в коде Холлерита — единственный случай, когда два устройства используют одну и ту же кодировку символов.

Однако программа принтера работает с текстом в 8-битном формате EBCDIC с двумя символами в слове, что требует буфера на 40 слов. Для выполнения преобразования программа использует библиотечную процедуру ZIPCO. Несмотря на видимость, заявление CALL HLEBCне выполняется, поскольку HLEBC — это не подпрограмма, а таблица преобразования Холлерита в EBCDIC, поставляемая IBM. Оператор CALL предоставляет ZIPCO адрес таблицы и гарантирует, что связывающий загрузчик включит таблицу в программу, таким образом, это пятый параметр для ZIPCO, хотя один из них занимает два слова памяти: кодовое слово операции BSI для CALL неиспользованы и поэтому обычно тратятся впустую, но второе слово расширения CALL HLEBC— это адрес таблицы HLEBC, необходимой ZIPCO. После преобразования программа отправляет преобразованный вывод, который теперь находится в буфере PBUFF, на принтер через драйвер PRNT1. И снова программа работает до тех пор, пока драйвер принтера не сообщит о завершении, затем программа считывает следующую карту.

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

- и вывод производительность Асинхронный ввод

Вызов CARD0 для чтения карты инициирует эту операцию и немедленно возвращается вызывающей стороне, которая может продолжить другую деятельность. Однако пример программы не пытается перекрывать ввод и вывод с помощью буферов, даже несмотря на то, что он имеет две отдельные рабочие области; он просто возвращается к CIMP для повторного тестирования. После того как CARD0 обнаруживает прерывание завершения операции устройства считывания карт, он возвращает одно слово дальше, тем самым пропуская переход обратно к CIMP и выходя из цикла.

В примерах процедур устройства ввода-вывода не работают на максимальной скорости. Примечательно, что устройство считывания карт всего через несколько миллисекунд после сообщения о завершении чтения карты начнет последовательность остановки, после чего новой команде чтения придется ждать, чтобы начать следующий цикл чтения. Считыватель IBM 1442 мог читать 400 карт в минуту на полной скорости, но даже небольшая нерешительность в командах чтения снизила бы его пропускную способность вдвое или даже хуже. Программа на Фортране не могла вовремя выполнить даже простейшую обработку ввода и поэтому не могла читать карты на полной скорости. Один общий Фортран DOпетля для чтения карт заставляла двигатель останавливаться и запускаться так часто, что ускоряло износ. При использовании буферизации управление устройством считывания карт могло перекрываться с обработкой, и устройство считывания могло работать на полной скорости с большими колодами данных, но память для более сложной программы и для буферов часто была в дефиците.

Даже при использовании ассемблера и двойной буферизации программа для вывода колоды карт из считывателя IBM 2501 (1000 карт в минуту) на построчном принтере не успевала, поскольку перевод из шаблонов отверстий для карточек в EBCDIC для принтера выполнялся EBPRT работал слишком медленно; вместо этого потребовались более сложные ZIPCO и HLEBC, как в примере.

Пример сеанса APL\1130 [ править ]

На следующем изображении показан простой сеанс APL \1130. Этот сеанс проводился с помощью симулятора 1130, доступного на сайте IBM 1130.org.
apl\1130 apl\1130 образец сеанса
Вышеупомянутый сеанс показывает вход в систему, сложение целых чисел от 1 до 100, создание таблицы сложения для целых чисел от 1 до 5 и выход из системы.

Конкурирующие системы [ править ]

В том же году, когда был представлен 1130, компания Digital Equipment Corporation представила меньший, более дешевый и более продаваемый 12-битный PDP-8 , признанный первым успешным миникомпьютером.

Влияние 1130 года [ править ]

  • Брайан Атли был менеджером проекта 1130-х годов во время его разработки и внедрения. На третьей вечеринке 11/30 Брайан сказал, что до того, как IBM Marketing назвала 1130, она была известна как Small Engineering Computer System или SECS. [35] Первоначальная архитектура была 18-битной, но была изменена на 16-битную под влиянием развития System/360 . Полный диалог его презентации 2005 года доступен на IBM1130.org .
  • Известный разработчик программного обеспечения Грейди Буч впервые познакомился с программированием на IBM 1130: [36]

... Я ломился в двери местного офиса продаж IBM, пока продавец не сжалился надо мной. После того, как мы немного поговорили, он вручил мне Фортран [руководство]. Я уверен, что он дал его мне, думая: «Я никогда больше не услышу об этом ребенке». На следующей неделе я вернулся и сказал: «Это действительно здорово. Я прочитал все и написал небольшую программу. Где я могу найти компьютер?» Этот парень, к моей радости, нашел для меня время программирования на IBM 1130 по выходным и поздним вечером. Это был мой первый опыт программирования, и я должен поблагодарить анонимного продавца IBM за начало моей карьеры. Спасибо, IBM.

Система представляла собой компьютер IBM 1130, машину размером с письменный стол с 8 КБ оперативной памяти, дисководом на 512 КБ, устройством чтения бумажной ленты Teletype CX и перфоратором бумажной ленты BRPE, а также фотомеханическим наборным устройством Photon 713. Это задание стало моим первым опытом управления базой данных машиночитаемых документов: я научился аккуратно скручивать перфоленту так, чтобы ее можно было аккуратно хранить в цилиндрических корзинах для мусора.
Тем временем, хотя я и не знал об этом, корни обобщенной разметки были заложены. Исторически электронные рукописи содержали управляющие коды или макросы, которые заставляли документ форматироваться определенным образом («специфическое кодирование»). Напротив, общее кодирование, которое началось в конце 1960-х годов, использует описательные теги (например, «заголовок», а не «формат-17»).

11:30 сегодня [ править ]

Известно, что по состоянию на 2024 год из примерно 10 000 произведенных систем существуют следующие:

Апокрифы [ править ]

Предположения о том, почему продукту был присвоен номер 1130, основывались на следующих возможностях:

  • Поскольку 1130 была небольшой научной машиной, число было выбрано путем умножения 360 (как в IBM 360 ) на π .
  • В 11:30 планировщики продукта зашли в тупик относительно того, как назвать продукт.
  • Что 1130 был 11-м компьютерным проектом IBM и содержал 30 инструкций.

Другие предполагают, что существование IBM 1130 объясняет, почему ни один компьютер с обозначением «11/30» никогда не появлялся в PDP-11 . семействе машин [54]

См. также [ править ]

Примечания [ править ]

  1. ^ для которого существовал компилятор IBM
  2. ^ SL/1: существуют ссылки на Student Language/One, Student Language/1 и Subset Language/1.
  3. ^ программный продукт IBM
  4. ^ Модель 1 при 80 строк в минуту, Модель 2 при 40 л/мин.
  5. ^ выбор: 340 строк/мин, модель 6, 600 л/мин, модель 7.

Ссылки [ править ]

  1. ^ Перейти обратно: а б с «Галерея больших систем: IBM 1130» . Национальный музей вычислительной техники. Архивировано из оригинала 11 февраля 2020 года . Проверено 11 февраля 2020 г.
  2. ^ Перейти обратно: а б Руководство по установке IBM 1130 , IBM Form GA26-5914, июнь 1966 г., BitSavers
  3. ^ Перейти обратно: а б Фрэнсис, CG (11 февраля 1965 г.). «IBM представляет мощный маленький компьютер» . Директор по информации (Пресс-релиз). Уайт-Плейнс, Нью-Йорк : International Business Machines (IBM). Архивировано из оригинала 5 июля 2019 г.
  4. ^ Атли, Брайан (январь 2005 г.). «Приглашенный докладчик: Брайан Атли» (MP3) (Интервью) . Проверено 2 января 2012 г.
  5. ^ 760 фунтов: модели 1A, 1B, 2A, 2B, 4A и 4B.
    1050 фунтов: модели 1C, 1D, 2C, 2D, 3B, 3C, 3D, 5B, 5C и 5D.
  6. ^ «Система сбора данных и управления IBM 1800» . Архивы IBM . 23 января 2003 года . Проверено 20 августа 2021 г.
  7. ^ Перейти обратно: а б Эмерсон В. Пью; Лайл Р. Джонсон; Джон Х. Палмер (1991). Системы IBM 360 и ранние версии 370 . МТИ Пресс. ISBN  978-0-262-16123-7 .
  8. ^ «Новый миникомпьютер Xerox» . Нью-Йорк Таймс . 29 января 1973 года.
  9. ^ «Xerox 530 поддерживает COBOL» . Компьютерный мир . 26 декабря 1973 года.
  10. ^ «Компьютер Rank Xerox 530» (PDF) . www.computerhistory.org . Проверено 23 сентября 2014 г.
  11. ^ «Заказы Xerox 530 «обнадеживают» » .
  12. ^ Ларри Брид (август 2006 г.). «Как мы добрались до APL\1130» . Вектор (Британская ассоциация APL) . 22 (3). ISSN   0955-1433 . Архивировано из оригинала 12 мая 2008 г. Проверено 11 марта 2007 г.
  13. ^ Хедрик, GE; Робертсон, Алан, «Компилятор подмножества АЛГОЛА 68 штата Оклахома». Международная конференция 1975 г. по Алголу 68. Стиллуотер, штат Оклахома, 10–12 июня 1975 г.
  14. ^ Хедрик, GE, «Инструкция ALGOL68 в Университете штата Оклахома» , Бюллетень ACM SIGCSE - Специальный выпуск восьмого технического симпозиума по образованию в области информатики, домашняя страница, том 9, выпуск 3, август 1977 г., ACM Нью-Йорк, Нью-Йорк, США
  15. ^ МакДжонс, Пол, «Реализации и диалекты Алгола 68» , Группа сохранения программного обеспечения , Музей истории компьютеров
  16. ^ Корпорация IBM (1967). Статистическая система 1130 (1130-CA-06X) Руководство пользователя (PDF) . Проверено 8 февраля 2015 г.
  17. ^ Корпорация IBM (1968). Руководство по логике программы рабочей станции удаленного ввода заданий IBM 1130 (PDF) . Проверено 8 февраля 2015 г.
  18. ^ Корпорация IBM (1967). Система набора текста IBM 1130 (RPQ) (PDF) . Проверено 8 февраля 2015 г.
  19. ^ Перейти обратно: а б Корпорация IBM (1968). Справочное руководство по системе IBM 1130 Disk Monitor (PDF) . Проверено 31 августа 2021 г.
  20. ^ Корпорация IBM (май 1972 г.). Система IBM 1130 Disk Monitor, версия 2, Руководство программиста и оператора (PDF) . Проверено 6 февраля 2015 г.
  21. ^ «ИБМ 1130» . Проверено 21 февраля 2017 г.
  22. ^ Цитата: « Наш 1130 имеет дисковый картридж на 2315, 1/2 миллиона слов, расположенный с правой стороны, за дверцей. Устройство чтения бумажной ленты, вероятно, в основном использовалось для загрузки вместо большой карты 1442 со скоростью 300 карт / мин. читатель » .
  23. ^ Функциональные характеристики IBM 1130 (PDF) . Справочная библиотека по системам IBM. На странице 136 Функциональных характеристик, на рисунке 40, показано, как каждое из 12 отверстий на перфокарте заполняет 16 бит слова памяти при выполнении IPL (начальной загрузки программы) с использованием «Чтения в режиме загрузки».
  24. ^ «Программы мониторинга» .
  25. ^ Корпорация IBM. «Папка 1130 Facts: вычислительная система IBM 1130» . Архивы IBM . Проверено 29 апреля 2023 г.
  26. ^ «Рабочие процедуры IBM 1130» (PDF) . БитСейверы . Справочная библиотека по системам IBM.
  27. ^ Описание специальной функции IBM 1130 — номер RPQ канала подключения 831552, форма A26-1579-0 (PDF) . Справочная библиотека систем IBM (первое издание). Сан-Хосе, Калифорния: Корпорация IBM. Октябрь 1968 года . Проверено 10 августа 2009 г.
  28. ^ «Считыватель страниц оптических меток IBM 1231» .
  29. ^ Корпорация IBM. «Архивы IBM: хронология DPD (стр. 4)» . Проверено 10 августа 2011 г.
  30. ^ Hewlett-Packard (декабрь 1971 г.). Справочное руководство по компьютеру 2100A (PDF) . п. 18 . Проверено 5 августа 2016 г.
  31. ^ «Руководство пользователя PDP-8» . Корпорация цифрового оборудования. Май 1966 года . Проверено 26 апреля 2021 г.
  32. ^ Системы научных данных. Справочное руководство по компьютеру 920 (PDF) . п. 17 . Проверено 5 августа 2016 г.
  33. ^ Корпорация IBM (1968). Язык ассемблера IBM 1130 (PDF) . Проверено 6 февраля 2015 г.
  34. ^ Библиотека подпрограмм IBM 1130, 9-е изд. (PDF) . Корпорация IBM. 1974. с. 93.
  35. ^ Атли, Брайан (30 октября 2006 г.). «Происхождение названия IBM 1130» . Архивировано из оригинала 1 октября 2007 г. Проверено 16 января 2007 г.
  36. ^ Буч, Грейди (3 апреля 2003 г.). «Грейди Буч полирует свой хрустальный шар» . ИБМ . Проверено 16 января 2007 г.
  37. ^ Стил, Гай Л. младший (24 ноября 2005 г.). «Мысли о языковом дизайне: новые проблемы требуют новых решений» . Журнал доктора Добба . Проверено 16 января 2006 г.
  38. ^ Стил, Гай Л. младший «Исповедь счастливого хакера» . Архивировано из оригинала 3 февраля 2007 г. Проверено 16 января 2006 г.
  39. ^ Вернее, Элизабет; Колберн, Дональд; Мур, Чарльз (март 1993 г.). «Эволюция Форта» . Проверено 16 января 2007 г.
  40. ^ Бриклин, Дэн (23 августа 2002 г.). «Воспоминания о посещении района залива и Музея компьютерной истории» . Проверено 16 января 2007 г.
  41. ^ Диксон, Боб (13 августа 2005 г.). «СЕТИ в 1970-е годы» . Большое Ухо . Проверено 16 января 2007 г.
  42. ^ Гольдфарб, Чарльз (1996). «Корни SGML — личные воспоминания» . Проверено 16 января 2007 г.
  43. ^ Кей, Алан С., «Реактивный двигатель» , доктор философии. диссертация, Университет Юты, 1969 г. «Процедуры графического отображения, генератор символов и редактор работали в течение года на компьютере IBM 1130 с «самодельным» интерфейсом. К сожалению, 1130 старался выполнять роль просто прославленного буфера дисплея. , и ни одна из алгоритмических процедур не была реализована».
  44. ^ Кох, Уоррен (1972). «Использование компьютеров в обучении в средних школах» (PDF) . Проверено 6 августа 2014 г.
  45. ^ «Signetics 2650: IBM на чипе» . ЦП Хижина. 16 октября 2016 г. Проверено 25 октября 2016 г.
  46. ^ «ИБМ 1130» . АКОНИТ (на французском языке) . Проверено 11 июля 2016 г.
  47. ^ «Сведения об артефакте: модель IBM 1130» . Музей истории компьютеров . Проверено 11 июля 2016 г.
  48. ^ Висс, Оскар. «Сайт Оскара Э. Висса» . КОСЕКАНЦЫ (на немецком языке) . Проверено 11 июля 2016 г.
  49. ^ «Восстановление системы IBM 1130 в течение 2011 года» . Национальный музей вычислительной техники . Архивировано из оригинала 4 апреля 2019 года . Проверено 11 июля 2016 г.
  50. ^ «ИБМ 1130» . Компьютерный музей факультета компьютерных наук . Проверено 11 июля 2016 г.
  51. ^ Клаунч, Карл. «Спасение 1130» . Проверено 11 июля 2016 г.
  52. ^ https://museum.syssrc.com/ . {{cite web}}: Отсутствует или пусто |title= ( помощь )
  53. ^ https://vcfed.org/ . {{cite web}}: Отсутствует или пусто |title= ( помощь )
  54. ^ ПРП-11/20 и /15

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 69CE962E5F6AFCDECE6BCEEC7FD70CCF__1715290020
URL1:https://en.wikipedia.org/wiki/IBM_1130
Заголовок, (Title) документа по адресу, URL1:
IBM 1130 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)