Дж.Хиллбурн, П.Джулич Микро-ЭВМ и микропроцессоры (1979) (1092080), страница 20
Текст из файла (страница 20)
Память, микро-ЭВМ часто разбивают на страницы. Страница может содержать 256 слов и размещается обычно на одной ИС. При страничной организации память разбивается на небольшие блоки, так что отпадает необходимость в длинных командах для операций обращения к памяти. При страничной структуре памяти часто используется разновидность относительной адресации, называемая страничной относительной адресацией. Вэтом случаезаданный в команде адрес операнда интерпретируется как адрес внутри страницы, которой соответствует содержимое счетчика команд. При использовании нуль-страничной относительной адресации адрес операнда относится к ячейкам нулевой страницы памяти независимо от содержимого счетчика команд.
г) Адресация с индексированием. Данный способ адресации схож с относительной адресацией. Однако здесь в команде указывается адрес относительно содержимого некоторого заранее опре- Аркитектури микро-ЭВМ 129 Регистр яамаяд Адрес Память дираид = ддт да1 Рис. 4,34. Косвенная адресация. Регистр яамаяд 124 я 11 = 131 Счетчик аамаед / Адрес ааератта Рис. 4.35. Относительная адресация. деленного регистра, не являющегося счетчиком команд. Этот регистр называется индексным регистром. Указанный в команде адрес складывается с содержимым индексного регистра, что и определяет адрес операнда. На рис.
4.36 индексным регистром является регистр В. При адресации с индексированием содержащееся в регистре В число (341) складывается с адресом операнда (32), указанным в команде, в результате получается исполнительный адрес операнда (373). Адресация с индексированием очень удобна в программах, где используются таблицы или массивы чисел. Адрес первого элемента таблицы можно хранить в индексном регистре, а все остальные элементы адресовать относительно первого. 9 — 719 130 Глава 4 Регистр команд для + дд = ддд Регистр д (индекс) / Адрес оаеранда Рис. 4.36. Адресация с индексированием. д) Непосредственная адресация. При этом способе адресации данные задаются непосредственно в команде. Рассмотрим, например, команду «Загрузить в аккумулятор непосредственно чис.
ло 7». Такая команда символически может быть записана следующим образом; 1.А1 7 Операнд (7) содержится в самой команде и занимает байт памяти, следующий непосредственно за байтом, в котором записана команда 1.А1. ВЫПОЛНЕНИЕ КОМАНД В предыдущих разделах мы описали процесс выполнений программы, состоящей из отдельных команд.
Эти команды реализуются в ЦП при помощи устройства управления, которое в соответствующие моменты времени выдает ~функциональные сигналы, необходимые для выполнения команды. В качестве примера на рнс. 4.37 показана взаимосвязь регистров ЦП. Для уменьшения чнсла,межкомпонентных соединений регистры связаны общей шиной. Для передачи информации из регистра В в регистр С ( — иС) в устройстве управления должна ~быть предусмотрена логическая схема, обеспечивающая отпирание вентилей И регистра В. В результате выходная информация вентилей ИЛИ (шнны) будет представлять собой содержимое регистра В. После того как содержимое регистра В поступило на шину, устройство управления подает импульс на вход синхронизации регистра С и информация с шины загружается в регистр С.
В каждый момент времени шина может содержать информацию только от одного регистра, что контролируется устройством управления, которое выдает соответствующие сигналы синхронно с тактовыми импульсами. На рис. 4.38 показана типичная временная последовательность сигналов, выдаваемых устройством управления для обеспечения передачи данных для схемы рис. 4.37. Архитектура микро-ЭВМ 131 загрузить содержимое шины д регистр С Загрулипь на шину содержимое регистра Л Загрузить содержимое шины д рееистр Ю Загрузить на шину содержиыое регистра д с Рис.
4.37. Передача данных между двумя регистрами при помощи устройства управления, Выходная последовательность сигналов устройства управления определяется кодом операции. Большинство микропроцессоров имеет фиксированный набор команд [251, на основе которого разрабатывается их программное обеспечение. В ряде микропроцессоров имеются микропрограммаруемые устройства управления, которые позволяют частично нли полностью менять набор команд в зависимости от конкретного применения машины. В состав микропрограммируемого устройства управления входит ПЗУ, программи- 132 Глава 4 Загрузиим нп шину гпдержомие регистр загрузить гедержим шины д регистр ь Рис. 4.38.
Типичная временная последовательность сигналов, генерируемых устройством управления при передаче ивЂ С рис. 4.37. руемое микрокомандами 12б1. Это дает возможность пользователю получать набор команд, ориентированный на круг решаемых задач [2, 271. Однако ввиду сложности разработки набора команд и соответствующего программного обеспечения лишь немногие пользователи применяют такой подход. Часто ПЗУ относятся к классу масочно-программируемых и не допускают никаких изменений в заложенные программы. В некоторых процессорах микропрограммное ПЗУ размещается на кристалле микропроцессора и любое изменение в системе команд приводит к необходимости использования нового кристалла ЦП. Внешние по отношению к микропроцессору передачи данных реализуются так же, как и передачи данных между регистрами самого микропроцессора.
Рассмотрим полный цикл команды, как показано на рис. 4.3. Цикл выборки состоит из двух подциклов. В первом из них адрес команды передается в память через шину данных памяти. Если ширина этой шины четыре двоичных разряда, а адрес содержит двенадцать разрядов (как в 1п1е! 4040), то для передачи адреса в память необходимы три такта. Во втором подцикле команда передается в микропроцессор. При командном слове длиной 8 разрядов на эту передачу требуются два такта.
Таким образом в рассмотренном случае цикл выборки осуществляется за пять тактов. В некоторых современных микропроцессорах имеются как шина данных, так и адресная шина, что позволяет одновременно передавать в память адрес информационного слова и выбирать команду. В этом случае уменьшается время цикла команды. В течение исполнительного цикла команда выполняется как последовательность отдельных микрокоманд, в которую входят пересылка содержимого регистра В на шину, загрузка регистра С содержимым шины и т. д.
Для выполнения каждой микрокомаиды требуется по крайней мере один такт. Общее количество тактов на команду зависит от ее типа. Если' в команде содержится обращение к памяти (команда с обращением к памяти), то для обмена Архитектура микро-ЭВььг 133 Шона данных Адоеьнои шина Гогтонни шиньь ' донньо Гантодьье дрерыдание иынульь'ы динхронио рдаое дшеидани готодное дались Рис. 4.39. Типичная схема выводов корпуса монолитной ИС микропроцессора.
8-разрядным информационным словом с памятью емкостью 4096 бит (12 адресных разрядов) через 4-разрядную шину требуются пять дополнительных тактов. Ширина шины, соединяющей Е(П с памятью и периферийными устройствами, оказывает существенное влияние на быстродействие машины, что хорошо видно из рассмотренного выше примера.
В монолитных микропроцессорах (на одном кристалле) ширина шины ограничивается количеством выводов (зажимов) корпуса процессора. Выводы корпуса ИС показаны на рис. 4.39. Зажим «Состояние шины данных» служит для указания ввода данных микропроцессором и используется для подачи сигнала состояния на внешние устройства. На зажим «Синхронизация» в начале каждого цикла команды поступает импульс, который используется для синхронизации работы памяти и устройств ввода-вывода. На зажимы «Ожидание», «Готовность» и «Запись» поступает внешняя информация о состоянии ЦП, конкретное содержание которой зависит от используемого микропроцессора.
Обратимся к технической документации и описанию некоторых широко используемых процессоров, приведенным в гл. 7. При помощи зажима «Прерывание» (их может быть несколько) осуществляется прерывание выполняемой программы. Возможность возобновления выполнения программы после обработки пре.
рывания зависит от структуры ЭВМ. И наконец, зажим «Сброс» служит просто для очистки счетчика и регистра команд. В документации указываются и другие действия, которые могут выпол. няться прн реализации сброса. Монолитный микропроцессор может иметь от 16 до 48 выводов. В микропроцессорах с 40 и более выводами шина данных, адресная и/или кодовая шины обычно выполняются раздельно, в то время как в устройствах с 18 выводами часто имеется единственная шина ввода-вывода, которая используется в мульгиплексиом 134 Глава 4 Милл дыдсрни Синхрснизаиия Г ды имтслзсы и шлпршиз 1 Ф младшее 1 а слшшеил ! разряда ~ разряди ~ разряда ! адреса ~ нлманды ~ нсманды ши.тти ~ «'й ~ Ф7 и младшее 1 Ф средних разряди ! рпзряда адреса ~ адреса яамяти ~ на мяти Гвдерзнимсе шины Атнныл Рис.
4.40. Мультиплексная передача адресов и данных при поиощи шивы дан- ных в течение цикла выборки. режиме. В последнем случае содержание информации на шине в некоторый момент времени зависит от положения момента внутри командного цикла. Как показывает временная диаграмма (рис. 4.40) цикла выборки микропроцессора 1п1е1 4040, в течение этого цикла на шине данных последовательно находятся пять различных слов. Каждый микропроцессор имеет свои особенности, что отражено в соответствующей фирменной документации. В настоящей главе рассматриваются лишь черты, характерные для большинства вычислительных машин.