Основы бортовых вычислительных машин
Скачать 3.2 Mb.
|
Динамические ЗУ (DRAM) строятся на основе запоминающего элемента, сохраняющего свое состояние только определенный про- межуток времени, поэтому требующего периодического восстановле- ния. Запоминающим элементом динамических полупроводниковых ЗУ служит конденсатор, в котором информация хранится в форме на- личия или отсутствия заряда. Из-за имеющихся утечек заряд на запо- минающем конденсаторе постоянно уменьшается. Для восстановле- ния заряда запоминающий конденсатор периодически подключают к источнику питания. Простейшая схема динамической ячейки памяти на МОП- транзисторах приведена на рисунке 5.1. Хранение информации обес- печивается с помощью конденсатора С3. В ячейке используются от- дельные адресные (АЛз и АЛсч) и разрядные линии (РЛз и РЛсч) за- писи и считывания. Рисунок 5.1 - Динамическая ячейка памяти 158 В процессе записи информации от РЛз (при разрешающем сиг- нале на АЛз) через открытый транзистор VT2 обеспечивается заряд емкости С3. Считывание информации производится по линии РЛсч через VT1 и VT3 (при разрешающем сигнале АЛсч). Регенерация (восстановление данных) ячейки динамической па- мяти производится при каждом обращении к ней. Однако при обыч- ной интенсивности работы памяти БВМ такая регенерация не гаран- тирует сохранности всех хранящихся в ней битов информации. БВМ может, например, затратить время, превышающее несколько милли- секунд, на выполнение простого цикла, предназначенного для выра- ботки временной задержки, и использовать при этом лишь несколько ячеек памяти. В течение всего этого промежутка времени все другие слова памяти не будут подвергаться регенерации. Поэтому устройст- ва памяти, выполненные на динамических ЗУ, нуждаются в логиче- ской схеме регенерации, которая автоматически обращается к каждо- му столбцу памяти с интервалами в несколько десятых долей милли- секунды. Динамическое ЗУ построено так, что само обращение к столбцу обеспечивает регенерацию информации во всех его ячейках. Работа логической схемы регенерации должна координироваться с другими действиями процессора. Если, например, процессор пытает- ся обратиться к памяти в момент, когда в ней осуществляется регене- рация, то схема регенерации должна отдать приоритет именно про- цессору. Динамические полупроводниковые ЗУ с произвольной выбор- кой имеют высокий уровень интеграции и быстродействия, низкую стоимость, поэтому находят широкое применение в микропроцессор- ных системах. На динамических БИС ЗУ, являющихся функциональ- но законченными устройствами, можно сравнительно просто строить ОЗУ различной информационной емкости. Недостаток динамических ЗУ — необходимость регенерации — компенсируется большей, чем в статических ЗУ, информационной емкостью. Статические ЗУ (SRAM) являются наиболее распространенным видом памяти микропроцессорных систем. Большинство статических ЗУ реализуется на основе МОП-технологии, но существуют и стати- ческие ЗУ на биполярных схемах. Ячейка памяти статического ЗУ представляет собой обычный 159 триггер. Он может быть установлен либо в состояние «0», либо в со- стояние «1». Если триггер установлен в «1», то это состояние сохра- няется до тех пор, пока не будет произведен сброс триггера или не будет выключено питание. Каждый триггер хранит один бит информации. Триггеры имеют раздельные входы для установки их в состояние «0» или «1», а также вентили для соединения их с линией шины данных. Каждая ячейка памяти обычно содержит шесть МОП-транзисторов (рисунок 5.2). Рисунок 5.2 - Ячейка памяти статического ОЗУ При обращении к ячейке как к элементу памяти на линии выбора устанавливается сигнал высокого уровня. Транзисторы V5 и V6 включаются, а линия чтения-записи (ЧТ/ЗП) подключается к затвору. Для записи лог. «1» в этот элемент на линии ЧТ/ЗП устанавливается высокий уровень, а на линии «Установка 0» — низкий уровень сигна- ла. При этом V2 отпирается, a V1 запирается. При записи лог. «0» уровни сигналов на линиях ЧТ/ЗП и «Установка 0» изменяются на противоположные. После окончания сигналов установки состояние транзисторов V1 и V2 не изменяются. Комбинацией уровней сигна- лов в линиях ЧТ/ЗП и «Установка 0» обеспечиваются три состояния ячейки памяти: запись, чтение и хранение информации. Подобные ячейки памяти объединяются в матричную структуру, т. е. размещаются по строкам и столбцам. Каждому элементу памяти 160 присваивается адрес, являющийся n-разрядным двоичным кодом. Ко- личество разрядов двоичного кода определяет емкость матрицы ЗУ и определяется как 2 n Q = , где n — разрядность адресного кода. Разряды адресного кода разбиваются на две группы: разряды ад- ресов строк и разряды адресов столбцов. Каждая группа разрядов подключается на вход соответствующих дешифраторов, выходы ко- торых обеспечивают обращение к ячейке памяти с указанным адре- сом строки и адресом столбца. На рисунке 5.3 изображена структура микросхемы ОЗУ с раз- дельными одноразрядными входами и выходами. Рисунок 5.3 - Структура ИС ОЗУ В микросхеме используются усилители адресных сигналов и дешифраторы адресов 5 → 32, что позволяет адресоваться к 1024 од- норазрядным ячейкам памяти. Для обращения к ИС ОЗУ использует- ся сигнал низкого уровня выборки микросхемы (ВМ) и сигнал управ- ления ЧТ/ЗП. Бит информации, подлежащий записи, подается на вы- вод «Вход» блока управления (БУ), а при чтении сигнал «ЧТ» считы- вается с выходной линии. Структура рассмотренной ИС 1024х1 бит. В настоящее время промышленность выпускает ИС памяти емкостью десятки и сотни мегабайт. В практическом применении более удобны ИС памяти с разрядностью, равной (или кратной) разрядности процессора. 161 В этом случае при однократном обращении к ИС памяти обеспе- чивается обмен словами, которые обрабатываются в процессоре. Типичные БИС динамического ОЗУ: КР565РУ6 — емкость 16384х1 бит; К565РУ5 - емкость 65535х1 бит. Типичные БИС статического ОЗУ: КР537РУ14 — емкость 4096х1 бит, КР132РУ6А — емкость 16 384х1 бит, К537РУ9 — ем- кость 2 048х8 бит. 5.1.3 Постоянные запоминающие устройства Постоянные запоминающиеся устройства (ПЗУ) служат для хранения программ и другой неизменяемой информации, поэтому выполняют только операцию чтения (Read only memory – ROM). Важное преимущество ПЗУ по сравнению с ОЗУ — сохранение ин- формации при выключении питания. Стоимость бита хранимой в ПЗУ информации может быть почти на порядок ниже, чем в ОЗУ. Посто- янные ЗУ могут быть реализованы на основе различных физических принципов и элементов и отличаются способом занесения информа- ции, кратностью занесения, способом стирания. В качестве примера на рисунке 5.4, а приведена схема однотран- зисторной ячейки постоянного ЗУ на биполярном транзисторе. В эмиттерной цепи транзистора предусмотрена плавкая перемычка, ко- торая в необходимых случаях может разрушаться при программиро- вании ЗУ. Поэтому при обращении к ЗУ по линии адреса x в случае неразрушенной перемычки в регистровой линии y будет протекать эмиттерный ток транзистора, (состояние лог. «1»), а в случае разру- шенной перемычки ток течь не будет (состояние лог. «0»). В настоящее время применяются следующие виду ПЗУ: про- граммируемые на заводе-изготовителе или масочные ПЗУ (МПЗУ); программируемые пользователем ПЗУ и перепрограммируемые (ре- программируемые) РПЗУ. Первые два вида ПЗУ допускают только однократное программирование, репрограммируемые ПЗУ позволяют изменять хранимую в нем информацию многократно. Рассмотрим подробнее каждый из типов ПЗУ. Программируемые масочные ПЗУ (МПЗУ) — программируются их изготовителем, который по подготовленной пользователем ин- формации делает фотошаблоны, с помощью которых заносит эту ин- формацию в процессе производства на кристалл ПЗУ. Этот способ 162 самый дешевый и предназначен для крупносерийного производства ПЗУ. Масочные ПЗУ строятся на основе диодов, биполярных и МОП- транзисторов. Рисунок 5.4 - Реализация ячеек памяти ПЗУ В диодных ПЗУ диоды включены в тех пересечениях матрицы, которые соответствуют записи «1», и отсутствуют в местах, где дол- жен быть записан «0». Внешние цепи очень просты. Так как диодная матрица представляет собой элемент с гальваническими связями, то выходные сигналы имеют ту же форму, что и входные. Таким обра- зом, если на входы подаются напряжения постоянных уровней, то и на выходах уровни будут также постоянными, поэтому отпадает не- обходимость в выходном регистре для хранения информации. Масоч- ные ПЗУ на биполярных и униполярных транзисторах также строятся в виде матриц. Постоянные ЗУ на МОП-транзисторах имеют меньшее энергопотребление, чем биполярные. Масочные ПЗУ характеризуются высокой надежностью, но при их изготовлении возникает ряд неудобств и для заказчика, и для изго- товителя. Велика номенклатура ПЗУ и мала их тиражность, поэтому от изготовителя требуются повышенные затраты на фотошаблоны, что увеличивает стоимость ПЗУ. Отсутствует возможность оператив- но изменять информацию в ПЗУ без изготовления новой ИС, что осо- бенно неудобно на этапе отработки программ системы. Программируемые пользователем ПЗУ (ППЗУ) — являются бо- лее универсальными и, следовательно, более дорогими приборами. Они представляют собой матрицы биполярных приборов, связи кото- рых с адресными и разрядными шинами разрушаются при занесении 163 на специальных программирующих устройствах соответствующих кодовых комбинаций. Эти устройства вырабатывают напряжения, не- обходимые и достаточные для пережигания плавких перемычек в вы- бранных запоминающих элементах ПЗУ. Роль плавкой перемычки может выполнять диод Д1, как показано на рисунке 5.4, б. Возмож- ность однократного программирования пользователем сделала ПЗУ этого типа чрезвычайно удобными при разработке микро-ЭВМ. Репрограммируемые ПЗУ (РПЗУ) — это ПЗУ с изменяемым со- держанием, на затворах матрицы МОП-транзисторов длительное время могут храниться заряды, образующие заданный код. Все репро- граммируемые ПЗУ представляют собой МОП-приборы. При необходимости в перепрограммировании микросхемы предварительно записанную информацию стирают ультрафиолето- вым светом через прозрачное кварцевое окошко на поверхности кор- пуса микросхемы. Попадая на плавающий затвор и выбивая из него фотоэлектроны, ультрафиолетовое излучение разряжает плавающий затвор МОП-транзистора. Время сохранения информации в микро- схемах ПЗУ данного типа определяется качеством призатворного ди- электрика и для современных микросхем составляет десять лет и бо- лее. Микросхемы ПЗУ с электрическим стиранием информации по- пулярны у разработчиков микропроцессорной техники благодаря возможности быстрого стирания и записи, большому допустимому числу циклов перезаписи информации (10000 раз и более). Однако они достаточно дорогие и сложные по сравнению с ПЗУ с ультрафио- летовым стиранием, поэтому уступают последним по степени исполь- зования в микропроцессорной аппаратуре. Основу запоминающей ячейки в ПЗУ с электрическим стирани- ем составляет МОП-транзистор с плавающим затвором, такой же, как и в ПЗУ с ультрафиолетовым стиранием. Но в микросхемах данного типа технологическими методами обеспечена возможность обратного туннелирования, т. е. отбора электронов с плавающего затвора, что позволяет выборочно стирать занесенную информацию. На рисунке 5.4, в представлена ячейка РПЗУ в виде лавинно-инжекционного МОП-транзистора с плавающим и селектирующим затворами. Инте- гральные ПЗУ на таких элементах допускают многократную замену хранимой информации. Плавающий (изолированный) затвор не имеет электрического подвода, он предназначен для хранения заряда. 164 Селектирующий затвор подсоединен к одному из выходов дешифра- тора строк (горизонтальной шине), а сток - к вертикальной шине. В исходном состоянии отсутствует заряд на плавающем затворе (со- стояние 1), транзистор имеет очень небольшое пороговое напряже- ние. Выбор элемента осуществляется путем подачи на селектирую- щий затвор выходного напряжения адресного дешифратора, при этом включается транзистор и через цепь сток-исток протекает значитель- ный ток. Программирование (занесение лог. 0 в элементы) произво- дится электрическим путем - подачей на сток импульса напряжения 25...50 В. При этом происходит инжекция электронов, имеющих вы- сокую энергию, через оксид на изолированный затвор, получающий отрицательный заряд (состояние «0»). В результате увеличивается пороговое напряжение, и теперь подача на селектирующий затвор выходного напряжения дешифратора не включает этот транзистор. Сообщенное элементу состояние сохраняется сколь угодно долго. Для стирания информации, записанной в РПЗУ подается напряжение 25…50 В, но с обратной полярностью включения. При этом происхо- дит рассасывание электронов с плавающего затвора. 5.1.4 Внешние запоминающие устройства Внешние запоминающие устройства (ВЗУ) — это устройства большого объема (сотни миллионов байт и более), предназначенные для длительного хранения данных, создания архива данных (в том числе и на съемных носителях) и обмена этими данными с оператив- ными запоминающими устройствами БВМ. В общем случае ВЗУ со- стоит из накопителя и контролера. Накопителем ВЗУ называется часть ВЗУ, непосредственно при- нимающая информацию, преобразующая ее (при необходимости) в форму, удобную для хранения, осуществляющая хранение этой ин- формации и преобразование в электрические сигналы при считыва- нии. Накопитель ВЗУ состоит из устройства преобразования инфор- мации, механизма (привода) и носителя информации. Устройство преобразования информации включает усилители записи и считывания, магнитные головки (для магнитных ВЗУ) и дру- гие средства, необходимые для прямого и обратного преобразования цифровых кодов в форму, удобную для хранения. Механизм (привод) обеспечивает перемещение носителя информации относительно орга- нов записи и считывания. 165 Носителем информации является изделие, осуществляющее не- посредственное хранение информации на основе определенных фи- зических явлений. Носители информации — лента, диск, барабан, фо- топленка, голограмма и т.п. Контроллером ВЗУ называется устройство, обеспечивающее управление работой накопителя и сопряжение с интерфейсом БВМ. Специфика ВЗУ заключается в его накопителе. Типичными на- копителями ВЗУ являются: накопитель на магнитной ленте (НМЛ); накопитель на магнитных дисках (НМД); накопитель на гибких магнитных дисках (НГМД); накопитель на магнитных картах (НМК); накопитель на цилиндрических магнитных доменах (НЦМД). 5.1.5 Способы организации памяти Запоминающее устройство предназначено для хранения боль- ших объемов двоичных данных, поэтому оно содержит множество одинаковых запоминающих элементов, образующих запоминающий массив (ЗМ). Массив разделен на отдельные ячейки, каждая из кото- рых предназначена для хранения двоичного кода, количество разря- дов в котором определяется шириной выборки памяти (в частности, это может быть одно, половина или несколько машинных слов). Способ организации памяти зависит от методов размещения и поиска информации в запоминающем массиве. По этому признаку различают адресную, ассоциативную и стековую памяти. Адресная память. В памяти с адресной организацией размеще- ние и поиск информации в ЗМ основаны на использовании адреса хранения слова (числа, команды и т.п.), которым служит номер ячей- ки ЗМ, где размещено это слово. При записи (или считывании) слова в ЗМ инициирующая эту операцию команда должна указать адрес (номер ячейки), по которому производится запись. Типичная структура адресной памяти, показанная на рисунке 5.5, содержит запоминающий массив из N х п -разрядных ячеек и его аппаратное обрамление, включающее регистр адреса РгА, информа- ционный регистр РгИ, блок адресной выборки (БАВ) с дешифратором адреса ДшА, блок усилителей считывания (БУС), блок разрядных 166 усилителей - формирователей сигналов записи (БУЗ) и блок управле- ния памятью (БУП). Разрядность регистра адреса определяется выражением ( ) 2 int log R N ≥ По коду адреса в РгА БАВ формирует в соответствующей ячей- ке памяти сигналы, позволяющие произвести в ячейке считывание или запись слова. Цикл обращения к памяти инициируется поступлением в БУП извне сигнала "Обращение". Общая часть цикла обращения включает прием в РгА с шины адреса (ША) адреса нужной ячейки и прием в БУП и расшифровку управляющего сигнала "Операция", указываю- щего вид запрашиваемой операции (считывание или запись). Рисунок 5.5- Структура адресной памяти Далее при считывании БАВ дешифрирует адрес, посылает сиг- налы считывания в заданную адресом ячейку ЗМ. При этом код запи- санного в ячейке слова считывается усилителями считывания БУС и передается в РгИ. 167 Затем, в случае памяти с разрушающим считыванием (при счи- тывании запоминающие элементы ячейки устанавливаются в нулевое состояние), производится регенерация информации в ячейке путем записи в нее из РгИ считанного слова. Операция считывания завер- шается выдачей слова из РгИ на выходную информационную шину ШИВых. При записи после выполнения указанной выше общей части цикла обращения производится прием записываемого слова с вход- ной информационной шины ШИВх в РгК. Сама запись состоит из двух операций: очистки ячейки (сброса в 0) и собственно записи. Для этого БАВ сначала производит выборку и очистку ячейки, заданной адресом в РгА. Очистка выполняется сигналами считывания слова в ячейке, но при этом блокируются усилители считывания, и из БУС в РгИ информация не поступает. Затем в выбранную БАВ ячейку запи- сывается слово из РгИ. Блок управления БУП генерирует необходимые последователь- ности управляющих сигналов, инициирующих работу отдельных уз- лов памяти. Ассоциативная память. В памяти этого типа поиск нужной ин- формации производится не по адресу, а по ее содержанию (по ассо- циативному признаку). При этом поиск по ассоциативному признаку (или последовательно по отдельным разрядам этого признака) проис- ходит параллельно во времени для всех ячеек запоминающего масси- ва. Во многих случаях ассоциативный поиск позволяет существенно упростить и ускорить обработку данных. Это достигается за счет то- го, что в памяти этого типа операция считывания информации со- вмещена с выполнением ряда логических операций. Типичная структура ассоциативной памяти представлена на ри- сунке 5.6. Запоминающий массив содержит ( 1) N n × + - разрядных ячеек. Для указания занятости ячейки используется служебный п -й разряд (0 - ячейка свободна, 1 - в ячейке записано слово). По входной информационной шине ШИBx на регистр ассоциа- тивного признака РгАП в разряды 0…(п-1) поступает п -разрядный ассоциативный запрос, а на регистр маски РгМ - код маски поиска, при этом п -й разряд РгМ устанавливается в 0. Ассоциативный поиск производится лишь для совокупности разрядов PrAП, которым соот- ветствуют 1 в РгМ (незамаскированные разряды РгАП). 168 Для слов, в которых цифры в разрядах совпали с незамаскиро- ванными разрядами РгАП, комбинационная схема (КС) устанавлива- ет 1 в соответствующие разряды регистра совпадения РгСв и 0 в ос- тальные разряды. Таким образом, значение i -го разряда РгСв опре- деляется выражением [ ] [ ] [ ] { } 1 ( ) , 0 i n РгСв j PгАП i ЗМ j i PгМ i i = − = ∧ ⊕ ∨ = , 0 1 j N ≤ ≤ − , где РгАП[i] , РгМ [i] и ЗМ [j,i] - значения i -го разряда соот- ветственно РгАП, РгМ и j -й ячейки ЗМ. Комбинационная схема формирования результата ассоциатив- ного обращения (ФС) формирует из слова, образовавшегося в РгСв, сигналы 0 1 2 , , α α α , соответствующие случаям отсутствия слов в ЗМ, удовлетворяющих ассоциативному признаку, наличию одного и на- личию более чем одного такого слова. Рисунок 5.6 - Структура ассоциативной памяти 169 Для этого КС реализует следующие булевы функции: [ ] 0 1 0 N РгСв j j α − = ∧ = ; [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] 1 0 1 1 0 1 1 0 1 1 ; РгСв РгСв РгСв j РгСв N РгСв РгСв РгСв j РгСв N РгСв РгСв РгСв j РгСв N α = ⋅ ⋅ ⋅ ⋅ ⋅ − ∨ ∨ ⋅ ⋅ ⋅ ⋅ ⋅ − ∨ ∨ ⋅ ⋅ ⋅ ⋅ ⋅ − … … … … … … … 2 1 2 α α α = ⋅ Формирование содержимого РгСв и сигналов 0 1 2 , , α α α по со- держимому РгАП, РгМ и ЗМ называется операцией контроля ассо- циации. Эта операция является составной честью операций считыва- ния и записи, хотя она имеет и самостоятельное значение. При считывании сначала производится контроль ассоциации по ассоциативному признаку в РгАП. Затем при 0 1 α = считывание от- меняется из-за отсутствия искомой информации, при 1 1 α = считыва- ется в РгИ найденное слово, при 2 1 α = в РгИ считывается слово из ячейки, имеющей наименьший номер среди ячеек, отмеченных 1 в РгСв. Из РгИ считанное слово выдается на выходную шину ШИВых. При записи сначала отыскивается свободная ячейка. Для этого выполняется операция контроля ассоциации при РгАП=111…10 и РгМ=000...01. При этом свободные ячейки отмечаются 1 в РгСв. Для записи выбирается свободная ячейка с наименьшим номером. В неё записывается слово, поступившее с ШИBx в РгИ. Посредством операции контроля ассоциации можно, не считы- вая слов из памяти, определить по содержимому РгСв, сколько в па- мяти слов, удовлетворяющих ассоциативному признаку, например, реализовать запросы типа: сколько курсантов в группе имеют отлич- ную оценку по данной дисциплине. При использовании соответст- вующих комбинационных схем в ассоциативной памяти могут вы- полняться достаточно сложные логические операции, такие как поиск большего (меньшего) числа, поиск слов, заключенных в определен- ных границах и др. Отметим, что для ассоциативной памяти необходимы запоми- нающие элементы, допускающие считывание без разрушения запи- 170 санной в них информации. Это связано с тем, что при ассоциативном поиске считывание производится по всему ЗМ для всех незамаскиро- ванных разрядов и негде сохранять временно разрушаемую считыва- нием информацию. Стековая память. Стековая память, также как и ассоциативная, является безадресной. Стековая память делится на два вида: FIFO – первым пришел, первым вышел и FILO – первым пришел и послед- ним вышел. В стековой памяти FIFO (рисунок 5.7,а) ячейки образуют одномерный массив, в котором соседние ячейки связаны друг с дру- гом разрядными цепями передачи слов. Стек заполняется с одной стороны, при этом слова записываются в свободные ячейки с после- довательными номерами, начиная с верхней ячейки, а считывание с удалением слова из памяти производится с другой стороны стека и только из нижней ячейки (ячейки 0). Остальные слова в стеке сдви- гаются вниз в соседние ячейки с меньшими номерами. Таким обра- зом, порядок считывания подчиняется правилу: первым поступил - первым обслуживается. В состав стековой памяти входит счетчик-указатель стека СчУСт. При записи нового слова в стек содержимое СчУСт увеличи- вается на единицу, при считывании уменьшается на единицу. При СчУСт = 0 вырабатывается сигнал УСт = 0, обозначающий, что стек пуст. При СчУСт = 1 N − формируется сигнал УСт 1 N − , указываю- щий, что стек заполнен. Стековая память используется в ЦВМ для аппаратной организации различных очередей. В стековой памяти FILO (рисунок 5.7,б) запись нового слова происходит в верхнюю ячейку. При этом все ранее записанные слова (включая слово, находившееся в ячейке 0) сдвигаются вниз, в сосед- ние ячейки с большими на единицу номерами. Считывание возможно только из верхней (нулевой) ячейки стековой памяти. При этом если производится считывание с удалением, то все остальные слова в па- мяти сдвигаются вверх, в соседние ячейки с меньшими номерами. В этой памяти порядок считывания слов соответствует правилу: по- следним поступил - первым обслуживается. Так организована подача патронов из магазина автоматического стрелкового оружия, поэтому стековую память типа FILO называют также магазинной. Магазинная память снабжается счетчиком-указателем магазина, действие которо- го аналогично указателю стека. Магазинная память эффективна при реализации вложенных алгоритмов и системы прерываний. 171 Рисунок 5.7- Стековая память типа FIFO (а) и типа FILO (б) 5.1.6 Виды адресации и способы их реализации в БЦВМ Наиболее широкое применение в современных БЦВМ нашли ЗУ с адресной организацией. Это значит, что каждой хранимой единице информации ставится в соответствие специальное число – адрес, оп- ределяющий место ее хранения в памяти. Сведения об адресе или его составных частях содержатся в ко- манде. Пользуясь этой информацией, машина производит выборку из памяти требуемых программой данных. В свою очередь, сами адреса могут рассматриваться как данные, подвергаться в машине обработке и образовываться в результате вычислений. Следует различать понятия: адресный код в команде (адресная часть команды) Ак и исполнительный адрес Аи. Адресный код – это информация об адресе, содержащемся в команде. Исполнительный адрес – это номер ячейки памяти, к которой производится фактиче- ское обращение. В современных БЦВМ стремление к уменьшению длины кода команды и созданию удобств при программировании приводит к тому, что адресный код, как правило, не совпадает с ис- полнительным адресом. Формирование исполнительного адреса может осуществляться различными способами. Наиболее часто используются следующие способы: 172 подразумеваемый операнд; подразумеваемый адрес; непосредственная адресация; прямая адресация; относительная адресация или базирование; косвенная адресация; укороченная адресация; адресация слов переменной длины. Подразумеваемый операнд. В этом случае в команде не содер- жится явных указаний об адресе операнда, операнд подразумевается и фактически задается кодом операции команды. Данный метод ис- пользуется не часто, однако имеется несколько важных случаев его применения. В качестве примера можно привести команды подсчета, в которых к некоторому числу (содержимому счетчика) прибавляется фиксированное приращение, часто единица младшего разряда. Один из операндов – число в счетчике – обычно адресуется явным методом, второй операнд – приращение – не адресуется, в памяти машины не содержится и является подразумеваемым. Подразумеваемый адрес. В команде не содержится явных указа- ний об адресе участвующего в операции операнда или адреса, по ко- торому помещается результат операции, но этот адрес подразумева- ется. Например, команда может содержать адреса обоих операндов, участвующих в операции, при этом подразумевается, что результат операции помещается по адресу одного из операндов. Или в команде указывается только адрес одного операнда, а адрес второго, которым является содержимое специального регистра (называемого регистром результата), подразумевается. Непосредственная адресация. В команде содержится не адрес операнда, а непосредственно сам операнд. При непосредственной ад- ресации не требуется обращения к памяти для выборки операнда и ячейки памяти для его хранения. Это позволяет во многих случаях повысить быстродействие машины и уменьшить объем памяти, необ- ходимый для данной задачи. Непосредственная адресация удобна для хранения различного рода констант. Однако в этом случае длина опе- ранда должна быть меньше кода команды, поскольку часть разрядов команды занята под код операции. Прямая адресация. Исполнительный адрес совпадает с адресной частью команды. Этот метод адресации был общепринятым в первых 173 вычислительных машинах и продолжает применяться в настоящее время в комбинации с другими методами. Относительная адресация или базирование. Исполнительный ад- рес определяется суммой адресного кода команды Ак и некоторого числа Аб, называемого базовым адресом: Аи = Ак + Аб. Для хранения базовых адресов в машине могут быть предусмот- рены регистры или специально выделенные для этой цели ячейки па- мяти (базовые регистры). Количество разрядов в базовом адресе вы- бирают таким, чтобы совместно с адресной частью команды можно было адресовать любую ячейку памяти. Для указания места хранения базового адреса в команде может быть отведено соответствующее поле В. При использовании базирования с целью экономии разрядов ад- ресный код команды Ак обычно делают короче базового адреса и на- зывают его смещением (обозначают буквой С). Смещение С опреде- ляет положение операнда относительно начала массива, задаваемого базовым адресом Аб. Рисунок 5.8,а поясняет процесс формирования исполнительного адреса. Большей частью исполнительный адрес при базировании обра- зуется посредством суммирования согласно выражению (рисунок 5.8,б) Аи = = ≠ + > < , ) ( ), ( ; ) ( ), ( ) ( О В если С О В если C B где (В) и (С) – коды (числа), стоящие в полях В и С команды, <(В)> - содержимое регистра с номером (В). При (В) = 0 относитель- ная адресация блокируется. Суммирование при образовании Аи связано с потерей времени. Поэтому применяют также формирование исполнительного адреса методом совмещения (склеивания) (рисунок 5.8,в). В этом случае ба- зовый адрес содержит старшие, а смещение – младшие разряды ис- полнительного адреса, которые объединяются в РгА согласно опера- ции РгА: = РгВ * РгК [C] , где * - знак объединения (склеивания); РгК [C] – разряды коман- ды, соответствующие смещению. 174 Рисунок 5.8 - Относительная (базовая) адресация: а- образование адреса элемента одномерного массива; б- форми- рование исполнительного адреса при базировании суммированием; в- формирование исполнительного адреса совмещением (склеиванием) Относительная адресация обеспечивает так называемую «пере- мещаемость» программ, т.е. возможность передвижения программ в памяти без изменений внутри самой программы. Относительная адресация облегчает распределение памяти при составлении несколькими программистами сложных программ. Каж- дый программист может располагать свою часть программы в памяти, начиная с нулевого адреса. При компоновке программы достаточно только задать соответствующие значения базовых адресов. Косвенная адресация. Адресный код команды указывает адрес ячейки памяти, в которой находится адрес операнда или команды. Таким образом, косвенная адресация может быть иначе определена как «адресация адреса». Обращение к ячейке памяти за операндом при косвенной адре- сации выполняется в несколько этапов. На первом этапе формируется 175 исполнительный адрес ячейки памяти, где хранится адрес операнда. На втором этапе адрес операнда извлекается из ячейки и пересылает- ся в регистр адреса РгА. И на третьем этапе происходит извлечение операнда по адресу, находящемуся в РгА. Укороченная адресация. Для уменьшения длины кода команды часто применяется так называемая укороченная адресация. Суть ее сводится к тому, что в команде задаются только младшие разряды ад- ресов. Старшие разряды при этом подразумеваются нулевыми. Такая адресация позволяет использовать только небольшую группу фикси- рованных ячеек с короткими адресами и поэтому может использо- ваться лишь совместно с другими методами адресации. Адресация слов переменной длины. Эффективность вычисли- тельных систем, предназначенных для обработки данных, повышает- ся, если имеется возможность выполнять операции со словами пере- менной длины. В этом случае в машине должна быть предусмотрена адресация слов переменной длины, которая обычно реализуется ука- занием в команде местоположения в памяти начала слова и его дли- ны. Из изучаемых вычислительных машин наиболее развита система адресации БВМ А-15А. В А-15А формирование исполнительного ад- реса может осуществляться восемью различными способами (таблица 5.1), определяемыми признаком адресации (ПА). Таблица 5.1 – Способы формирования исполнительного адреса БВМ А-15А Разряды ПА А Б В Схема формирования исполнительного адреса 0 0 0 Аи = С 0 0 1 Аи = РгБ1*С 0 1 0 Аи = П[C] 0 1 1 Аи = П[РгБ2*С] 1 0 0 Аи = СчК ± С 1 0 1 Аи = РгИ1 + С 1 1 0 Аи = РгИ2 + С 1 1 1 Аи = РгБ3*С В таблице 5.1 использованы следующие обозначения базовых констант адресации, заносимых в регистры БВМ: РгБ1, РгБ2, РгБ3 – содержимое 6-разрядных базовых регистров; 176 РгИ1, РгИ2- содержимое 16-разрядных индексных регистров; СчК – содержимое 16-разрядного счетчика команд; П[C] – содержимое ячейки с адресом С; П[Б2*С]- содержимое ячейки с адресом РгБ2*С, где * - символ объединения (склеивания) двух кодов в одно 16-ти разрядное слово. В соответствии с форматом адреса, приведенным в таблице 5.2, и распределением поля адресов памяти (таблица 5.3) формирование адреса осуществляется следующим образом. Таблица 5.2 – Формат адреса БЦВМ А-15А Разряды слова 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Триады 0-я 1-я 2-я 3-я 4-я 5-я Назначение Номер блока номер ячейки памяти в блоке При ПА = 000 исполнительный адрес равен смещению, непо- средственно записанному в команде, причем его старшие 6 разрядов равны нулю. С учетом распределения поля адресов это означает пря- мую адресацию к ячейкам ОЗУ1. При ПА = 001 исполнительный адрес образуется «склеиванием» 6-разрядного кода РгБ1 с 10-разрядным смещением команды. Код ба- зы занимает старшие 6 разрядов, смещение - младшие 10 разрядов исполнительного адреса. При ПА = 010 исполнительный адрес является содержимым ячейки, адрес которой равен смещению, записанному в команде. С учетом распределения поля адресов смещение представляет собой косвенный адрес и указывает адрес ячейки памяти в блоке ОЗУ1, чье содержимое представляет собой исполнительный адрес. При ПА = 011 исполнительный адрес является содержимым ячейки памяти, адрес которой равен РгБ2*С, т.е. исполнительный ад- рес может находиться в любой ячейке памяти, как долговременной, так и в оперативной. При ПА = 100 исполнительный адрес образуется как сумма со- держимого счетчика команд и смещения. В данном случае операция суммирования производится только над младшими десятью разряда- ми адреса (содержимого счетчика команд). При возникновении пере- носа в следующий (одиннадцатый), разряд он отбрасывается. Поэто- му операция может рассматриваться и как вычитание из содержимого СчК величины смещения. В результате операции получается 16- 177 разрядный исполнительный адрес, шесть старших разрядов которого, определяющих блок ЗУ, остаются неизменными. Этот вид адресации удобно применять для организации циклов. При ПА = 101 исполнительный адрес образуется как сумма со- держимого РгИ1 и смещения. При ПА = 110 исполнительный адрес образуется как сумма со- держимого РгИ2 и смещения. При ПА = 111 исполнительный адрес образуется «склеиванием» шестиразрядного РгБ3 и смещения. Следует отметить, что без косвенных и относительных видов адресации можно обратиться лишь к 1024 ячейкам памяти ОЗУ1. Таблица 5.3 – Распределение поля адресов памяти БЦВМ А-15А Код шести старших разря- дов Восьме- ричная за- пись Наименование блока Количество ячеек 000000 00 ОЗУ1 1024 000001 01 ОЗУ2 1024 000010 02 Свободная зона 1024 000011 03 Свободная зона 1024 000100 04 Свободная зона 1024 000101 05 Свободная зона 1024 000110 06 ДЗУС 128 000111 07 Накопитель пульта контроля 8 001ххх 1Х Свободная зона 8192 010ххх 2Х Свободная зона 8192 011ххх 3Х Свободная зона 8192 100ххх 4Х ДЗУ1 8192 101ххх 5Х ДЗУ2 8192 110ххх 6Х ДЗУ3 8192 111ххх 7Х ДЗУ4 8192 В ЦВМ типа «Орбита» применяется прямая адресация к блокам ОЗУ и относительная адресация к блокам ДЗУ. Для реализации отно- сительной адресации используются регистры, именуемые переключа- телями квадратов. Соответственно, имеются переключатели квадра- тов команд, объединенные со счетчиком команд (СКП), и переключа- тель квадратов числа (ПЧ). 178 В ЦВМ типа Ц-100 используется прямая, относительная и кос- венная адресация, как на уровне команд, так и на уровне микроко- манд. Кроме этого используется регистровая адресация, при исполь- зовании которой формируется адрес не ячейки памяти, а адрес одного из регистров процессора. 5.2 Процессоры БВМ 5.2.1 Основные сведения о процессорах БВМ Процессором называется устройство, непосредственно осуще- ствляющее процесс обработки данных и программное управление этим процессом. Процессор дешифрирует и выполняет команды программы, ор- ганизует обращения к оперативной памяти, в нужных случаях ини- циирует работу каналов и периферийных устройств, воспринимает и обрабатывает запросы, поступающие из устройств машины и из внешней среды (так называемые «запросы на прерывание»). По вы- полняемым функциям процессор является центральным устройством ЦВМ, управляющим взаимодействием её составных частей. Выполнение процессором программы решения задачи представ- ляет собой последовательность операций, осуществляемых в задан- ном программой порядке. К таким операциям относятся арифметиче- ские и логические операции, операции, связанные с анализом полу- чающихся результатов, с организацией и управлением процессом вы- числений. Обычно каждой такой операции соответствует команда. В свою очередь операция (выполнение команды) может быть разделена на более мелкие этапы (микрооперации), во время которых исполняются определенные элементарные действия. Последователь- ность микроопераций, реализующих данную операцию (команду), образует микропрограмму операции. Для характеристики временных соотношений между различными этапами операции используется по- нятие машинный такт. Он определяет интервал времени 1 i i T t t − = − , в течение которого выполняется одна или одновременно несколько микроопераций процессора. Таким образом, может быть установлена следующая иерархия этапов выполнения программы в процессе вы- числений: программа, команда (микропрограмма), микрооперация. 179 Структура процессора показана на рисунке 5.9. В его состав входят устройство управления (УУ) и арифметико-логическое уст- ройство (АЛУ). g d h ,d h+1 x k r q Рисунок 5.9 - Структурная схема процессора Рассмотрим работу процессора при выполнении в АЛУ машин- ной операции g f F ∈ из состава системы команд процессора. Операн- дами этой операции являются слова d h и d h+1 , хранящиеся в ОЗУ. Ре- зультат операции 1 ( , ) q g h h r f d d + = также записывается в ОЗУ. На вход УУ поступает код g заданной операции и осведомитель- ный сигнал x k , сформированный в АЛУ при выполнении предыдущей операции. На основе этой информации УУ генерирует последова- тельность ( ) ( ) ( ) { } 1 2 , , , g g Y Y t Y t Y t = … . Каждый элемент ( ) i Y t этой последовательности есть ансамбль управляющих сигналов в такте i t , под воздействием которых выполняется одна микрооперация (или не- сколько совместимых микроопераций). Одним из результатов этих микроопераций является значение осведомительного сигнала i x , от которого зависит очередной набор управляющих сигналов ( ) 1 i Y t + Под воздействием последовательности управляющих сигналов g Y происходит извлечение операндов d h и d h+1 из ОЗУ, выполнение над ними заданной операции f g и запись результата q r в ОЗУ. В последнем такте g t генерируется ансамбль управляющих сигналов ( ) g Y t , одним из элементов которого будет осведомительный сигнал конца опера- ции g x . Основным элементом, обеспечивающим организацию вычисли- тельного процесса, является устройство управления. Y g Процессор x g Внутренняя магистраль УУ АЛУ 180 5.2.2 Классификация и основные характеристики арифметико- логических устройств В общем случае арифметико-логическое устройство служит для выполнения над операндами машинных операций, заданных системой команд БЦВМ. Обычно операндами машинных операций являются машинные слова или отдельные поля этих слов (байты и биты). При необходимости повысить точность вычислений машинные операции выполняются над словами двойной длины. К арифметическим операциям относятся сложение, вычитание, вычитание модулей («короткие операции»), умножение и деление («длинные операции»). Группу логических операций составляют опе- рации дизъюнкция (логическое сложение) и конъюнкция (логическое умножение) над многоразрядными двоичными словами, а также срав- нение кодов на равенство. Специальные арифметические операции включают нормализацию, арифметический сдвиг (сдвигаются только разряды мантиссы числа, знаковый разряд остается на места), логи- ческий сдвиг (знаковый разряд сдвигается вместе с цифровыми раз- рядами). Классификация АЛУ может быть произведена по следующим признакам. По способу действия над операндами АЛУ делятся на последо- вательные и параллельные. В последовательных АЛУ операнды пред- ставляются последовательным кодом, а операции производятся по- следовательно во времени над их отдельными разрядами. В парал- лельных АЛУ операнды представляются параллельным кодом и опе- рации совершаются параллельно во времени над всеми разрядами операндов. По способу представления чисел различают АЛУ для чисел с фиксированной запятой, для чисел с плавающей запятой и для деся- тичных чисел. По способу организации работы различают асинхронные и син- хронные АЛУ. В асинхронных АЛУ определяется момент фактиче- ского окончания операции, после чего немедленно может начаться следующая операция. В синхронных АЛУ независимо от фактической продолжительности операции, определяющейся значениями операн- дов, на выполнение отдельных операций отводится фиксированное время. 181 По характеру использования элементов и узлов АЛУ делятся на блочные и многофункциональные. В блочном АЛУ для реализации ряда операций (умножение и деление, операций с адресами и т.д.) ис- пользуются отдельные блоки. При этом повышается скорость работы, так как блоки могут работать параллельно, но при этом значительно возрастают затраты оборудования. В многофункциональных АЛУ все операции выполняются одними и теми же схемами, которые комму- тируются нужным образом в зависимости от требуемого режима ра- боты. Основные характеристики АЛУ изучаемых БЦВМ приведены в таблице 5.4. Таблица 5.4 - Основные характеристики АЛУ Характеристики АЛУ Назначение Характер использо- вания эле- ментов Способ обработ- ки Количест- во команд Быстро действие оп/с (R-R) Орбита 10 Выполнение дейст- вий над операнда- ми много- функцио- нальный последо- ватель- ный 63 125000 А-15А Выполнение дейст- вий над операнда- ми; формирование исполнительных адресов; выполне- ние модификации команд много- функцио- нальный парал- лельный 71 208000 Ц - 100 Выполнение дейст- вий над операнда- ми блочный парал- лельный 256 250000 (800000) 5.2.3 Выполнение арифметических и логических операций в арифметико-логическом устройстве АЛУ БВМ выполняет обычно следующие основные стандартные и специальные арифметико-логические операции: арифметическое сложение и вычитание; арифметический, логический и циклический сдвиги; логическое сложение и умножение, сложение по модулю два; 182 поиск самой левой (правой) единицы в слове и массиве данных; запись единицы или нуля в разряд слова и массива данных; арифметические и логические операции с частью слова данных. Реализация арифметико-логических операций осуществляется АЛУ, структурная схема которого представлена на рисунке 5.10. Первый А и второй Б операнды через шины и поступают соот- ветственно в регистры РА и РБ АЛУ. Дальнейшее прохождение опе- рандов к узлам АЛУ и действия над ними зависят от кода операции, задаваемого управляющими сигналами m i i y y ... 1 , поступающими из устройства управления (УУ). Эти сигналы и синхросерии С(1),...,С(К) поступают в узел местного управления (УМУ), который вырабатыва- ет и распределяет последовательность управляющих сигналов для выполнения заданной операции. Рисунок 5.10 Выполнение операций арифметического сложения осуществля- ется параллельно по всем разрядам. Для этого в АЛУ используется n схем одноразрядных комбинационных сумматоров (см. п. 3.5.3). Операция вычитания реализуется через сложение чисел, одно из ко- торых представляется дополнительным кодом отрицательного числа. Операции умножения и деления осуществляются по алгоритмам, рассмотренным в п. 1.3.3. Наибольший интерес представляет рас- смотрение процесса выполнения логических операций. 183 Система команд БЦВМ предусматривает такие логические опе- рации, как логическое умножение (И), логическое сложение (ИЛИ) и сложение по модулю два (ИСКЛЮЧАЮЩЕЕ ИЛИ). Реализация опе- раций логического умножения и сложения осуществляется специаль- ными комбинационными схемами, выполняющими поразрядную ло- гическую обработку операндов по правилам булевой алгебры: , & i i i i i i i i y x z y x y x z ∨ = = = Однако можно использовать и внутренние цепи комбинационного сумматора для реализации логических операций. Для реализации по- разрядного логического умножения необходимо запретить перенос из предыдущих разрядов, а результат снимать с выхода переноса сумма- тора & ) ( 1 4 8 i i i i i i i b a p y b a p y z = + + = = − Операция логического сложения реализуется следующим обра- зом b a b a y b a y y S ∨ = ⋅ ∨ ⋅ = ) ( ) ( 5 2 5 , что следует из выражения для суммы в полусумматоре b a b a S ⋅ ∨ ⋅ = Реализация операции сложения по модулю два осуществляется, как правило, сумматором. При этом «закрываются» цепи переносов сумматора, что обеспечивает , , , 1 0 0 − = = n i p i и получение i i i i i i i y x y x y x z ∨ = ⊕ = Разновидностью арифметических и логических операций яв- ляются операции сдвигов. Различают операции арифметического, логического и циклического сдвигов первого операнда влево или вправо на заданное вторым операндом число разрядов. При арифметическом сдвиге первый операнд является целым числом со знаком. При выполнении этой операции значение знако- вого разряда сдвигаемого числа не изменяется, а значения осталь- ных разрядов перемещаются влево или вправо на заданное число разрядов. При этом значения разрядов, сдвигаемые за пределы зна- чащей части числа, теряются, а в разряды, освобождающиеся после сдвига, заносятся нули. Обозначим арифметический сдвиг операнда х влево и вправо на у разрядов, соответственно, A y x z p ← = и → = A y x z p . То- гда имеет место 184 y p x A y x z 2 ⋅ = ← = , y p x A y x z − ⋅ →= = 2 При логическом и циклическом сдвигах первый операнд явля- ется полноразрядным логическим кодом, поэтому соответствующие операции производятся над всеми разрядами операнда аналогично арифметическому сдвигу значащей части целого числа. При цикли- ческом сдвиге потери значений разрядов, сдвигаемых за пределы разрядной сетки операнда, не происходит, так как значения этих разрядов заносятся в разряды, освобождающиеся после сдвига. Операции сдвига осуществляются сдвиговым регистром или за счет передачи данных с выхода обычного регистра на вход сумма- тора так называемым косым кодом т.е. со смещением на один разряд влево или вправо. 5.2.4 Устройство управления со схемной организацией Устройство управления (УУ) вырабатывает необходимые управ- ляющие сигналы для выборки очередной команды из памяти, дешиф- рации кода команды, формирования адресов операндов, выборки операндов из памяти, передачи их в АЛУ, выполнения в АЛУ опера- ции, предусмотренной кодом команды, передачи полученного в АЛУ результата операции в память, инициирования работы каналов, орга- низации реакции процессора на запросы прерывания, поступающие от узлов самого процессора, других устройств ЭВМ и внешней среды. Для реализации перечисленных функций в состав УУ обычно входят следующие узлы (блоки): узел управления операциями; узел дешифрации; узел формирования адреса; узел управления блоками памяти; узел обмена и реакции на запросы внешних устройств; узел синхронизации. Узел управления операциями предназначен для выработки по- следовательности управляющих сигналов, обеспечивающих выпол- нение команды (микрокоманды). Распознавание конкретной команды осуществляется узлом дешифрации по соответствующему данной ко- манде коду операции. 185 Узел формирования адреса обеспечивает формирование испол- нительного адреса операндов и команд в режиме естественного вы- полнения команд и выдает исполнительные адреса команд и чисел в узел управления блоками памяти и в узел обмена. Узел управления блоками памяти предназначен для выбора бло- ка памяти и ячейки в выбранном блоке соответственно исполнитель- ному адресу, формирования сигналов обращения к блоку при считы- вании и записи кодов и пересылки считанных кодов из памяти в раз- личные устройства ЭВМ. Узел обмена обеспечивает обмен информацией с внешними уст- ройствами, в том числе и в случаях, когда инициаторами такого об- мена являются внешние устройства, т.е. при обмене по прерываниям. По способу выполнения команд в ЭВМ различают синхронный и асинхронный принципы управления. В УУ, реализующем принцип синхронного управления, длительность машинного цикла выбирается постоянной, одинаковой для всех реализуемых операций и равной длительности выполнения самой продолжительной операции. В каж- дом цикле вырабатывается одинаковое число синхронизирующих сигналов. Нормирование синхронизирующих сигналов осуществляет узел синхронизации. В настоящее время существует два варианта формирования управляющих сигналов (УС), предназначенных для выполнения опе- раций машинного языка (системы команд). В зависимости от способа формирования управляющих сигналов различают устройства управ- ления БВМ со схемным формированием УС (УУ с жесткой логикой) и УУ с программным формированием УС (микропрограммные уст- ройства управления). Обобщенная структурная схема управляющего устройства с же- сткой логикой показана на рисунке 5.11. В состав схемы входят ре- гистр кода операции, являющийся частью регистра команд, счетчик тактов, дешифратор тактов и дешифратор кода операции, а также ло- гические схемы образования управляющих функциональных сигна- лов. На счетчик тактов поступают сигналы от блока синхросигналов, и счетчик с каждым сигналом меняет свое состояние. Состояния счетчика представляют номера тактов, изменяющиеся от 1 до n . Де- шифратор тактов формирует сигнал на j -м выходе, если код, посту- пающий на его вход, соответствует двоичному номеру j -того синхро- сигнала. 186 Разрядность входных линий дешифратора кода операции соот- ветствует числу разрядов, отводимых в формате команды под код операции. Для m - разрядного кода операции дешифратор обеспечи- вает формирование 2 m выходных сигналов. При этом активное со- стояние выходного сигнала (логический ноль или логическая едини- ца, в зависимости от принятой логики) возможно лишь на той линии, двоичный номер которой соответствует двоичному коду операции. Логические схемы образования управляющих функциональных сиг- налов для каждой команды возбуждают формирователи функцио- нальных сигналов, обеспечивающие выполнения требуемых в данном такте микроопераций. Рисунок 5.11 - Структура управляющего устройства с жесткой логикой Синтез формирователя функциональных сигналов осуществля- ется по известной методике синтеза комбинационных схем. При этом с целью повышения быстродействия выполняется оптимизация раз- рабатываемых схем по критерию минимума времени формирования 187 сигналов при минимальном составе используемого оборудования. Для обеспечения минимального времени выполнения команды ста- раются совместить во времени основные этапы ее реализации. Обыч- но все этапы делят на две группы: этапы подготовки и этапы выпол- нения команды. Подготовка к выполнению команды включает в себя: этап формирования адреса команды; этап выборки команды из ЗУ команд; этап формирования адреса операнда (или нескольких адресов операндов). Этапами выполнения являются: этап формирования сигналов исполнения операции и этап формирования осведомительной инфор- мации, в том числе и об окончании выполнения команды. Устройство управления обычно формирует для каждого из этапов соответствую- щий тактовый сигнал, который жестко привязан к основной последо- вательности синхроимпульсов. Устройство управления бортовой ЦВМ A-15A обеспечивает формирование следующих основных тактовых сигналов: выборки команды (ВК), формирования адреса операнда (ФА), выборки числа (ВЧ), записи числа (ЗЧ) и исполнения операции (ИО). В такте ВК осуществляется формирование исполнительного ад- реса команды, считывание её из ЗУ команд и пересылка команды на регистр команд (РгК). В зависимости от способа адресации формиро- вание адреса операнда может происходить за один такт (прямая и от- носительная адресация) либо за два такта (косвенная). В соответствии с кодом операции осуществляется формирование тактовых сигналов ВЧ и ЗЧ при выполнении команд, предполагаю- щих обращение к ЗУ. Если обращение к ЗУ не требуется, формирует- ся такт ИО. На рисунке 5.12 показана последовательность включения так- тов. При использовании косвенной адресации в такте ФА1 формиру- ется адрес ячейки, в которой находится исполнительный адрес опе- ранда. Извлечение исполнительного адреса осуществляется по специ- альному тактовому сигналу - выборка адреса (ВА). 188 Рисунок 5.12 - Последовательность включения тактов По окончанию такта ВА исполнительный адрес передается в узел приема информации, а именно в регистр памяти (РгП). Дальней- шая его передача в регистр адреса числа (РгАЧ) осуществляется в такте ФА2. Формирование тактовых сигналов осуществляется соот- ветствующими одноразрядными регистрами. Основная последовательность синхронизирующих импульсов, представляющих один машинный такт, состоит из двенадцати им- пульсов (1СИ, 2СИ,...,12СИ). В БЦВМ А-15А выборка и исполнение операции происходит за два машинных такта, но исполнение N- ой операции (команды) совмещается с выборкой следующей (N +1), и поэтому короткие операции выполняются практически за время од- ного машинного такта. Такой режим работы называется режимом со- вмещенного такта. Несовмещенный такт (НСТ) формируется при об- ращении за числом и следующей командой к одному блоку памяти, операция в этом случае выполняется за два машинных такта. При косвенной адресации время выполнения операции также увеличива- ется на такт выборки адреса. Сложность устройства управления определяется структурой по- следовательностей управляющих сигналов { } 1 2 0 , ,..., n n Y Y Y Y − − = . Чем сложнее эти последовательности, тем сложнее УУ с жесткой логикой. Кроме того, заложенная при проектировании структура схемного УУ изменению не подлежит, что не допускает никаких изменений в сис- теме команд машины. Достоинство схемной организации управления состоит в том, что для известных алгоритмов управления можно по- 189 строить оптимальные в отношении быстродействия и объема обору- дования УУ. 5.2.5 Микропрограммная организация управления В этом случае каждой микрооперации или набору совместимых микроопераций ставится в соответствие микрокоманда, то есть код, содержащий полную информацию о векторе управляющих сигналов. А для каждой команды разрабатывается микропрограмма, состоящая из последовательности микрокоманд. Для всех блоков вычислитель- ной машины формируется множество элементарных микроопераций, выполняемых в данном блоке. Все микрооперации кодируются, и в состав блоков вводятся дешифраторы микрокоманд, обеспечивающие опознавание каждой микрокоманды по её коду и формирование соот- ветствующих ей управляющих сигналов. Так как большинство блоков ЭВМ могут работать параллельно, то на эти блоки управляющие мик- рокоманды подаются одновременно. Это обеспечивает большие, по сравнению со схемой жесткой логики, возможности по совмещению этапов выполнения команды. Порядок выполнения программ при микропрограммном прин- ципе управления вычислительным процессом рассмотрим по упро- щенной структурной схеме БЦВМ Ц-100 (рисунок 5.13). В состав центрального процессора (ЦП) БЦВМ Ц-100 входят: блок арифметический логический (БАЛ); блок арифметический умножения-деления (БАУД); блок управления программой (БУП); блок управления микропрограммой (БУМ); блок управления данными (БУД); блок оперативной памяти (БЗО); блок коммутатора данных (БКД). Обмен информацией между блоками осуществляется по четы- рем основным магистралям: магистрали команд и констант (LE), ма- гистрали микрокоманд (LF), магистрали адресов (LA) и магистрали данных (LD). Блоки БАЛ и БАУД вместе составляют арифметико-логическое устройство и используются для выполнения арифметических и логи- ческих операций над битами, байтами, словами одинарной и двойной длины. 190 В блоке управления программой производится формирование адресов, хранение и выдача в магистраль LE элементов программ и констант. Выдача может производиться как пословно, так и побайтно. Блок управления микропрограммой предназначен для выдачи в ЦП кода микрокоманды, а также формирования адреса следующей микрокоманды. Блок управления данными предназначен для формирования ад- ресов данных, обрабатываемых процессором. Система микрокоманд блока позволяет производить также некоторые арифметические дей- ствия над данными. Блок оперативной памяти представляет собой запоминающее устройство с произвольной выборкой емкостью 4К 16-разрядных слов. Блок допускает как пословную, так и побайтную запись и чте- ние информации. Рисунок 5.13 - Структурная схема центрального процессора БЦВМ Ц-100 191 Блок коммутатора данных выполняет операции по запоминанию и восстановлению содержимого магистралей LA , LD , LE, а также позволяет производить коммутацию байтов информации, передавае- мых по магистрали LD . Адрес первой команды (пусковой адрес) программы формирует- ся в БУП аппаратурно или может быть записан с пульта контроля. По этому адресу из ПЗУ программ извлекается команда и выдается в ма- гистраль LE. Блок управления микрокомандами считывает код ко- манды из магистрали LЕ и формирует по нему первый адрес подпро- граммы (микропрограммы), обеспечивающей реализацию данной ко- манды. По адресу первой микрокоманды из ПЗУ микрокоманд счи- тывается микрокоманда и выдается в магистраль микрокоманд. В общем случае формат микрокоманды любого блока имеет вид, при- веденный на рисунке 5.14. КСБ КОп ДКОп А НО 36 разрядов Рисунок 5.14 - Обобщенный формат микрокоманд На рисунке 5.14 приняты следующие обозначения: КСБ - поле кода структуры блока, т.е. группа разрядов, каждый из которых отне- сен к определенному блоку. Если разряд КСБ для данного блока ра- вен единице, то данная микрокоманда выполняется блоком; КОп - поле кода операции; ДКОп - поле расширения кода операции; А - ад- рес регистра местной памяти или блока ОЗУ; НО - поле непосредст- венного операнда. В зависимости от кода операции и типа блока некоторые поля микрокоманды блока могут отсутствовать. В этом случае для записи одной микрокоманды нужно меньше 36 разрядов. Возможность раз- мещения в объеме 36 разрядов микрокоманд нескольких блоков и стремление совместить по времени работу как можно большего коли- чества блоков привело к тому, что в формате микрокоманды процес- сора поля КСБ микрокоманд блоков объединяются в поле кода струк- туры процессора (КСП). На рисунке 5.15 приведен формат микрокоманды процессора, где показано размещение поля КСП и поля управления. 192 КСП У КСП 1 7 8 31 32 34 Рисунок 5.15 - Формат микрокоманды процессора Распределение разрядов КСП за блоками процессора показано на рисунке 5.16. 0 р 1 р 2 р 3 р 4 р 5 р 6 р 7 р 8…31 32р 33р 34р БУМ БАЛ БУД БУП БЗО-1 БАУД БКД БУВВ У БО-5 ПУ БКП Рисунок 5.16 Распределение разрядов поля КСП Кроме блоков, назначение которых уже было оговорено, на ри- сунке обозначены: БУВВ - блок управления вводом-выводом инфор- мации; БО-5 - блок обмена параллельными кодами; ПУ - пульт управ- ления и контроля ЭВМ. Дешифраторы микрокоманд всех блоков анализируют состояние разрядов поля КСП и, при наличии единицы в соответствующем раз- ряде, воспринимают значение поля управления. В поле управления приводятся значения разрядов нескольких (до пяти) микрокоманд. Распределение разрядов в данном случае определяется кодом КСП. Дешифраторы микрокоманд, задействованных для выполнения дан- ной микрокоманды, блоков по коду КСП выделяют соответствующие разряды кода операции и формируют необходимый набор управляю- щих сигналов. Все выполняемые микрооперации одной микрокоман- ды заканчиваются за один машинный такт. По окончании времени машинного такта блок управления микрокомандами увеличивает на единицу адрес микрокоманды. В соответствии с полученным новым адресом из ЗУ микрокоманд извлекается следующая микрокоманда и выдается на шину микрокоманд. Процесс выполнения микрокоманд i -ой команды продолжается до тех пор, пока не будет достигнуто окончание микропрограммы. Последняя микрокоманда обеспечивает увеличение адреса команды в блоке управления программами, и про- исходит извлечение новой команды на реализацию. Системы микропрограммного управления можно классифициро- вать по ряду признаков. По типу памяти микропрограмм. В зависимости от типа памяти различают статическое и динамическое микропрограммирование. В первом случае в качестве памяти микрокоманд (ПМК) применяется постоянная память, во втором - оперативная. 193 программирование позволяет оперативно изменять микропрограммы, изменяя тем самым функциональные свойства устройств ЭВМ. По способу формирования управляющих функциональных сиг- налов - горизонтальное, вертикальное и смешанное микропрограмми- рование. По способу кодирования микроопераций - прямое и косвенное кодирование. По способу исполнения микрокоманд - одно- и многофазные микрокоманды. 5.2.6 Микропроцессоры и их программирование Цифровая обработка сигналов (ЦОС) находит в настоящее время все более широкое применение. Одной из причин этому является раз- работка интегральных схем, обладающих свойствами целой вычисли- тельной машины. К числу таких микросхем относятся микропроцес- соры, микроконтроллеры и процессоры обработки сигналов. Ядром этих устройств является процессор и схемы информационного обмена с внешней средой. Отличие заключается в предназначении инте- гральных микросхем. Микропроцессоры используются для создания универсальных вычислительных машин, микроконтроллеры – для управляющих в реальном масштабе времени специализированных вычислителей, а процессоры обработки сигналов – для специализиро- ванных вычислительных машин, предназначенных для выполнения различных преобразований сигналов, например, таких как быстрое преобразование Фурье (БПФ). Таким образом, |