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

Центральный процессор

Центральный 32-разрядный процессор работает на частоте до 30 МГц. Аппаратный планировщик CPU организует в режиме разделения времени одновременное выполнение нескольких процессов.

Каждому процессу в момент его создания в адресном пространстве выделяется рабочая область памяти и устанавливается его приоритет. Реализована двухуровневая система приоритетов: 0  высокий приоритет, 1  низкий приоритет. Адрес рабочей области и приоритет образуют дескриптор процесса.

Центральный процессор содержит два регистра таймера. Высокоприоритетный регистр инкрементируется каждую мкс, а низкоприоритетный  каждые 64 мкс.

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

Регистры общего назначения A, B, C образуют регистровый стек с FIFO режимом ;-) (A  вершина. Операнды помещаются в A и происходит смещение A  B, B  C; результат операции формируется в регистре A).

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

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

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

Выполнение операций с плавающей точкой, распознавание команд и передача их на выполнение осуществляется аппаратно в CPU, там же выполняется вычисление адресов операндов и загрузка их в FPU, который также содержит три регистра A, B, C. После передачи команды на исполнение в FPU CPU продолжает выполнение потока команд, если команда относится к первому классу или ожидает результат выполнения, если команда относится ко второму классу.

Распределение памяти в транспьютерах

Может быть адресовано до 232=4 Гб. Адресация начинается с отрицательного адреса 8000:0000 (доп. код). Структурно вся оперативная память подразделяется на внутрикристальную и внешнюю. Объём внутрикристальной равен 2 или 4 Кб. Внешняя и внутренняя памяти равнодоступны и имеют единую адресацию. Внутрикристальная память находится в младших адресах. В неё обычно помещают наиболее часто используемые подпрограммы, т.к. время доступа к ней меньше.

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

Диспетчеризация процессов

Каждый из процессов в данный момент времени может быть:

  1. Выполняемым

  2. Активным (готовым к выполнению и находящимся в очереди соответствующего приоритета)

  3. Ожидающим сигнала таймера

  4. Ожидающим ввода/вывода

Для выполняющегося процесса регистр I содержит адрес выполняемой команды, а W  его дескриптор. Для организации очереди процессов используется две пары регистров, указывающих на начало и конец очереди высокого и низкого приоритетов:

Fptr0 Bptr0

Fptr1 Bptr1

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

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

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

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