АО компьютера
Еще один регистр - указатель стека (SP - Stack Pointer). Он содержит адрес вершины стека в памяти. Стек содержит по одному фрейму (области данных) для каждой процедуры, которая уже начала выполняться, но еще не закончена. В стеке процедуры хранятся ее выходные параметры, а также локальные и промежуточные переменные, не хранящиеся в регистрах.
Следующий регистр называется "слово состояния ЦП" (PSW - Processing Status Word). Этот регистр содержит биты кода состояний, которые задаются командами сравнения, приоритетом ЦП, режимом (пользовательский или режим ядра) и другую служебную информацию.
Пользовательские программы могут читать весь регистр PSW, но
писать могут только в некоторых из его полей. Регистр PSW играет важную роль в системных
вызовах и операциях I/O. При временном мультиплексировании ЦП ОС останавливает работающую
программу для запуска другой. Каждый раз при таком прерывании ОС должна сохранять все
регистры ЦП, чтобы позже, когда прерванная программа продолжит свою работу, их можно было
восстановить. Для повышения быстродействия ЦП их разработчики отказались от простой модели,
когда за один такт может быть считана, декодирована, выполнена только одна команда.
Современные ЦП обладают возможностью выполнения нескольких команд одновременно. Например, у
ЦП могут быть отдельные модули, занимающиеся выборкой, декодированием и выполнением команд,
и во время выполнения команды с номером n
он может декодировать команду с номером n+1 и считывать команду с номером
n+2. Такая организация называется
конвейером, и три его стадии можно проиллюстрировать схемой.
Встречаются и более длинные конвейеры. Более передовым по сравнению с конвейерной конструкцией является суперскалярный ЦП. В этой структуре присутствует множество выполняющих узлов: один - для целочисленных арифметических операций, второй - для операций с плавающей точкой, один - для логических операций. За один такт считывается две или более команд, которые декодируются и сбрасываются в буфер хранения, где ждут своей очереди на выполнение. Когда выполняющее устройство освобождается, оно просматривает буфер хранения, выбирает команду, если она там есть, и выполняет ее.
В большинстве случаев АО должна гарантировать, что результат совпадает с тем, который выдала бы последовательная конструкция.
предыдущаяследующая