- •Обработка данных
- •Вентили и триггеры
- •Другие методы хранения данных
- •Шестнадцатеричная система счисления
- •Основная память
- •Массовая память
- •Магнитные диски
- •Компакт-диски
- •Магнитная лента
- •Сохранение и считывание файлов
- •Представление числовых значений
- •Представление изображений
- •Представление целых чисел
- •Двоичный дополнительный код
- •Сложение чисел в двоичном дополнительном коде
- •Двоичная нотация с избытком
- •Наиболее распространенные типы цп
- •Интерфейс между цп и основной памятью
- •Машинные команды
- •Команды передачи данных
- •Арифметические и логические команды
- •Команды управления
- •Концепция хранимой программы
- •Представление машинных команд в виде битовых комбинаций
- •Машинный язык
- •Коды операций
- •Операнды
- •Пример программы
- •Сравнение производительности компьютеров
- •Пример выполнения программы
- •Программы и данные
- •Операции сдвига
- •Арифметические операции
- •Скорость передачи данных
- •Конструкция шины
- •Cisc- и risc-архитектура компьютеров
- •Конвейерная обработка
- •Многопроцессорные машины
- •Машинный язык
Пример программы
Закончим этот раздел примером закодированной последовательности команд, приведенной на рис. 2.2. Предположим, что суммируемые числа представлены в дополнительном двоичном коде и хранятся в ячейках памяти с адресами 6С и 6D, а сумму этих чисел необходимо поместить в ячейку памяти с адресом 6Е.
Этап 1 156С
Этап 2 166D
Этап З 5056
Этап 4 306Е
Этап 5 С000
Выполнение программы
Компьютер выполняет хранимую в его памяти программу посредством копирования команд из основной памяти в блок управления (по мере необходимости). Как только команда попадает в блок управления, она декодируется, после чего выполняется. Порядок, в котором команды выбираются из памяти, соответствует порядку их размещения в памяти, за исключением случаев выполнения команды перехода JUMP. Чтобы представить себе общий процесс выполнения команд, необходимо познакомиться с тем, как блок управления функционирует внутри процессора. Этот блок включает два специализированных регистра: счетчик адреса и регистр команд (см. рис. 2.4). Счетчик адреса содержит адрес следующей выполняемой команды, т.е. он предназначен для наблюдения за ходом выполнения программы. Регистр команды используется для хранения кода выполняемой команды.
Блок управления работает в режиме постоянного повторения алгоритма, называемого машинным циклом, который состоит из трех этапов: выборки, декодирования и выполнения (рис. 2.6). На этапе выборки блок управления извлекает из основной памяти ту команду, которая должна выполняться следующей. Блок управления знает, где именно в памяти находится требуемая команда, поскольку ее адрес содержится в счетчике адреса. Блок управления помещает считанную команду в регистр команд, а затем увеличивает значение в счетчике адреса так, чтобы он содержал адрес следующей команды.
Рис 2.6 Схема машинного цикла
Когда команда поступает в регистр команды, блок управления декодирует ее. Эта процедура включает и разбиение поля операндов на соответствующие составляющие части, исходя из кода операции данной команды.
Затем блок управления выполняет команду посредством активизации соответствующей схемы, предназначенной для выполнения поставленной задачи. Например, если команда представляет собой операцию загрузки данных из основной памяти, блок управления выполняет загрузку требуемых данных; если же команда предусматривает выполнение арифметической операции, то блок
управления активизирует соответствующую схему в арифметико-логическом блоке, указывая в качестве входных регистры, заданные в команде.
Когда обработка команды будет завершена, блок управления вновь начинает выполнение алгоритма машинного цикла с первого этапа. Напомним, поскольку в конце предыдущего этапа выборки счетчик адреса был увеличен, он по-прежнему предоставляет блоку управления корректный адрес следующей выполняемой команды.
Особым случаем является команда перехода JUMP. Давайте рассмотрим выполнение команды с кодом В258, которая имеет следующий смысл: "Выполнить переход к команде, сохраняемой по адресу 58, если содержимое регистра 2 идентично содержимому регистра 0". В этом случае этап выполнения в машинном цикле начинается со сравнения содержимого регистров 2 и 0. Если оно различно, то этап выполнения этой команды завершается и начинается выполнение нового машинного цикла. Если же содержимое указанных регистров одинаково, то машина на этом этапе поместит в счетчик адреса значение 58. Теперь на этапе выборки следующего машинного цикла блок управления обнаружит в счетчике адреса значение 58, поэтому следующей будет выполнена команда, расположенная по этому адресу.
Для координации действий, выполняемых на протяжении машинного цикла, необходимо обеспечить синхронизацию работы различных схем машины. С этой целью на соответствующие электронные схемы подается импульсный сигнал, который называется сигналом синхронизации. Амплитуда этого сигнала изменяется между уровнями 0 и 1, а различные электронные схемы машины разрабатываются таким образом, чтобы они приводились в действие тем или иным фронтом импульса синхронизирующего сигнала. В результате тактовая частота этого сигнала фактически определяет ту скорость, с которой центральный процессор выполняет свой машинный цикл.