- •1 Цель работы
- •2 Теоретические сведения
- •3.Контрольные вопросы
- •В чем особенности структурной организации ibm совместимых компьютеров?
- •В чем отличие внутреннего представления положительных и отрицательных чисел?
- •Поясните алгоритм выполнения команд процессором.
- •Когда цп может начать программу обслуживания прерывания?
- •Какой из регистров входит в состав алу?
- •Чем определяется разрядность регистра?
Поясните алгоритм выполнения команд процессором.
Ответ: Процессор обеспечивает выборку команды из памяти и её выполнение. Алгоритм работы процессора включает следующие шаги:
1. Определение адреса команды.
Адрес команды хранится в регистре счетчике команд и, в случае линейного выполнения программы, после выполнения каждой команды счетчик команд увеличивает содержимое на количество слов команды. В случае безусловного перехода в счетчик команд записывается адрес перехода. В современных процессорах выборка команд производится целым блоком, который записывается во внутренний КЭШ команд. Команды выполняются конвейером команд,таким образом, что одновременно может выполняться несколько команд на разных ступенях конвейера. Специальное устройство предсказывает последовательность выполнения команд, и производится опережающее выполнение тех команд, операнды которых на данный момент определены. Если действительный порядок выполнения команд отличается от предсказанного, последовательность команд выгружается из конвейера и производится загрузка конвейера новой последовательностью команд.
2. Выборка адреса команды.
Для чтения блока команд из оперативной памяти процессор устанавливает адрес блока команд на шине адреса и производит выборку.
3. Выборка команды.
Блок сопряжения выполняет ввод блока команд через интерфейс с памятью. Блок команд запоминается в КЭШ команд.
4. Дешифрация команды.
Если команда состоит из нескольких слов, то в дешифратор кода команды передается только первое слово команды, которое содержит код операции и признаки адресации. В этом случае по первому слову определяется длина команды и выбор следующих слов происходит по мере необходимости. Процесс дешифрации может быть разделен на первичную и вторичную. Первичная дешифрация определяет тип команды , ее цель - определяет к какой группе команд относится данная команда. Первичная дешифрация позволяет уменьшить объем алгоритма обработки программ за счет одинаковой обработки команд одного типа. Вторичная дешифрация выполняется на более поздних этапах, обычно после вычисления адресов операндов. Для команд арифметико-логической группы вторичная дешифрация может выполняться непосредственно в АЛУ;
5. Вычисление адресов операндов. Если команда адресная, то на следующем этапе вычисляются адреса операндов. Вычисление адреса и выборка для каждого операнда чередуются. Адрес операнда, если он является адресом ячейки ОЗУ, помещается в регистр адреса памяти;
6. Выборка операндов.
Выборка операндов производится для большинства адресных команд арифметико- логической группы. Содержимое ячейки памяти вводится в процессор для выполнения операции в АЛУ процессора. Если операнды размещаются во внутренних регистрах процессора, то операция выполняется значительно быстрее,чем при извлечении данных из памяти. Данные из оперативной памяти извлекаются блоками, которые помещаются в КЭШ данных внутри процессора.
7. Исполнение операции.
На этой стадии, если это необходимо, производится вторичная дешифрация команды непосредственно в АЛУ, где и выполняется операция над подготовленными заранее операндами. Кроме арифметических или логических операций могут выполняться операции по пересылке операндов, в этом случае операнд извлекается из соответствующего регистра и пересылается на место операнда- приемника. Если выполняется команда безусловного перехода, то вычисленный адрес перехода записывается в регистр - счетчик команд. Команды вызова подпрограмм требуют запоминания состояния вычислительного процесса. Для этого используется сохранение данных в стеке (области памяти, предназначенной для записи данных в определенной последовательности и их последовательного извлечения). Для записи данных в стек и их извлечения из стека используется специальный адресный регистр, автоинкрементно изменяющий адрес. Указатель стека всегда указывает на следующую после последнего обращения к стеку ячейку памяти.
8. Запись результата.
После выполнения команды результат операции обычно помещается в регистр аккумулятор. Затем он должен быть записан в оперативную память и , если это необходимо, выведен на внешнее запоминающее устройство, на дисплей монитора или передано другому внешнему устройству. Ввод и вывод информации для освобождения центрального процессора производят специальные каналы ввода/вывода. При этом канал управляется процессором ввода/вывода, который анализирует ситуацию и осуществляет обмен.
