Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
механики_5_курс.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
43.77 Кб
Скачать

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

Рис. 4.1. Устройство компьютера.

Н а рисунке показано устройство обычного компьютера. Центральный процессор – это мозг компьютера. Его задача – выполнять программы, находящиеся в основной памяти. Он вызывает команды из памяти, определяет их тип, а затем выполняет их одну за другой. Компоненты соединены шиной, представляющей собой набор параллельно связанных проводов, по которым передаются адреса, данные и сигналы управления. Шины могут быть внешними (связывающими процессор с памятью и устройствами ввода-вывода) и внутренними.

Процессор состоит из нескольких частей. Блок управления отвечает за вызов команд из памяти и определение их типа. Арифметико-логическое устройство выполняет арифметические операции (например, сложение) и логические операции (например, логическое И).

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

Самый важный регистр – счетчик команд, который указывает, какую команду нужно выполнять дальше. Название «счетчик команд» не соответствует действительности, поскольку он ничего не считает, но этот термин употребляется повсеместно. Еще есть регистр команд, в котором находится команда, выполняемая в данный момент. У большинства компьютеров имеются и другие регистры, одни из них многофункциональны, другие выполняют только какие-либо специфические функции.

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

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

    1. 4. 1 Устройство центрального процессора

Процессоры характеризуются рядом параметров. Основными считаются тактовая частота и длина машинного слова.

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

Внутреннее устройство тракта данных типичного фон-неймановского процессора показано на рис. 4.2. Тракт данных состоит из регистров (обычно от 1 до 32), АЛУ (арифметико-логического устройства) и нескольких соединяющих шин. Содержимое регистров поступает во входные регистры АЛУ, которые на рис. 4.2 обозначены буквами А и В. В них находятся входные данные АЛУ, пока АЛУ производит вычисления.

Рис. 4.2 Тракт в обычной фон-неймановской машине.

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

Большинство команд можно разделить на две группы: команды типа регистр-память и типа регистр-регистр. Команды первого типа вызывают слова из памяти, помещают их в регистры, где они используются в качестве входных данных АЛУ. («Слова» – это такие элементы данных, которые перемещаются между памятью и регистрами.) Словом может быть целое число. Другие команды этого типа помещают регистры обратно в память. ( На самом деле размер слова обычно соответствует разрядности регистра данных. Так, например, у 16-битных микропроцессоров 8086 и 8088 слово было 16-битным, а у 32-битных микропроцессоров слово имеет длину 32 бита.)

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

    1. 4.2 Машинные команды и прерывания

4.2.1 Структура машинной команды

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

Каждая машинная команда характеризуется длиной, и, если она находится в поле оперативной памяти, то и адресом.

Формат машинной команды – это исчерпывающе полный набор правил ее кодирования.

Адресность машинной команды

Единственным обязательным элементом МК является ее код. Также в составе команды обычно имеется несколько операндов. Наибольшее число операндов имеют четырехадресные команды. Первые 2 из них задают, например, слагаемые, третий – место, куда будет записан результат, четвертый – адрес команды, которую процессор должен выполнить следующей.

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

Существуют также одноадресные и безадресные команды. (Задание: пример)

Способы адресации

Способы задания операндов в команде принято называть адресацией.

Основные способы адресации:

  1. Непосредственная адресация – код операнда включается в МК как ее составная часть;

  2. Регистровая адресация – операнд находится в регистре процессора, а в команде указывается код регистра;

  3. Прямая адресация – операнд находится в поле оперативной памяти, а в МК указан адрес этого поля;

  4. Косвенная адресация – операнд находится в поле оперативной памяти, а в МК содержатся некоторые элементы, по которым однозначно определяется адрес этого поля.

Машинный и ассемблерный форматы команд

В качестве конкретного примера рассмотрим одноадресную МК с кодом 0100 0101.

Первые 5 битов этой команды являются кодом операции, а последние 3 (101) – кодом регистра процессора bp (указатель базы). По этой команде выполняются следующие действия:

  1. Из bp выбирается двухбайтный код и переносится в АЛУ;

  2. К выбранному коду добавляется 1;

  3. Результат записывается в bp.

В таком виде воспринимать команды человеку очень сложно. Поэтому используются мнемокоды. Например, мнемокод inc увеличивает значение операнда на 1. Он как раз соответствует коду операции 01000, а мнемокод bp заменяет в команде код регистра 101. Таким образом, можно записать inc bp. Это ассемблерный формат записи команды.

Выполнение команд

Центральный процессор выполняет каждую команду за несколько шагов:

1) вызывает следующую команду из памяти и переносит ее в регистр команд;

2) меняет положение счетчика команд, который теперь должен указывать на

следующую команду (Это происходит после декодирования текущей команды, а иногда и после ее выполнения);

3) определяет тип вызванной команды;

4) если команда использует слово из памяти, определяет, где находится это слово;

5) переносит слово, если это необходимо, в регистр центрального процессора. (Следует заметить, что бывают команды, которые требуют загрузки из памяти целого множества слов и их обработки в рамках одной-единственной команды);

6) выполняет команду;

7) переходит к шагу 1, чтобы начать выполнение следующей команды.

Такая последовательность шагов (выборка–декодирование–исполнение) является основой работы всех компьютеров.

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

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