Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3ОЭВМиВС Раздел 3.docx
Скачиваний:
16
Добавлен:
13.12.2018
Размер:
258.25 Кб
Скачать
    • Управление выполнением последовательности команд и операций

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

    • В выполняемой команде в явном виде указывается адрес очередной команды. Такой способ приводит к принудительному порядку следования команд (ППСК) программы, а располагающиеся в программе друг за другом команды могут размещаться в ячейках памяти с произвольными адресами.

    • Адрес очередной команды явно не указывается, а получается из адреса выполняемой команды посредством добавления к нему величины, равной числу слов, занимаемых выполняемой командой. Такой способ называют естественным порядком следования команд (ЕПСК) программы, а сами команды размещаются в ячейках памяти с последовательными адресами.

  • ППСК приводит к сокращению общего числа команд в программе за счет исключения команд переходов. Однако сами команды в этом случае имеют увеличенную разрядность из-за необходимости включения в них поля адреса очередной команды.

  • Естественный порядок следования команд не требует указания в команде адреса очередной команды, однако разветвления и циклы в программа приводят к нарушению ЕПСК.

  • y1: (РА):=(СчАК) – передача содержимого счетчика адреса команд на регистр адреса;

  • y2: ЧтОП – запуск ОП на выполнение микроопераций чтения информации из ячейки, адрес которой установлен на РА; по окончании этой МО считанная информация находится в регистре данных;

  • y3: (РК):=(РД) – передача содержимого регистра данных на регистр команд;

  • y4: (СчАК):=(РК[A]) – передача содержимого поля А регистра команд в СчАК (передача адреса);

  • y5: (СчАК):=(СчАК)+1 – увеличение содержимого счётчика адреса команд на единицу;

  • y6: ЗпОП – запуск ОП на выполнение МО записи в память содержимого регистра данных.

    • Управление выполнением операций

    • y1: (РК[A1]) → Адр АЛУ – передача содержимого разрядов поля А1 регистра команд на вход адресного АЛУ;

    • y2: (РК[A2]) → Адр АЛУ – аналогична y1;

    • y3: (РК[A3]) → Адр АЛУ – аналогична y1 и y2;

    • y4: Адр АЛУ → (РА) – занесение в регистр адреса ОП информации с выхода адресного АЛУ;

    • y5: (Р1):=(РД) – занесение содержимого регистра данных(первого операнда) в регистр Р1 АЛУ;

    • y6: (Р2):=(РД) – занесение содержимого регистра данных (второго операнда) в регистр Р2 АЛУ;

    • y7: (РД):=(Р3) – занесение в регистр данных содержимого Р3 АЛУ (результата выполнения операции в АЛУ; регистр Р3 может быть тем же, что и Р1 или Р2);

    • y8: ЧтОП - – аналогичны рассмотренным ранее;

    • y9: ЗпОП – аналогичны рассмотренным ранее.

    • Способы адресации информации в эвм

  • Адрес, по которому производится обращение за данными или командой или осуществляется запись результата, принято называть исполнительным адресом AE. В большинстве случаев в адресном поле команды исполнительный адрес не указывается, а записываются некоторые сведения, называемые исходным адресом AO, на основании которых может быть получен исполнительный адрес. Способ получения исполнительного адреса из исходного называется способом адресации.

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

    • необходимость получения возможно меньшей разрядности адресного поля команды при адресации оперативной памяти большой емкости;

    • требование удобства адресации элементов массивов данных в циклических программах, которые в каждом новом цикле обрабатывают новый элемент массива;

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

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

  • Прямая адресация – способ адресации, при котором исполнительный адрес AE совпадает с исходным AO. Такой способ адресации является наиболее простым с точки зрения его реализации на ЭВМ, но не обеспечивает перечисленных требований и приводит к большой разрядности адресного поля команды.

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

  • Регистровая адресация - используется для обращения к рабочим регистрам выбранного банка рабочих регистров. Команды с регистровой адресацией содержат в коде операции трехбитовое (может и более) поле, которое определяет номер регистра.

  • Косвенная адресация – в адресном поле команды указывают адрес ячейки памяти, в которой хранится исполнительный адрес. Для извлечения операнда необходимо обратиться в оперативную память по исходному адресу AO, прочитать записанную в этой ячейке информацию и использовать ее как адрес для нового обращения к памяти. Несмотря на увеличение времени выполнения команды, косвенная адресация является распространенной, так как позволяет получить небольшую разрядность адресного поля команды, упростить обработку массивов и списков, переходы к подпрограммам и т.д.

  • Относительная адресация (индексной) –исходный адрес AO состоит из адреса индекса AX и смещения D: AO = <AX, D>. Исполнительный адрес AE при относительной адресации получают посредством сложения содержимого регистра или ячейки (AX)=Х, указываемых адресом индекса AX, и смещения D, т.е. AE =(AX) + D = X + D. Использование такой адресации позволяет сократить разрядность адресного поля команды.

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

  • Адресация с двойным индексированием (базированием и индексированием). Исходный адрес AO при этом состоит из трех частей: адреса базы AB, адреса индекса AX, смещения D, AO = <AB, AX, D>. Адрес базы AB определяет номер регистра или адрес ячейки памяти, где хранится величина, называемая базой В. База используется аналогично индексу, а исполнительный адрес AE получают при двойном индексировании посредством суммирования базы, индекса и смещения: AE =(AB) + (AX) + D = В + Х + D.

  • Такой способ позволяет использовать относительную адресацию для написания циклических программ. которые за счёт базирования могут при этом перемещаться в памяти.

  • Формирование исполнительного адреса при относительной адресации и адресации с двойным индексированием основано на операции суммирования. Для того чтобы избежать дополнительной операции суммирования с базой В, иногда применяют приём, называемый приформированием. Разряды смещения D не суммируются с базой, а просто приписываются к разрядам базы справа, т. е. AE = B.D, где “.” – знак конкатенации (сцепления).

  • Неявная адресация - адрес к регистрам или памяти не указывается при помощи операнда. Адрес регистра определяется самой инструкцией и содержится в коде операции.

  • При определении способа адресации операндов в команде необходимо учитывать, что адресация для каждого операнда команды своя. В общем случае адресация источника и приёмника могут не совпадать.

Соседние файлы в предмете Основы ЭВМ