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



ЗНАЕТЕ ЛИ ВЫ?

Неймановский принцип программного управления.

Поиск

Принцип программного управления может быть реализован многими способами, как кардинально различными, так и различными фрагментарно. Один из принципов реализации программного управления был предложен Джоном Нейманом в 1945 году и этот принцип стал основополагающим для построения всех типов компьютеров. В основе неймановского принципа лежит представление алгоритмов в виде операторных схем.

Неймановский принцип программного управления состоит в следующем:

1.Инф. кодируется в двоичной форме и разделяется на единицы информации, наз. словами. Различные слова разделяются не способами кодирования, а способами использования.

2.Слова размещаются в ячейках памяти компьютера и идентифицируютс номерами ячеек,кот.определяют адрес слова.

3.Алгоритм представляется как последовательность управляющих слов, называемых командами (инструкциями). Команда определяет наименование операции и слова, участвующие в операции в качестве операндов и результатов. Алгоритм представляется в виде терминов машинных команд, называемых программой.

4.Выполнение программы сводится к последовательному выполнению команд в порядке, определяемом самой программой.

1 N

Слово:

b - 0 или1 бит

N- количество битов, определяющих длину слова. Биты называют разрядами слова. Кроме бита в качестве единицы информации используют байт, состоящий из 8 бит.

Память – это склад для хранения данных, в котором ячейки нумеруются натуральными числами 0,1,2,3….Е-1, где Е –емкость памяти. Чтобы записать слово или прочитать его необходимо указать адрес ячейки А (место, где хранится слово). Команды имеют определенную адресную структуру.

Код оп адрес 1 адрес К

области области

участв участв

в опер в опер

Код операции определяет наименование операции, исполняемой компьютером. Обычно команда представляется в следующем виде:

Это выражение определяет структуру команды. КО указывает на одну из 2 команд. Адреса А1,,…Ак являются адресами операндов. Основные команды реализуются в следующем виде:

1]*[А2]Þ[А3]

Содержимое ячеек [А1][А2][А3]

Операция, определяемая КО *

Операция присваивания Þ

При использовании операции перехода, в адресной части которой указываются адреса последующих команд. Выбор направления перехода определяется признаком результата:

Положительный или отрицательный результат. Чаще всего тип команды и тип данных неотделимы друг от друга и имеют вид двоичного слова:

Процесс вычисления по заданной программе состоит в последовательном выполнении команд.

Первая выполняемая команда задана начальным адресом. Адрес следующей команды однозначно определяется в процессе текущей команды. А, А+1, А+2,…………

Команда перехода определяет адрес следующей команды принудительно.

 

 

 

Структура и форматы команд ЭВМ

Обработка информации в ЭВМ осуществляется путём программного управления.

Программа представляет собой алгоритм обработки информации, записанной в виде последовательности команд, которые должны быть выполнены машиной для полу­чения результата.

Команда ЭВМ представляет собой код, определяющий операцию вычислительной машины и данные, участвующие в операции. В явной и неявной форме команда содержит также информацию об адресе, по которому помещается результат операции, и об адресе следующей команды.

По характеру выполняемых операций можно выделить следующие группы команд:

¨ команды арифметических операций для чисел с фиксированной или плавающей запятой;

¨ команды десятичной арифметики;

¨ команды передачи данных (MOV AX, 0FFFh);

¨ команды операций ввода/вывода (IN, OUT);

¨ команды логических операций (AND, OR, NOT);

¨ команды передачи управления (управление циклом – LOOP, условные переходы – JAE, JB);

¨ команды задания режима работы машины и др.

 

Форматы команд ЭВМ

В команде, как правило, содержатся не сами операнды, а информация объект адресах ячеек памяти или регистрах, в которых они находятся. Код команды можно представить состоящим из нескольких полей, каждое из которых имеет свое функциональное назначение.

В общем случае команда состоит из:

¨ операционной части (содержит код операции);

¨ адресной части (содержит адресную информацию о местонахождении обрабатываемых данных и месте хранения результатов).

В свою очередь, эти части, что особенно характерно для адресной части, могут состоять из нескольких полей.

Структура команды определяется составом, назначением и расположением полей в коде.

Форматом команды называется заранее оговоренная структура полей ее кода с разметкой номеров разрядов (бит), определяющих границы отдельных полей команды, или с указанием числа разрядов (бит) в определенных полях, позволяющая ЭВМ распознавать составные части кода.

Пример формата команды процессора i486.

mod r/m - спецификатор режима адресации;

r/m - регистр памяти;

SS - масштабный множитель для режима масштабирования индексной адресации;

 

 

 

 

КОП - код операции;

index - определяет индексный регистр;

base - определяет базовый регистр.

 

Важной и сложной проблемой при проектировании ЭВМ является выбор структуры и форматов команды, т.е. ее длины, назначения и размерности отдельных ее полей. Естественно стремление разместить в команде в возможно более полной форме информацию о предписываемой командой операции. Однако в условиях, когда в современных ЭВМ значительно возросло число выполняемых различных операций и соответственно команд (в компьютерах с CISC-архитектурой более 200 команд) и значительно увеличилась емкость адресуемой основной памяти (32, 64 Мб), это приводит к недопустимо большой длине формата команды.

Вместе с тем, для упрощения аппаратуры и повышения быстродействия ЭВМ длина формата команды должна быть по возможности короче, укладываться в машинное слово или полуслово. Решение проблемы выбора формата команды значительно усложняется в микропроцессорах, работающих с коротким словом.

Проследим изменения классических структур команд.

Чтобы команда содержала в явном виде всю необходимую информацию о задаваемой операции, она должна, как это показано на рис. 3.1 (б), содержать следующую информацию: А1, А2 - адреса операндов, А3 - адрес результата, А4 - адрес следующей команды (принудительная адресация команд).

 

 

Рис. 3.1. Структуры команд: а) обобщенная, б) четырехадресная, в) трехадресная, г) двухадресная, д) одноадресная, е)безадресная

Такая структура приводит к большей длине команды и неприемлема для прямой адресации операндов основной памяти. В компьютерах с RISC-архитектурой четырехадресные команды используются для адресации операндов, хранящихся в регистровой памяти процессора.

Можно установить, как это принято для большинства машин, что после выполнения данной команды, расположенной по адресу К (и занимающей L ячеек), выполняется команда из (K+L)-ой ячейки. Такой порядок выборки команды называется естественным. Он нарушается только специальными командами (передачи управления). В таком случае отпадает необходимость указывать в команде в явном виде адрес следующей команды.

В трехадресной команде (рис. 3.1, в) первый и второй адреса указывают ячейки памяти, в которых расположены операнды, а третий определяет ячейку, в которую помещается результат операции.

Можно условиться, что результат операции всегда помещается на место одного из операндов, например первого. Получим двухадресную команду (рис. 3.1, г), т.е. для результата используется подразумеваемый адрес.

В одноадресной команде (рис. 3.1, д) подразумеваемые адреса имеют уже и результат операции и один из операндов. Один из операндов указывается адресом в команде, в качестве второго используется содержимое регистра процессора, называемого в этом случае регистром результата или аккумулятором. Результат операции записывается в тот же регистр.

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

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

Основные способы адресации

Существует два различных принципа поиска операндов в памяти: ассоциативный и адресный.

Ассоциативный поиск операнда (поиск по содержанию ячейки) предполагает просмотр содержимого всех ячеек памяти для выявления кодов, содержащих заданный командой ассоциативный признак. Эти коды и выбираются из памяти в качестве искомых операндов.

Адресный поиск предполагает, что искомый операнд извлекается из ячейки, номер которой формируется на основе информации в адресном поле команды. Ниже мы будем рассматривать только реализацию адресного принципа поиска операнда.

Следует различать понятия исполнительного адреса и адресного кода.

Адресный код – это информация об адресе операнда, содержащегося в команде.

Исполнительный адрес – это номер ячейки памяти, к которой фактически производится обращение.

В современных ЭВМ адресный код, как правило, не совпадает с исполнительным адресом. Таким образом, способ адресации можно определить как способ формирования исполнительного адреса операнда Аи по адресному коду команды Ак.

В системах команд современных ЭВМ часто предусматривается возможность использования нескольких способов адресации операндов для одной и той же операции. Для указания способа адресации в некоторых системах команд выделяется специальное поле в команде - «метод» (указатель адресации). В этом случае любая операция может выполняться с любым способом адресации, что значительно упрощает программирование.

Адресуемые в командах операнды хранятся в основной памяти (ОП) и регистровой памяти (РП), рисунок 3.2.

 
 

 
 
Рис. 3.2. Памяти для хранения адресуемых операндов


Рассмотрим способы адресации, применяемые в современных ЭВМ.

 

 



Поделиться:


Последнее изменение этой страницы: 2016-08-15; просмотров: 668; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.248.124 (0.008 с.)