Слайд 2Основная функция любого процессора, ради которой он и создается, — это выполнение
команд.
Система команд, выполняемых процессором, представляет собой нечто подобное таблице истинности логических элементов или таблице режимов работы более сложных логических микросхем. То есть она определяет логику работы процессора и его реакцию на те или иные комбинации внешних событий.
Слайд 3Система команд - это набор допустимых для данного процессора управляющих кодов и способов
адресации данных. Система команд жестко связана с конкретным типом процессора, поскольку определяется аппаратной структурой блока дешифрации команд, и обычно не обладает переносимостью на другие типы процессоров.
Слайд 4Типовая структура формата команды:
1. КОП - код операции - двоичный код, однозначно
указывающий процессору на выполнение конкретных действий (пересылка, сложение и т.п.), и определяющий при этом форму задания адресов операндов; 1 или 2 байта;
2. АЧ - адресная часть - двоичное число, которое может представлять собой адрес (адреса) операндов, значение операнда, адрес следующей команды (адрес перехода, передачи управления). От 1 до 4 байт.
Слайд 5Индексная адресация
При обработке больших массивов данных, выбираемых последовательно друг за другом, нет
смысла каждый раз обращаться в память за новым адресом. Для этого достаточно автоматически менять содержимое специального регистра, называемого индексным, чтобы выбирать последовательно размещенные данные.
Дальнейшая адресация осуществляется путем автоматического добавления или вычитания единицы или шага адреса из его содержимого.
Слайд 7Регистр
Регистр процессора — сверхбыстрая оперативная память внутри процессора, предназначенная для хранения промежуточных
результатов вычисления.
Регистр представляет собой цифровую электронную схему, служащую для временного хранения двоичных чисел. В процессоре имеется значительное количество регистров, большая часть которых используется самим процессором и недоступна программисту.
Некоторые регистры програмно доступны, но им пользуются в основном разработчики операционных систем.
Слайд 8Альтернативный взгляд
Регистр – линейка триггеров!
Слайд 9Классификация регистров
По типу приёма и выдачи информации различают 2 типа регистров:
С последовательным
приёмом и выдачей информации — сдвиговые регистры.
С параллельным приёмом и выдачей информации — параллельные регистры.
Слайд 10По назначению регистры различаются на:
аккумулятор — используется для хранения промежуточных результатов арифметических
и логических операций и инструкций ввода-вывода;
флаговые — хранят признаки результатов арифметических и логических операций;
общего назначения (РОН) — хранят операнды арифметических и логических выражений, индексы и адреса;
индексные — хранят индексы исходных и целевых элементов массива;
указательные — хранят указатели на специальные области памяти (указатель текущей операции, указатель базы, указатель стека);
сегментные — хранят адреса и селекторы сегментов памяти;
управляющие — хранят информацию, управляющую состоянием процессора, а также адреса системных таблиц
Слайд 11Структура команд процессора. Понятия рабочего цикла, такта. Принципы распараллеливания и конвейерных структур.
(2
часа)
Слайд 12Машинная команда представляет собой код, определяющий операцию вычислительной машины и данные, участвующие в
операции. Команда должна содержать в явной или неявной форме информацию об адресе результата операции, и об адресе следующей команды.
Машинная операция – действия машины по преобразованию информации, выполняемые под воздействием одной команды.
Программа – последовательность команд.
Слайд 13По характеру выполняемых операций различают следующие основные группы команд:
арифметические операции над числами
с фиксированной или плавающей точкой;
команды двоично-десятичной арифметики;
логические (поразрядные) операции;
пересылка операндов;
операции ввода-вывода;
передача управления;
управление работой центрального процессора.
Слайд 14Представление команды
Структура команды определяется составом, назначением и расположением полей в команде.
Формат команды – это
структура команды с разметкой номеров разрядов, определяющих границы отдельных полей команды.
Слайд 15Возможные структуры
Четырехадресная
Трехадресная
Двухадресная
Одноадресная адресная
Безадресная
Слайд 16Четырехадресная - полная информация о выполняемой операции. Порядок выборки команд называется принудительным.
Он использовался в первых моделях ВМ, имеющих небольшое число команд и очень незначительный объем ОП, поскольку длина такой команды зависит от разрядности адресов операндов и результата.
Слайд 17Трехадресная - используется в ВМ, построенных так, что после выполнения команды по
адресу K (команда занимает L ячеек памяти) выполняется команда по адресу K+L. Такой порядок выборки команд называется естественным.
Он нарушается только специальными командами передачи управления. При естественном порядке выборки адрес следующей команды формируется в устройстве, называемом счетчик адреса команд
Слайд 18Двухадресная - используется в ВМ, построенных так, что результат операции будет всегда
помещаться в фиксированный регистр процессора.
Адрес результата может явно не указываться.
Слайд 19Одноадресная - подразумеваемые адреса имеют результат операции и один из операндов. При
этом один из операндов и результат операции размещаются в одном фиксированном регистре. Выделенный для этой цели внутренний регистр процессора получил название аккумулятор.
Адрес другого операнда указывается в команде.
Слайд 20Безадресная - фиксирует адреса обоих операндов и результата операции, например при работе
со стековой памятью.
Слайд 21Принципы распараллеливания
Распараллеливание программ — процесс адаптации алгоритмов, записанных в виде программ, для их
эффективного исполнения на вычислительной системе параллельной архитектуры (в последнее время, как правило, на многопроцессорной вычислительной системе).
Заключается либо в переписывании программ на специальный язык, описывающий параллелизм и понятный трансляторам целевой вычислительной системы, либо к вставке специальной разметки.