Рассылка

Год издания: 1978

Джермейн К.Б.

Программирование на IBM/360

Автор: Джермейн К.Б.. Программирование на IBM/360. Издатель книги: Издательство «Мир». Книга будет интересна библиофилам по теме: эвм. история компьютеров и информатики, учебники и пособия. Антикварное издание выпущено в: 1978. Это редкое старинное издание выпущено в Москва

Подробнее


Издатель: Издательство «Мир»

Издательство «Мир»

1 шт на складе

Внимание: ограниченное количество товара в наличии!

54 €

Учебное пособие по обучению (и самообучению) программированию для вычислительной системы IBM/360. Помимо описания общих принципов работы ЭВМ и программирования читатель здесь найдет
--- практически полное описание архитектуры IBM/360, т. е. описание ее структуры и функционирования с точки зрения программиста;
--- описание типовых устройств ввода --- вывода;
--- описание общих принципов работы с массивами данных (файлами);
--- описание основ организации математического обеспечения, в частности описание языков управления заданиями для различных используемых на IBM/360 операционных систем;
--- описание наиболее распространенных языков программирования (PL/1, Фортран, Кобол, язык Ассемблера).
Книга представляет большой интерес для специалистов по вычислительной технике и программированию. Она будет полезна научным работникам, преподавателям, аспирантам и студентам многих специальностей.

Разумеется, никакой революции System/360 не смогла бы совершить, если бы у нового семейства ЭВМ не было тщательно продуманной и спроектированной архитектуры (потом позаимствованной и советскими разработчиками). Два основных руководства назывались «IBM System/360 Principles of Operation» и «IBM System/360 I/O Interface Channel to Control Unit Original Equipment Manufacturers' Information manuals».



Что предлагалось разработчикам в System/360? Шестнадцать 32-битных регистров общего назначения, именовавшихся от R0 до R15. Четыре 64-битных регистра для чисел с плавающей запятой, они именовались FP0, FP2, FP4 и FP6. Один 64-битный регистр состояния (Program Status Word или PSW), помимо прочего содержащий 24-битный адрес инструкции.

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

Прерывания делились на 5 «классов» в зависимости от приоритета. С каждым классом были ассоциированы две ячейки памяти размером в двойное слово: старый PSW и новый PSW. Когда происходило прерывание, текущее значение PSW вместе с кодом прерывания сохранялось на место старого PSW, а в сам регистр загружалось значение из нового PSW, вызывая переход в обработчик. Классы прерываний были следующими (в порядке возрастания приоритета).

Прерывания ввода/вывода: сигнализировали о разнообразных событиях ввода-вывода, в том числе и таких затратных по времени как, например, завершение перемотки пленки.

Программные прерывания. Сигнализировали о возникновении одного из 15 исключений в ходе выполнения программы. Некоторые из этих прерывания могли быть подавлены с помощью сброса соответствующих флагов в PSW.

Прерывание вызова супервайзора. Происходило в результате выполнения инструкций, обращенных к супервайзору.

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

Прерывание машинной проверки, происходило в случаях аппаратных сбоев, например при ошибке четности при проверке содержимого регистров.

Как уже понятно, для адресации памяти использовались 24 бита, что позволяло адресовать 16 мегабайт памяти, но начиная с модели 67 появилась возможность 32-битной адресации, что расширило объем адресуемой (теоретически) памяти до 4 гигабайт. Использовался big-endian порядок, то есть от старшего к младшему. Различные инструкции позволяли работать с байтами, полу-словами (2 байта), полными словами (4 байта), двойными и четверными словами (соответственно 8 и 16 байт).

Штатно поддерживались следующие типы данных:

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

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

Инструкции могли быть длиной 2, 4 или 6 байт, при этом код операции хранилися в нулевом байте, а остальное занимало описание операндов. Инструкции выравнивались по границам полуслова, поэтому самый младший бит в адресе текущей инструкции всегда был равен нулю.

Интересно в System/360 был реализован ввод-вывод. Операции ввода-вывода выполнялись концептуально обособленными процессорами, которые назывались «Каналами». У каналов были собственные наборы инструкций, и они работали с памятью независимо от программы, выполнявшейся центральным процессором. В недорогих моделях для поддержки каналов использовался «движок» микрокода центрального процессора, в более дорогих — каналы размещались в собственных шкафах.



Очень необычно в IBM подошли к управлению своей ЭВМ. Они определили определенный набор функций, не уточняя при этом с помощью каких именно физических средств они должны реализовываться. Это позволило сделать управление универсальным, не зависящим от конкретного железа, для отдачи команд и вывода результатов в ход могло идти любое оборудование: кнопки, наборные диски, клавиатуры, текст и графика на мониторах и т.п. Любая отсылка к «кнопке» или «переключателю» могла означать любой из возможных вводов, начиная со светового пера и заканчивая выбором опции на экране с помощью ввода с клавиатуры.

В различных моделях System/360 использовались разные дополнительные возможности, расширявшие базовые.

Защита записи. Если система поддерживала эту опцию, то каждому блоку внешних хранилищ размером в 2 Кб присваивался ключ, который проверялся при записи на это хранилище каналом. То есть каждый канал мог писать только в «свои» блоки. Обычно канал с нулевым адресом использовался самой операционной системой, и для него проверка ключа не осуществлялась. Этот подход позволял защитить системные файлы от стирания пользовательскими программами. В очень редких моделях так же была возможность выставить и защиту от чтения.

Поддержка мультисистемности. Расширение набора команд, позволявшее работать нескольким процессорам одновременно.

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

Интервальный таймер. С этой опцией процессор осуществлял периодический декремент слова, находящегося в памяти по адресу 0x50, когда это значение достигало нуля, происходило прерывание. Младшие модели уменьшали число с частотой, совпадавшей с частотой электрической сети (50 или 60 Гц), старшие модели были оснащены таймерами с куда более высоким разрешением.


Перевод с английского под редакцией В.С. Штаркмана

Автор: Джермейн К.Б.
Год издания: 1978
Место издания: Москва
Издатель, типография: Издательство «Мир»
Переплет книги: Современный переплет
Сохранность лота: Отличная
Формат размера издания: Издание стандартного формата(от 120х165 до 170х240мм)



  • Переплет книги: Современный переплет
  • Год издания: 1978
  • Формат размера издания: Издание стандартного формата(от 120х165 до 170х240мм)
  • Автор: Джермейн К.Б.
  • Сохранность лота: Отличная
  • Издатель, типография: Издательство «Мир»
  • Место издания: Москва

ПОХОЖИЕ ИЗДАНИЯ: 73 похожих товаров найдено в продаже.

Свяжитесь с нами

Телефон магазина

Телефон:+371 20 511 000

Электронная почта

PayPal