Главная /
Ассемблер /
Для чайников /
Введение в Ассемблер /
Структура процессора
Упрощённая структура процессора показана на рис. 2.1.
Рис. 2.1. Структура процессора.
Основные элементы процессора:
- Регистры
- АЛУ – арифметико-логическое устройство
- БУ – блок управления
- ТГ – тактовый генератор
Регистры – это специальные ячейки памяти, физически расположенные внутри процессора.
В отличие от ОЗУ, где для обращения к данным требуется использовать шину адреса,
к
регистрам процессор может обращаться напрямую. Это существенно ускорят работу с данными.
Арифметико-логическое устройство выполняет арифметические операции,
такие как сложение, вычитание, а также логические операции.
Блок управления определяет последовательность микрокоманд, выполняемых
при обработке машинных кодов (команд).
Тактовый генератор, или генератор тактовых импульсов,
задаёт рабочую частоту процессора. С помощью тактовых импульсов выполняется синхронизация
для внутренних команд процессора и остальных устройств. Тактовый генератор вырабатывает
(генерирует) прямоугольные импульсы, которые следуют с определённой частотой (для разных
процессоров частота разная).
В теории электронно-вычислительных машин различают два понятия: машинный такт и машинный цикл.
Машинный такт соответствует одному периоду импульсов тактового генератора
и является основной единицей измерения времени выполнения команд процессором.
Машинный цикл состоит из нескольких машинных тактов. Машинный цикл – это время,
необходимое для выполнения одной команды.
Машинный цикл может отличаться для разных команд. Для простых команд может потребоваться
всего 1-2 машинных такта. В то время как для сложных команд, таких как умножение, может
потребоваться до 50 машинных тактов и более. Это очень важный момент. Когда вы будете
писать реальные программы, которые очень критичны к быстродействию, следует помнить о том,
что разные команды требуют соответствующего времени работы процессора. То есть одни и те
же действия можно выполнить, например, за 100 машинных тактов, а можно и за 20.
Это зависит от опыта и квалификации программиста, а также от конкретных задач.
Доработка программы таким образом, чтобы она выполнялась максимально быстро (то есть для её
выполнения требовалось как можно меньше машинных тактов) называется
оптимизация по быстродействию. В таких случаях часто приходится
чем-то жертвовать, например, усложнять программу или увеличивать её размер.
Есть и другие типы оптимизации, например, оптимизация по размеру.
В этом случае обычно жертвуют быстродействием, чтобы получить программу с минимальным
размером исполняемого файла. Выбор оптимизации зависит от конкретной задачи.
Вопросы оптимизации будут рассмотрены в соответствующем разделе.