Устройство для хранения и формирования микрокоманд
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Номер патента: 474007
Авторы: Вероцкий, Лосев, Погребинский
Текст
002 пиЗОБРЕТЕН И Союз Советски циалистическ РеспубликВТОРСКОМУ СВИДЕТЕЛЬСТВУ Зависимое от авт свидетельства М, Кл. б 061 2) Заявлено 13.03,73 (21) 1893238/18-2 присоединением явкиосударстееннмй комитет оеета Министров СССР 2) Приоритет 53) УДК Опублико(088,8 ллетень22 но 14,06.75. па делам изобретений и аткрытивДата опубликования описания 08.09.75 72) Авторы изобретения осев и С, Б, Погребинский ероцкий,1) Заявите Ордена Ленина институт кибернетики АН Украинской ССР 54) УСТ ФОРМИ ЙСТВО ДЛЯ ХРАНЕНИЯОВАНИЯ МИКРОКОМАНД 15 Предлагаемое устройство относится к области вычислительной техники и, в частности, может быть использовано при конструировании устройств управления вычислительных машин.Известны запоминающие устройства для хранения микрокоманд, построенные на основе совместного использования постоянного запоминающего устройства и оперативного запоминающего устройства. Такая структура устройства облегчает отладку микропрограммного обеспечения при разработке вычислительной машины и способствует его усовершенствованию и расширению в условиях пользователя.На стадии отладки микропрограммы хранятся в оперативной памяти, а после завершения отладки фиксируются в постоянной памяти, и соответствующие модули оперативной памяти заменяются модулями постоянной памяти,Известны вычислительные машины, в которых оперативная память и память микрокоманд, выполненная на основе постоянного запоминающего устройства, представляют собой функционально различные блоки, но при этом предусмотрены средства, позволяющие хранить микропрограммное обеспечение как в памяти микрокоманд, так и в оперативной памяти. Для адресации микрокоманд введен дополнительныи триггер, который может быть рассмотрен как старший триггер регистра адреса микрокоманды, Микрокоманда считывается из оперативной или постоянной памяти в зависимости от состояния этого триггера,Известна виртуальная память со страничной организацией и сегментаццей, позволяющая на базе оперативной памяти сравнительно небольшого объема и внешней памяти значительного объема и невысокого быстродействия построить память, быстродействие которой приближается к быстродействию оперативной памяти, а полезно используемый объем - к объему внешней памяти. Известный способ динамического распределения информации позволяет организовать виртуальную память с незначительными затратами оборудования для хранения таблицы, устанавливающей соответ. ствие мехкду номерами сегментов и адресами страниц оперативной памяти, в которых записаны сегменты.Известен также способ переходов и подпрограммам в произвольном месте основной программы, заключающийся в выполнении перехода по адресу, набранному на клавиатуре пульта.Известному устройству присущи сложность изменения и дополнения микропрограммного обеспечения. Изменения и дополнения, затрагивающие микропрограммы, фиксированные в3постоянной памяти, могут быть внесены либо при условии отказа от использования постоянной памяти и перемещения этих микропрограмм в оперативную память, либо посредством исправления информации, хранящейся в постоянной памяти, осуществляемого путем физического вмешательства в блок постоянной памяти, что сопряжено со значительными трудностями н обыкновенно приводит к снижению надежности и даже порче устройства.В результате этого отладка микропрограммного обеспечения при разработке вычислительной машины, как правило, представляющая собой итерационный процесс, резко тормозится, что приводит к существенному удлинению сроков разработки машины. Кроме того, затрудняется модернизация и расширение микропрограммного обеспечения в условиях пользователя.Другим недостатком является зависимость микропрограммного обеспечения от объема постоянной памяти, используемой в устройстве. Информация, обеспечивающая обращение к оперативной или постоянной памяти, должна быть указана непосредственно в микропрограммах. Поэтому при изменении объема постоянной памяти, используемой в устройстве, при перемещении отлаженных микропрограмм из оперативной памяти в постоянную либо при обратном их перемещении в случае корректировки должны быть изменены, по крайней мере, микрокоманды, обеспечивающие переход к перемещенным микропрограммам, и микрокоманды, обеспечивающие переход от перемещенных микропрограмм к неперемещенным, Кроме того, различные модели вычислительных машин одного семейства должны иметь различные варианты микропрограммного обеспечения.Еще один недостаток состоит в недостаточной жизнеспособности устройства.Устройство неработоспособно в случае возникновения в блоке оперативной памяти или в блоке постоянной памяти неисправности, приводящей к невозможности правильного считывания хотя бы одной мнкрокоманды. Например, характерными неисправностями такого рода являются выход из строя отдельных модулей памяти (при модульной структуре памяти), разрыв цепи адресного провода, короткое замыкание адресных проводов и т. д.Целью изобретения является увеличение гибкости при наладке и эксплуатации устройства.Для этого в него введены блок сравнения, блок задания множеств сегментов, блок обнаружения смены сегментов, Выход блока задания множеств сегментов соединен с первым входом блока сравнения, выход регистра номера сегмента - со входом блока обнаружения смены сегментов, а выходы блоков сравнения и обнаружения смены сегментов, а выходы блоков сравнения и обнаружения смены сегментов соединены с соответствующими входами блока управления. Регистр номера сег 4740074мента, кроме того, соединен со вторым входом блока сравнения. Второй блок ассоциативных регистров соединен соответствующими входами с регистром адреса микрокоманд и шиной кодовой магистрали, а выходом - с блоком управления, выход последнего соединен с регистрами адреса микрокоманд и номера сегмента и вторым блоком ассоциативных регистров. Кроме того, входы блоков сравнения и управления соединены с шиной контроля идиагностики вычислительной машины,На чертеже представлена блок-схема предлагаемого устройства,В состав предлагаемого устройства входит15 блок оперативной памяти 1, предназначенныйдля хранения информации, интенсивно используемой машиной и изменяющейся в процессе выполнения программы, причем одинсегмент хранится в одной странице памяти.20 Блок постоянной памяти 2 предназначен дляхранения сегментов микрокоманд, составляющих ядро микропрограммного обеспечения вычислительной машины; блок внешней памяти 3 - для хранения информации, с которой25 работает вычислительная машина, включаясегменты микрокоманд. Регистр микрокоманд4 служит для хранения выполняемой микрокоманды, регистр адреса микрокоманд 5 -для указания микрокоманды относительно наЗо чала сегмента. Регистр номера сегмента 6предназначен для указания номера сегмента,в которой входит микрокомапда, блок ассоциативных регистров 7 - для определения пономеру сегмента адреса страницы блока опе 35 ративнай памяти 1, в которой записан данныйсегмент. В олоке ассоциативных регистров 7хранится таблица распределения оперативнойпамяти, устанавливающая соответствие между номерами сегментов и адресами страниц40 блока оперативной памяти 1, в которых записаны соответствующие сегменты, либо частьэтой таблицы.Блок сравнения 8 предназначен для определения принадлежности запрошенного сегмента45 одному из следующих непересекающихся множеств сегментов: множеству М сегментов,фиксированных в блоке постоянной памяти 2,в которых нет изменений, множеству М, сегментов, фиксированных в блоке постоянной50 памяти 2, в которых имеются изменения, множеству Мз сегментов, отсутствующих в блокепостоянной памяти 2.Блок задания множеств сегментов 9 предназначен для сообщения блоку сравнения 855 информации, позволяющей определить при.надлежность любого сегмента одному из вышеуказанных множеств. Блок обнаружениясмены сегментов 10 предназначен для определения момента перехода к следующему сег.60 менту. Блок ассоциативных регистров 11 предназначен для хранения таблицы измененийтекущего сегмента, записанного в блоке постоянной памяти 2, и обеспечивает ассоциативный поиск требуемой строки таблицы из 65 менений (полная таблица изменений, в кото рой указаны все изменения микропрограмм, хранящихся в блоке постоянной памяти 2, записатта В олоке оперативной памяти 1; В 1(аждой строке таблицы изметтеций указан адрес микрокомацды, после выполнения которои необходим переход к микрокоманде, адрес которой указан в той же строке таблицы).Блок управления 12 предназначен для вьтполнения следующих функций: задание режттма выборки микрокоманд из блока постоянной памяти 2, задание режима выборки микрокомацд из блока оперативкой памяти 1, формирование сигналов запроса прерывания при переходе к сегменту, принадлежащему мттожеству М или к сегменту множества М, отсутствующему в огеративной памяти, а также в случае обнаружения ошибки в считанной микрокоманде, выпочттение переходов в соответствии с таблицей изменений.Перечисленные блоки связаны между собой, а также с другими устройствами вычислительной машины, посредством шин 13 - 29. Шины 13 кодовой магистралтл 13 предназначены для обмена информацией между блоком оперативной памяти 1, блоком внешней памяти 3, регистром адреса микрокоманд 5, регистром номера сегмента 6, блоком ассоциативных регистров 7, блоком ассоциативных регистров 11 и блоками других устройств вычислительной машины, Шины 14 служат для передачи в регистп адреса микрокоманд 5 сигналов перехода к следутощей микрокоманде. Кодовые шццы 15 предназначены для передачи адреса микрокоманды относительно начала сегмента г, блок оперативной памяти 1, блок постоян цой памяти 2 и блоке ассоциативных регисчров 11. Кодов.те шитты 16 служат для передачи номера сегмента треб 1 емой микрокоманды в блок гостоянной памяти 2, блок ассоциативных регистров 7, блок сравнения 8 и блок обнаружения смены сегментов 10, а кодовые шинн 17 - для передачи в блок оперативной памяти 1 адреса страницы требуемой микрокоматтды.Кодовые шины 18 предназначены для выдачи мтлкпоко.танды из блока оперативной памяти 1 в пегистр микрокомацды 4, кодовые тцттл.ты 19 - для выдачи микрокоманд из блока постоя;цтой памяти 2 в регистр микрокомацтт 4, Ко.тоггые шины 20 служат для пере- ,чччч мтткрокоманд в устройство управления вычис;тительцт.и машины, шины 21 - для перечачи г, блок сравнения 8 сигналов, позволяющих определить принадлежность любого сттмецта одному из тпех вышеуказанных мцожеств М 1 - М.Кпоме того. устройство содерт(ит шинн 22 сигналов спавттения, указь ватотт их на прццадлежностт, теютт;его сегмента к однотттх из трех мттожеств. шины 23 сигналов сравнечття номепа требемого сегмента с одним из номеппг, сег;ттентов, хпанящимся в блоке ассоциативных регистров 7, шины 24 сигналов запуска блока управления 12 при переходе к очередному сегменту и шины 25 сигналов запуска474007 5 1 О 15 20 25 30 35 40 45 50 55 60 65 6блока управления при совпадении содержцмого регистра адреса мцкрокоманд 5 и одного из регистров блока ассоциативных регистров 11.Шины 26 служат для передачи в устройство управления гычцслцтельцой машины сигналов задания одного из следующих режимов: режима выборки микрокоманд цз блока постоянной памяти 2 ц режцхта Выборки микрокоманд из блока оперативной памяти 1.Имеются шины 27 сигналов выдачи цз блока ассоциативных регистров 11 на шпцы 13 кодовой магистрали адреса микрокоманды в соответствии с таблицей измеценцй и приема этого адреса в регистр адреса микрокомацды 5; шины 28 сигналов запроса прерывания для перехода к служебной микропрограмме и шины 29 сигналов обнаружения ошибки в считанной микрокоманде, поступающих от устройства контроля и диагностики вычислительной машины.Подготовка предлагаемого устройства к работе производится следующим образом.В блоке задания множеств сегментов 9 в соответствии с множествами М, и М, производится переключение (например, посредством включения тумблеров, предусмотренных в блоке заданий множеств сегментов 9, илц установки перемычек). что обеспечивает передачу по шинам 21 в блок сравнения 8 сигналов, указывающих множество Мт сегментов, фиксированных в блоке постоянной памяти 2, В которых нет изметтений, и мттожество М 2 сегментов, фцксировагптых в блоке постоянной памяти 2, в которых имеются измецетшя. Прц этом сегменты, которые претерпели существепньте изменения и, хотя фактически присутствуют в блоке постоянной памяти 2, це могут быть использованы при выполнеции программы, в вышеуказанные множества не включаются, в результате чего доступ к таким сегментам блокируется.Под управлением программы, хранящейся в блоке постоянной памяти 2, производится начальная загрузка: в память микрокомацд из внешнего накопителя или устройства ввода (магнитцые ленты, перфоленты, перфокарты и т. д.) по шинам 13 кодовой магистрали передается необходимая информация (микропрограммное обеспечение, исправления микропрограмм, храттятцихся в блоке постояцной памяти 2, указания с комплекте оборудования, имеющегося в составе вычцслцтельноц машины, и т, д.). При этом в блоке оперативной памяти 1 составляется таблица распределения памяти, в которой отражается распределение внешней и оперативной памяти для хпанеция сегментов, составляется таблица исправления микропрограмм, храцящцхся в блоке постояшюй га:тяти 2, происходит запись сл, жебной ттттфопматттттт и фиксцроваццые ячейки блока оперативной памяти 1.Обычно сегменты мпкрокоманд загружаются только в блок внешней памяти 3. Однако в случае, если некоторое количество микропрограмм, необходимых для работы памяти мит 47400710 15 20 25 30 35 40 45 50 55 бО 65 7рокоманд (например, микропрограмма переписи информации из блока внешней памяти 3 в блок оперативной памяти 1), отсутствует в блоке постоянной памяти 2, то в блок оперативной памяти 1 записывается некоторое количество сегментов, которые затем постояццо присутствуют в оперативной памяти, называемых резидентными, а в блок ассоциативных регистров 7 - соответствующие этим сегментам строки таблицы распределения памяти.Устройство для хранения ц формирования микрокомацд рябояет следующим ооразом.Математический адрес текущей микро- команды, состоящий цз номера сегмента и адреса микрокомацды относительно начала сегмента, поступает в регистр адреса микро- команд 5 и регистр номера сегмента 6 по шинам 13 кодовой магистрали, лиоо формируется с помощью сигналов переходя к следующей микрокоманде, поступающих в регистр адреса мпкрокомапд 5 по шинам 14. Номер сегмента по кодовым шинам 16 передается в блок сравнения 8, где определяется вхождение данного сегмента в одно из трех вышеуказанных множеств, ц в блок управления 12 по шинам 22 поступают сигналы сравнения. Номер сегмента поступает также в блок обнаружения смены сегментов 10, вырабатывающий в момент изменения кода в регистре номера сегмента 6 сигнал запуска блока управления 12. Процедура перехода к участку микропрограммы, принадлежащему следующему сегменту, зависит от результата операции сравнения, выполняемой блоком сравнения 8,Если сегмент входит в множество М с помощью сигналов, передаваемых в устройство управления вычислительной машины по шинам 26, устанавливается режим выборки микрокоманд из блока постоянной памяти 2 до момента обращения к следующему сегменту. Выборка требуемой ячейки постоянной па яти осуществляется непосредственно с помощью математического адреса мцкрокомацды, совпадающего с ее физическим адресом в блоке постоянной памяти 2. Считанный код по кодовым шинам 20 поступает в устройство управления вычислительной машины,Если сегмент входит в множество Мъ с помощью сигналов, передаваемых по шинам 28, осуществляется переход к служебной микропрограмме, обеспечивающей перепись из блока оперативной памяти 1 в блок ассоциативных регистров 11 таблицы изменений текущего сегмента, после чего прерванная микропрограмма продолжает выполняться в режиме выборки микрокоманд из блока постоянчой памяти 2 до момента обращения к следущему сегменту либо до момента окончания выполнения микрокоманды, адрес которой указан в блоке ассоциативных регистров 11. В этот момент в блок управления 12 по шинам 25 поступает сигнал запуска, в результате чего вырабатываются сигналы, передаваемые по шинам 27 в блок ассоциативных регистров 11, регистр гомера сегмента 6, регистр 8адреса микрокоманды 5 и обеспечивающие перепись цз блока ассоциативных регистров 11 ц регистр номера сегмента 6 ц - регистр адреса мцкрокоманды 5 математического адреса очередной мцкрокомацды в соответствии с таблицей исправлений.Если сегмент входит в множество М немедленный доступ к цем возможен только в случае наличия номера требуемого сегмента в блоке ассоццативцых регистров 7. В этом случае блок ассоциативных регистров 7 вырабатывает сигнал сравнения, который совмсстс сигналом запуска поступает в блок управлеция 12 ц переключает устройство в реким выборки мцкрокомацд из блока оперативной памяти 1. В этом режиме физический адрес мцкрокоманды в блоке оперативной памяти 1 задается адресом страницы, передаваемым го кодовым шинам 17, и адресом относительно начала стряциць, передаваемым по кодовым цгицам 15. Считанный код по кодовым шинам 18 принимается в регистр мцкрокомяцды 4, откуда по кодовым шинам 20 поступает в устройство управления вычислительной машины.При отсутствии цомера требуемого сегмента в блоке ассоциативных регистров 7 блок управления 12 вырабатывает сигнал запроса прерывания, и вычислительная машина переходит к выполнению служебной микропрограммы, обеспечивающей доступ к требуемому сегменту.Предварительно информация, хранящаяся в регистрах вычислительной машины, записывается в специально отведенные ячейки блока оперативной памяти 1, после чего в таблице распределения памяти по номеру сегмента отыскивается физический адрес страницы памяти, в которой записан требуемый сегмент. Если эта страница принадлежит олоку оперативной памяти 1, номер сегмента и адрес занимаемой им страницы записываются в один из регистров блока ассоциативных регистров 7, определямый по некоторому правилу (например, циклически, либо на основании информации об интенсивности использования регистров, накапливаемой в специальном поле каждого регистра), затем происходит восстановление состояния процессора. Поскольку теперь в блоке ассоциативных регистров 7 происходит сравнение номера сегмента требуемой микрокоманды с содеркимым одного из регистров, выполнение прерванной микропрограммы продолкается. Если требуемый сегмент находится в блоке внешней памяти 3, то он переписывается в оперативную память. Если для хранения этого сегмента це может быть выделена свободная страницы оперативной памяти, то в соответствии с некоторым правилом определяется сегмент, подлежащий удалению из блока оперативной памяти 1, и на его место записывается требуемый сегмент, при этом производится корректировка таблицы распределения памяти в блоке оперативной памяти 1 и в блоке ассоциативных регистров 7, 9Строки таблицы распределения памяти, относящиеся к резидентным сегментам, снабкаются специальным признаком, который обеспечивает постоянное нахождение этих строк в блоке ассоциативных регистров 7, а резидентных сегментов - в блоке оперативной памяти 1,Каждая вновь считанная микрокоманда поступает в устройство контроля и диагностики вычислительной машины, где с помощью кодовых методов происходит ее контроль. В случае выявления ошибки по шинам 29 из устройства контроля и диагностики поступают сигналы, в результате чего блок управления 12 вырабатывает сигнал запроса прерывания но ошибке, и предлагаемое устройство переходит к работе в соответствии со следующим алгоритмом: определяется блок памяти, из которого было неправильно считана микро- команда; если микроком аида неправильно считана из блока оперативной памяти 1, происходит повторная перепись соответствующего сегмента из внешней памяти в оперативную память, а затем микрокоманда снова считывается, и в случае отсутствия ошибки работа вычислительной машины продолжается, при этом устройство контроля и диагностики сигнализирует наличие сбоев, В случае обнаружения ошибки при повторном считывании микрокоманды с помощью служебной микропрограммы определяются неработоспособные ячейки оперативной памяти, и на устройство вывода вычислительной машины выводится соответствующее сообщение, блокируется доступ к некоторой совокупности ячеек, включающей неработоспособные ячейки, производится перераспределение оперативной памяти и выполнение рабочей программы продолкается.Если микрокоманда неправильно считана из блока постоянной памяти 2, происходит ее повторное считывание, и в случае отсутствия ошибки работа вычислительной машины продолкается, при этом устройство контроля и диагности сигнализирует наличие сбоев. При неправильном повторном считывании с помощью устройства контроля и диагностики определяются неработоспособные ячейки постоянной памяти, и на устройство вывода вычислительной машины выводится соответствующее сообщение, по шинам 29 в блок сравнения 8 поступают сигналы, исключающие из множеств М, и М, те сегменты, в которые входят неработоспособные ячейки, и присоединяющие эти сегменты к множеству М при необходимости производится корректировка таблицы исправлений. Затем вычислительная машина продолжает выполнение рабочей программы,Таким образом, предлагаемое устройство допускает внесение необходимого количества изменений и дополнений в микропрограммное обеспечение, фиксированное в блоке постоянной памяти 1, без фактического изменения ко 474007 5 10 15 20Устройство для хранения и формирования мик 1 окоманд, содеркащее бло, Оперативной памяти, блок постоянной памяти, регистр микрокоманд, регистр адреса хикрокоанд, регистр номера сегмента, блок ассоциативных регистров, блок управления, причем входы блоков оперативной памяти, внешней памяти и ассоциативных регистров, регистров адреса микрокоманд и номера сегмента соединены с шиной кодовой магистрали, выход регистра номера сегмента соединен с блоками постоянной памяти и ассоциативных регистров, а выход регистра адреса микрокоманд - с блоками оперативной и постоянной памяти, которые, в свою очередь, соединены с регистром микрокоманд, блок ассоциативных регистров, кроме того, соединен с блоками оперативной памяти и управления, о т л и ч а ю щ е ес я тем, что, с целью увеличения гибкости при наладке и эксплуаташш, в него введены блок сравнения, блок задания множеств сегментов, блок обнаружения смены сегментов, причем выход блока задания мнокеств сегментов соединен с первым входом блока сравнения, выход регистра номера сегмента - со входом блока обнаружения смены сегментов, а выходы блоков сравнения и обнаружения смены сегментов соединены с соответствующими входами блока управления, регистр номера сегмента, кроме того, соединен со вторым входом блока сравнения, и второй блок ассоциативных регистров, соединенный соответствующими входами с регистром адреса микрокоманд и шиной кодовой магистрали, а выходом - с блоком управления, выход последнего соединен с регистрами адреса микрокоманд и номера сегмента и вторым блоком ассоциативных регистров, кроме того, входы блоков сравнения и управления соединены с шиной контроля и диагностики вычислительной машины. 25 30 35 40 45 50 55 60 65 10дов, записанных в блоке постоянной памяти 2, что позволяет, дополняя ядро микропрограммного обеспечения, фиксированное в блоке постоянной памяти 2, тем или иным комплектом дополнительных микропрограмм, осуществлять проблемную переориентацию вычислительной машины. Обеспечиваются широкие возможности усовершенствования и расширения микропрограммного обеспечения, следовательно, повышения эффективности и расширения функциональных возможностей вычислительной машины. Предлагаемое устройство позволяет использовать общее микропрограммное обеспечение в вычислительных машинах различного класса, от малых вьппслительных машин с небольшим объемом оперативной и постояннои памяти и невысокой стоимостью до больших вычислительньх машин. Достигается высокая жизнеспособность устройств. Предмет изобрстенияКорректор Л. Котова Редактор Е. Семанова Типография, пр. Сапунова, 2 Заказ 21916 Изд У 1509 Тираж 679 Пол писное Ц 11 ИИГ/И Государственного комитета Совета Министро з СССР по делам изобретений и открытий Москва, Ж, Раушская наб., д. 475
СмотретьЗаявка
1893238, 13.03.1973
ОРДЕНА ЛЕНИНА ИНСТИТУТ КИБЕРНЕТИКИ АН УКРАИНСКОЙ ССР
ВЕРОЦКИЙ ВАЛЕНТИН ДИОНИСИЕВИЧ, ЛОСЕВ ВИКТОР ДМИТРИЕВИЧ, ПОГРЕБИНСКИЙ СОЛОМОН БЕНИАМИНОВИЧ
МПК / Метки
МПК: G06F 9/00
Метки: микрокоманд, формирования, хранения
Опубликовано: 15.06.1975
Код ссылки
<a href="https://patents.su/6-474007-ustrojjstvo-dlya-khraneniya-i-formirovaniya-mikrokomand.html" target="_blank" rel="follow" title="База патентов СССР">Устройство для хранения и формирования микрокоманд</a>
Предыдущий патент: Устройство обмена
Следующий патент: Микропрограммный процессор
Случайный патент: Устройство для управления транспортным средством