Типовой микропроцессор
Рис. Упрощенная схема микропроцессора с пятью регистрами, блоком управления и арифметико-логическим устройством
На рисунке показана архитектура упрошенного микропроцессора, которая содержит пять регистров, блок управлении и арифметико-логическое устройство (arithmetic logic unit — ALU).
Регистр кода операции (operation code register — OSR) используется для сохранения команды (кода операции), выполняемой в текуший момент. Блок управления использует содержимое OSR. чтобы определить требуемые действия.
Регистр временного адреса (temporary addicts register — TAR) используется для сохранения операнда команды, если таковой должен быть обработан как адрес. Он выдает содержимое на шину адреса.
Регистр хранения данных (temporary address register — TDR) используется для хранения информации, которая должна быть обработана арифметическим устройством, поэтому выход регистра является входом в ALU.
Арифметико-логическое устройство выполняет арифметические или логические операции с данными, сохраняемым в регистре данных и в аккумуляторе.
Аккумулятор (АС) — это тоже регистр, который доступен программисту и используется для удержания такой информации, как результат текущей операции.
Регистр указателя команд (instruction pointer — IP, счетчик команд) выведен на шину адреса, чтобы его содержимое можно было использовать для адресации команд программы в основной памяти. Он является инкрементным регистром, то есть его содержимое может быть увеличено на единицу непосредственно сигналом от блока управления.
Выполнение команд в микропроцессоре происходит шаг за шагом на основе сигналов управления, поступающих от блока управления по внутренней шине команд. Блок управления выдает сигналы в соответствии с получаемыми синхроимпульсами.
Процесс выполнения команды состоит в следующем:
- Блок управления получает синхроимпульс.
- Блок управления выдает команды.
- Соответствующее устройство выполняет команду.
- Блок управления получает синхроимпульс.
- Блок управления выдает команду.
- Соответствующее устройство выполняет команду, и т.д.
Ниже дана типичная последовательность команд для сложения одного числа с другим, уже находящимся в аккумуляторе:
- Содержимое регистра IP помещается на шину адреса.
- Считывается информация из основной памяти и помешается на шину данных.
- Информация на шине данных копируется в регистр кода операции OSR.
- Содержимое регистра IР увеличивается на 1.
- Содержимое регистра IP помешается на шину адреса.
- Информация из основном памяти помещается на шину данных.
- Информация на шине данных копируется в регистр данных TDR.
- Арифметическое устройство складывает содержимое регистров TDR и АС и помещает результат на шину данных.
- Информация на шине данных копируется в регистр аккумулятора АС.
- Содержимое IР увеличивается на 1.
Теперь аккумулятор хранит результат текущей операции. Шаги с 1 по 4 представляют последовательность выборки, а шаги с 5 по 10 — последовательность выполнения. Если последовательность выборки-выполнения, описанная выше, была повторена, скажем, раз 9, это было бы эквивалентно умножению числа в аккумуляторе на 10! Это наглядный пример того, на каком базовом уровне осуществляются операции внутри компьютера.
Теперь предстоит совершить огромный шаг вперед. Можно проследить, как микропроцессор в устройстве управления двигателем сравниваем значение, расположенное в ячейке оперативной памяти RAM, со значением в ячейке постоянной памяти ROM. Например, результат сравнения мгновенной скорости вращения двигателя в RAM с таблицей данных в ROM может использоваться для изменения момента зажигания в соответствии с заданной в «прошивке» зависимостью.
Добавить комментарий