Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора UNIX.doc
Скачиваний:
29
Добавлен:
15.06.2014
Размер:
530.43 Кб
Скачать

Ввод / вывод

Ввод/вывод для процессов транспьютера организуется одинаково как при использовании аппаратных линков, так и при использовании виртуальных линков (обмен между процессами одного транспьютера).

В обмене участвуют только два процесса: один выводит данные, а другой  вводит. В момент инициализации канала и после завершения обмена канал инициализируется специальной константой MinInt.

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

Если содержимое слова состояния канала не равно MinInt => данный процесс подошёл к обмену вторым и в слове состояния канала находится дескриптор процесса, ранее инициировавшего обмен. По этому дескриптору находятся данные при операции ввода или буфер для данных в случае операции вывода.

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

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

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

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

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

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

Транспьютероподобные процессоры

серии Квант

Это семейство 32-разрядных процессоров с оригинальной структурой, сочетающей RISC-подход с методикой длинного командного слова. Характеризуется:

  1. Высокой степенью внутреннего параллелизма процессов обработки

  2. Конвейерное выполнение команд

  3. Гарвардской архитектурой памяти

  4. Наличием последовательных коммуникационных каналов или линков.

Микропроцессор работает с внешними раздельными КЭШ-памятями команд и данных и может использовать сопроцессор. Память данных может хранить только данные, а память команд – как команды, так и данные. Такой подход называется Модифицированной Гарвардской архитектурой.

Устройство управления

Процессор выбирает из памяти команд 32-разрядные команды, и помещает их сначала в первый, а затем во второй регистр команд. Далее декодируются команды и формируются управляющие сигналы для всех функциональных блоков процессора. Блок управления прерываниями обеспечивает приоритетную схему обработки десяти типов внешних и внутренних прерываний. Блок ПДП позволяет выполнять вычисления одновременно с обменом данными по четырем коммуникационным каналам. Блок защиты данных предназначен для защиты фрагментов памяти команд и данных, выделяемых под операционную систему.

Адресное устройство

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

Адресное устройство содержит в программном счетчике адрес следующей команды, поддерживает в памяти стек адресов возврата из подпрограммы, выполняет все вычисления адреса в 16-разрядном адресном сумматоре. Файл адресных регистров содержит 8 или 4 16-разрядных адресных регистра.

Арифметическое устройство

Арифметический блок способен выполнять 16 логических и 14 арифметических операций, в том числе байтовые операции или пошаговое умножение 32-разрядного множимого на 2 разряда множителя. Логический блок параллельно может выполнять логические операции с арифметическими. Все операции выполняются над 32-разрядными операндами за один такт. Универсальный сдвигатель способен выполнять за один такт логический, арифметический или циклический сдвиг 32-разрядного слова влево или вправо на число разрядов от 0 до 31, а также осуществлять циклические сдвиги внутри байтов, тетрад и пар.

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

Системные устройства

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

Конвейер процессоров

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

Система команд

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

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

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