Два операнда. Разобравшись с однооперандными командами, обратимся к командам, имеющим два операнда, например ADD. Мы уже говорили, что эта команда берет значение одного операнда, прибавляет его к значению второго операнда и запоминает результат на месте любого операнда. Если разрешить нахождение обоих операндов в памяти, в команде потребовались бы поля mod и r/т для каждого из них. Чтобы сократить длину команд, было решено, что, по крайней мере, один из операндов должен быть в регистре. Тогда в команде потребуются поля mod и r/т только для одного операнда, а для другого достаточно поля reg (рис. 2.16).

Поле w показывает, являются операнды байтами (w = 0) или словами (w = 1). В команде появилось также новое поле d (приемник); если d = 0, результат запоминается в операнде, определяемом полями mod и r/т, a если d - 1 - в операнде, определяемом полем reg. Операнд, в котором запоминается результат, называется приемником, а другой операнд назы­вается источником.

В качестве примера рассмотрим команду ADD, показанную на рис. 2.17. Она имеет код операции 000000. Поле w = 0 показывает, что оба операнда являются байтами. Определяемым полем reg операндом оказывается регистр СН. Поле mod = 11 означает, что поля mod и r/т определяют регистр, а поле r/т конкретизирует регистр BL. Поле d = 1 показывает запись результата в операнд, определяемый полем reg, т. е. в регистр СН. Следовательно, команда прибавляет содержимое регистра BL (источника) к содержимому регистра СН (приемника) и помещает результат в СН.

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

Примером команды с непосредственным операндом служит команда MOV (переслать). Она часто применяется для загрузки константы в регистр. Здесь непосредственный операнд можно определить полем reg, и команда приобретает простую форму, показанную на рис. 2.18. Поле w по-прежнему задает длину операнда 8 (w = 0) или 16 (w = 1) бит; в первом случае непосредственный операнд занимает один байт в команде, а во втором — два байта. Как пример, на рис. 2.19 представлена команда, которая передает значение 1111 0000 0000 1111 в регистр DI.

В несколько более сложной команде операнд-приемник определяется полями mod и r/т вместо поля reg, поэтому в команде появляется дополнительный байт (рис. 2.20). Показанная на рис. 2.21 команда передает значение 1111 0000 0000 1111 в слово, находящееся в сегменте данных со смещением из регистра DI.

Так как двух операндная команда имеет только одно поле w, оба операнда должны иметь длину 8 или 16 бит. Однако часто непосредственные операнды являются небольшими числами и не требуют 16 бит. Это утверждение особенно справедливо для команд сложения, вычитания и сравнения, хотя для операндов логических команд оно обычно не выдерживается. Следовательно, можно уменьшить размер команд с непосредственными операндами, если не отводить 16 бит для хранения небольших чисел. Поэтому в некоторых командах (сложение, вычитание и сравнение) введен бит s (s означает "с расширением знака"). Он занимает место бита d, так как в командах с непосредственными операндами возможно только одно направление. Поле s имеет смысл только для 16-битных операндов (w = 1) и показывает, содержатся ли в команде все 16 бит непосредственного операнда (s = 0) или только 8 бит (s = 1), которые должны расширяться со знаком до 16 бит для образования 16-битного операнда. Такая форма команды иллюстрируется рис. 2.22. Соответствующий пример показан на рис. 2.23. Здесь к содержимому слова в памяти прибавляется значение 0000 0000 0000 1111 и результат помещается в это же слово. Слово находится в сегменте данных, а смещение его берется из регистра DI. Отметим, что благодаря биту s экономится один байт.

Лекция 5. Общая организация памяти.

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

Рис 101 Общая организация памяти

Рис 102 Типичный модуль памяти

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

I говорит что микросхема памяти имеет организацию М х N, если она содержит М групп из N элементов, а модуль имеет организацию К х L, если он содержит К слов длиной L бит каждое. Для иллюстрации введенных определении на рис 10 3 приведены несколько модулей, реализованных на основе типичных микросхем памяти

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

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

Быстродействие памяти характеризуется временем обращения (или доступа) , которое определяется как временной интервал от момента поступления

Рис 103 Типичные массивы микросхем памяти

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

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

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

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

Лекция 6. Прерывание микропроцессора в ЭВМ.


Архитектура и организация ЭВМ

Рассматриваются основные вопросы, связанные с организацией работы ЭВМ при обработке прерываний, а также особенности системы прерываний в персональной ЭВМ.

Организация обработки прерываний в ЭВМ

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

Механизм прерывания обеспечивается соответствующими аппаратно-программными средствами компьютера.

Из за большого объема этот материал размещен на нескольких страницах:
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