+7(495)926-7456
+7(495)926-7456
Электронные компоненты  Мануалы 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [ 41 ] 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135

Современные 16-разрядные процессоры, такие, как 68000 ri Z-8000, имеют другую особенность, т. е. диапазоны адресации с мультиплексированием. Это старая особенность универсальных вычислительных машин и мини-ЭВМ, которая, подобно многим другим понятиям «больших машин», проникла в область микропроцессоров. Рассмотрим, например, процессор 68000 фирмы Motorola.

Существуют три канала «кода режима работы», выходящие из прибора 68000. Каналы кодируют (наряду с другими функциями) режим работы прибора в режиме пользователя или супервизора и инф.ормацию о том, является ли он доступным для программы или данных. Эту информацию можно использовать для адресации памяти, так что в действительности существуют четыре отдельные и определенные области памяти, каждая объемом 16 Мбайт (программа-супервизор, данные супервизора, программа пользователя, данные пользователя). При таком разделении общий диапазон адресации составляет 64 Мбайт.

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

9.3д. Стек

Очень важной особенностью процессора является его стековая архитектура. Более ранние машины, такие, как 8008 и 2650, имели внутреннюю стековую память фиксированной длины, что ограничивало глубину вложения подпрограмм, в то время как современные машины используют регистры указателя стека, которые делают доступной для организации стека внешнюю память. Это позволяет ограничивать вложение и передаваемые параметры только объемом имеющейся в распоряжении памяти.

9.4. НАБОРЫ КОМАНД 9.4а. Классификация команд

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



вашей прикладной задаче предполагается использовать ДДК-арифметику, то требуется проверить ее наличие на выбираемом кристалле.

Логические. Функции И, ИЛИ, ИСКЛЮЧАЮЩИЕ ИЛИ и НЕ являются стандартными операциями всех процессоров. Также обычно присутствуют, хотя и не всегда, разнообразные операции проверки разрядов и установки. Для операционной системы и управления в реальном масштабе времени очень часто необходимо иметь простую неразделимую команду типа проверка - установка или группу команд для семафорного управления.

Пересылка данных. Главные соображения по оценке команд пересылки данных связаны с симметричностью и числом возможных режимов адресации.

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

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

Упмвление вычислительной машиной. Команды этой группы отличаются в широких пределах в зависимости от типа машин. Если необходимо использовать режим прерываний, то следует убедиться., в наличии соответствующих команд, предназначенных для управления прерываниями в нашей прикладной задаче. Здесь возникает ряд вопросов: существует только один уровень прерывания или много? Можно ли выборочно маскировать сами прерывания? Если процессор предназначен для прогонки универсальной операционной системы, крайне желательно иметь супервизор или системный режим функционирования, где определенные операторы управления вычислительной машиной



имеют приоритет в системном режиме. Это совместно с управлением памятью позволяет реализовать достаточную степень защищенности операционной системы.

Способы адресации. Этот раздел посвящен обычным способам адресации, которые встречаются в микропроцессорах. К сожалению, каждая фирма-изготовитель применяет для этих изделий свою терминологию. Здесь же используются термины, взятые из описания различных микропроцессоров, и хотя в основном используются щироко употребляемые термины, надо учитывать, что некоторые фирмы-изготовители используют для обозначения этих режимов другие названия.

Адресация регистров. Предназначенные для обработки данные находятся в одном из внутренних регистров процессора. В типовом случае это наиболее быстро выполнимая операция, поскольку для выборки данных не требуется производить обращение к памяти, например CLEAR RO (очистки регистра R0).

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

Косвенная адресация памяти. Ячейка в главной памяти содержит адрес элемента данных. Это медленный, но очень мощный и полезный режим адресации, например LOAD, RO @ ADDRESS:

100 LOAD, RO @

101 12

102 34

1234 40

1235 08 4 008 76

Команда в ячейке 100 является косвенной загрузкой регистра R0 через ячейку 1234. В ячейке 1234 содержится адрес данных-4008. В ячейке 4008 содержатся данные -76.

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



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [ 41 ] 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135