Организация работы и функционирование процессора



 

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

· перемещает блок информации из оперативной памяти в регистры процессора;

· перемещает блок информации из регистров процессора в оперативную память компьютера;

· получает блок информации извне через один из портов и помещает ее в регистр процессора;

· выводит блок информации из регистра процессора через один из портов во внешнюю среду;

· инициирует операцию вычисления, выполняемую процессором: операция совершается над величинами, хранящимися в регистрах процессора, и результат помещается в другие или те же регистры;

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

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

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

Написание программ для микропроцессорной системы — важнейший и часто наиболее трудоемкий этап разработки такой системы. А для создания эффективных программ необходимо иметь хотя бы самое общее представление о системе команд используемого процессора. Самые компактные и быстрые программы и подпрограммы создаются на языке Ассемблер, использование которого без знания системы команд абсолютно невозможно, ведь язык Ассемблер представляет собой символьную запись цифровых кодов машинного языка, кодов команд процессора. Конечно, для разработки программного обеспечения существуют всевозможные программные средства. Пользоваться ими обычно можно и без знания системы команд процессора. Чаще всего применяются языки программирования высокого уровня, такие как Паскаль и Си. Однако знание системы команд и языка Ассемблер позволяет в несколько раз повысить эффективность некоторых наиболее важных частей программного обеспечения любой микропроцессорной системы — от микроконтроллера до персонального компьютера.

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

 


Дата добавления: 2022-01-22; просмотров: 157; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!