Устройство управления цифровой вычислительной машины
Похожие патенты | МПК / Метки | Текст | Заявка | Код ссылки
Текст
ОП ИСАНИЕ ИЗОБРЕТЕНИЯ К АВТОРСКОМУ СВИДЕТЕЛЬСТВУСоюз Советскиъ Социалистичесюа Республик(22) Заявлено 12.05,71 (21) 1657941/18-24с присоединением заявкиКл, 6 061 9/19 осударственный комитетСовета Министров СССРпо делам изобретенийи открытий Приорит Опубликовано 25.07,74, Бюллетень2 Дата опубликования описания 15,01.75, Я, Карпман и 3. Л. Рабинов 1) Заявите нститут кибернетики краинской ССР 4) УСТРОЙСТВО УПРАВЛЕНИЯ ЦИФРОВОЙ ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ 2 еративного за долговременнобразуют опе память цифров Блоки оппоройства 1 и огоустройства 2 равременную оймашины.Устройство управления состоит из блока 3 автоматного управления, осуществляющего реализацию алгоритмов интерпретации операторов внутреннего языка, регистра 4 текущего командного элемента программы, хранящего текущий анализируемый элемент программы, схемы 5 приоритета выполнения элементов программы, осуществляющей динамический анализ выполнимости элементов программы, регистра режима 6, в котором содержится признак режима, командного блока 7, осуществляющего микропрограммную реализацию алгоритмов интерпретации операторов внутреннего языка, адресного регистра 8, предназначенного для задания адреса запоминаемых микропрограмм, блока 9 чтения программы, служащего для чтения и выделения элементов рабочей программы, регистров 10 - 12 стековой памяти, совместно образующих верхнюю оперативную ступень стековой памяти, блока 13 динамического хранения содержимого оперативных ячеек устройства, предназначенного для динамического хранения содержимого запоминаемых регистров, блока 14, в который входит группа индекс-регистров, счетчиков и сумматор устройства Изобретение относи. ся к вычислительнойтехнике и может быть применено в устройствах управления цифровых вычислительныхмашин, способных интерпретировать алгоритмические языки. 5Известное устройство управления по авт.св.209040 позволяет интерпретироватьалгоритмические языки типа АЛГОЛ, т. е,преобразовывать программы, записанные наэтих языках в рабочие программы, представленные в символах машинного языка.Однако интерпретация исходных программпроводится без учета критериев оптимальности, поэтому рабочие программы могут бытьне оптимальны. Это снижает производительность вычислительной системы, в которуювходит данное устройство,Цель изобретения - создание устройства,способного выполнять не только интерпретацию исходных программ, но и оптимизацию 20рабочих программ.С этой целью в усгройство управления по фавт. св.209040 введен блок автоматическойоптимизации программ, что повышает производительность вычислительной системы. 25На фиг, 1 изображена блок-схема устройства управления цифровой вычислительноймашины совместно с блоками оперативногозапоминающего устройства; на фиг, 2 - структурная схема блока автоматической оптимизации программ.управления цифровой вычислительной машины.Предусмотрены также логический блок 15вычисления булевских функций, регистр 16 следующего элемента программы, предназначенный для хранения следующего, по отношению к текущему, элемента программы, блок 17 динамической адресации, осуществляющий обращение к оперативной памяти по математическому адресу, и блок 18 автоматической оптимизации программ, предназначенный для автоматической оптимизации рабочих программ.Блок 3 автоматного управления соединен срегистром 4 текущего командного элемента программы, схемой 5 приоритета выполнения элементов программы, регистром режима 6, командным блоком 7 и адресным регистром 8.Командный блок 7 соединен с общей кодовой шиной числа и с адресным регистром 8.С общей кодовой шиной числа соединены также регистр 4 текущего командного элемента программы, регистр режима 6, блок чтения программы 9, оперативные регистры стековой памяти 10 - 12, блок 13 динамического хранения содержимого оперативных ячеек устройства, блок 14, логический блок 15 вычисления булевских функций и регистр 16 следующего элемента программы.Командный блок 7, блок чтения программы9, блок 17 динамического хранения содержимого оперативных ячеек устройства, а также адресные регистры оперативного запоминающего устройства.1 и долговременного запоминающего устройства 2 соединены с общей кодовой шиной адреса.Кроме того, между некоторыми регистрамиимеется непосредственная связь, В частности, регистр 16 следующего элемента программы соединен с регистром 4 текущего командного элемента программы, схемой приоретата выполнения элементов программы 5 и блохом 9 чтения программы; регистр 4 текущего командного элемента программы - с адресным регистром 8 и оперативным регистром 12 ствковой памяти; регистр режима 6 - с схемой 5 приоритета выполонения элементов программы; адресный регистр 8 - с командвым блоком 7.Кроме того, устройство содержит блок 18 автоматической оптимизации программ, который состоит из регистра 19 номера поля, осуществляющего задание номера поля размещения программного элемента в ячейке памяти, регистра 20 формирования, предназначенпого для поячеечного формирования программы, триггера режима 21, задающего режим работы блошка автоматической оптимизации программ, и автономного автомата управления 22, управляющего работой блока автоматической оптимизации программ.Регистр 19 номера поля, регистр формирования 20, триггер режима 21 соединены с общей кодовой шиной числа через выход 23, автономный автомат 22 управления соединен 5 10 15 20 25 30 35 40 45 50 55 60 65 с блоком 3 автоматного управления по входу 24 и выходу 25 и с блоком 14 - по;выходу 26 блоков автоматической оптимизации программ.Устройство управления работает следующим образом, Чтение и выделение элементов рабочей программы выполняется блоком 9 чтения программы. Очередной командный элемент программы, состоящий в случае языка АЛГОЛиз кода ограничителя и признака операнда, принимается из блока чтения программы на регистр 16 следующего элемента програм,мы.Выполнение (интерпретация) командных элементов программы осуществляется в соответствии с приоритетом их выполнимости, проверяемым схемой приоритета выполнения элементов программы. Выполняемый командный элемент программы помещается на регистр 4 текущего командного элемента,программы,Если командный элемент программы не может быть выполнен, то его операнд переписывается на,регистры стековой памяти 10 - 12, образующие верхнюю оперативную ступень стековой памяти.В зависимости от интенсивности и пользования алгоритмы интерпретации реализуются либо в автомате управления 3, либо в командном блоке 7 в виде запоминавмых микропрограмм. Для выполнения микропропрамма вызывается по адресу в адресном регистре 8, адрес в который либо, пересылается из регистра 4 текущего командного элвмента,программы, либо устанавливается блоком 3 а,втоматного управления.Командным блоком 7 реализуется система команд, которая имеет адресную структуру и обеспечивает запуск и управление операциями над содержимым регистров устройства управления цифровой вычислительной машины и ячеек оперативной памяти, выполняемых средствами устройства управления цифровой вычислительной машины.Способ интерпретации командного элемента программы зависит от вида синтаксического понятия языка, которому этот элемент принадлежит. Признак текущего интерпретируемого понятия языка фиксируется в регистре режимов б.Устройство управления цифровой вычислительной машины располагает своим сумматором, используемым для модификации адресов, и ограничейной группой счетчиков и регистров, содержащихся:в блоке 14.Широкое использование стандартных ячеек оперативной памяти в качестве регистров хранения обеспечивается, применением в предлагаемом устройстве блока 13 динамического хранения содержимого оперативных ячеек устройства. Адрес требуемой ячейки, принятый с кодовой шины адреса в блок 13 динамического хранения содержимого оперативных ячеек устройства, сравнивается с адресами ячеек, содержимое которых хранится в этом же блоке. При совпадении адресов требуемыйкод,выдается из выбранного регистра этого блока на,кодовую шину числа. Если среди адресов в этом блоке нет адреса искомой ячейки, содержимое одного из регистров этого блока переписывается в соответствующую ячейку памяти, а на его место вызывается содержимое требуемой ячейки. В результате указанной динамической замены в регистрах блока 13 сохраняется содержимое ячеек, которые используются наиболее активно.Для вычисления переклочательных функций, в том числе и от перемененных выходных сигналов схем устройства управления, в его состав введен логический блок 15 вычисления булевских функций.Обращение к блоку 1 оперативной памяти может выполняться как непосредственно по физическому адресу, так и через блок 17 динамической адресации по математическому адресу. В последнем случае требуемый сегмент информации, если он отсутствует в оперативной памяти, вызывается в нее из 1 внешней памяти.Оптимизация рабочей программы непосредственно в процессе, счета задачи осуществляется в предлагаемом устройстве блоком 18 автоматической оптимизации программы.Активизация работы данного блока блоком 3 автоматного управления происходит всякий раз при входе в процессе интерпретации (режим интерпретации) в цикл, снабженный признаком неоптимального цикла. В режиме отладки программынезависимо от признака цикла, передача управления блоку 18 автоматической оптимизации программ происходить не будет,Формальным признаком оптимального или неоптимального цикла в рабочей программе задачи могут служить сами операторы цикла 1 ог - для неоптимального (исходного) цикла и з 1 гпр 1 е аког - для оптимального (оптимизированного) цикла.В результате работы блока автоматической оптимизации программ 18 последовательно будут выполнены следующими действиями:формирование оптимизированной программы цикла, в которой все операторы 1 ог заменены на з 1 гпр 1 е аког;занесение сформированной оптимизированной программы цикла на место исходной программы цикла в общей программе задачи;возможная выдача программисту информации о выполненных в программе преобразованиях.По завершении работы блока 18 автомати ческой оптимизации программ будет возооновлена интерпретация вновь сформированной программы цикла. Повторная активизация работы данного блока уже не последует вследствие наличия признака оптимальности цикла - оператор зппр 1 е аког.Очередная встреча неоптимального цикла в программе вновь вызовет прерывание режима интерпретации и вход в режим оптимизации и т. д. 4370746Формируемая блоком автоматической оптимизации программ оптимизированная программа цикла отличается от своего прооораза - исходной программы цикла следующим:5 а, инвариантные арифметические подвыражения (выражения) вычисляются и полностью исключаются из записи всей рабочей программы задачи. В последней в виде констант сохраняются лищь результаты вычисления уда ляемых 1 подвыражений (выражений);б. инвариантные булевские подвыражениявычисляются и полностью исключаются из записи всей рабочей программы задачи. При этом из рабочей программы может быть пол ностью исключен булевский терм (выражение), если входящее в него нивариантное подвыражение равно О/1/;в. программные записи индексных выражений (помимо выполнения в них действий в 20 соответствии с и, а) выносятся в рабочейпрограмме задачи за пределы циклов, по отношению к которым эти выражения инвариантны. Внутри циклов эти выражения представляются фиктивными переменными;25 г. условные операторы, содержащие инвариантное булевское выражение, в зависимосги от значения выражения и типа оператора, либо полностью исключаются из рабочей программы задачи, либо заменяются соответст гующими безусловными операторами;д. естественная (скобочная) запись арифметических и булевских выражений в исходной программе цикла преобразуется в оптимизированной программе цикла в запись также 35 формульного вирда, расположение элементовкоторой в большинстве случаев соответствует последовательности их (элементов) выполнения, что позволяет ускорить процесс решения.Исключение составляют лишь случаи скобоч ной зациси термов, соседних в записи исходного выражения.Информация, выдаваемая программистублоком автоматической оптимизации программ, содержит исходную программу цик лов; оптимизированную программу цикла;программные записи исключенных из цикла арифметических и булевских выражений (подвыражений), условных операторов, а также вынесенных из цикла, индексных выражений, 50 Блок 18 автоматической оптимизации программ работает следующим образом (см.фиг, 2), Управление работой рассматриваемого блока осуществляется с помощью автономного автомата управления 22, сигнал запуска которого по входу 24 поступает из блока 3 автоматного управления.Триггер режима 21 хранит признак текущего режима работы (счет:или отладка) и, в случае режима отладки, блокирует передачу 60 управления блоку 18 автоматической оптимизации программ блоком 3 автоматного управления.В свою очередь, автономный автомат управления 22 по выходу 25 передает управление блоку 3 автоматного управления либоьременно с последующим возвратом - в процессе оптимизации, либо постоянно - по окончании ее.Временная передача управления блоку автоматного управления 3 происходит в случаенеобходимости выполнения в процессе оптимизации функций, связанных с интерпретацией программы, Сюда входит чтение и выделение элементов рабочей программы, а такжевыполнение командных элементов, которыесодержатся в исключаемых из цикла арифметических и булевских подвыражениях (выражениях) .В процесе обработки программы цикла спомощью регистра формирования 20 в блоке1 оперативной памяти осуществляется формирование двух массивов программных записсй -оптимизированной программы цикла и фрагментов исходной программы цикла, исключенных из нее или вынесенных в программе запределы цикла в результате оптимизации.Регистр 20 формирования разбит на отдельные поля, каждое длиной в байт, с возможностью независимого ооращения к ним. Формирувмые в регистре 20 формирования программные записи поступают в него цо входу23 через кодовую шину числа из регистра 4текущего командного элемента и блока 9 чтения программы (см. фиг. 1),Задание текущего номера поля формируемой в регистре 20 формирования записимассива осуществляется с помощью регистра19 номера поля.Регистр 19 номера поля и регистр 20 формирования являются оперативными регистрами. Их содержимое хранится в оперативнойпамяти вместе с соответствующими массивами и вызывается в эти регистры по мере необходимости.Текущие границы массивов фиксируютсяпо выходу 26 с помощью двух счетчиков изгруппы счетчиков и регистров блока 14.Фрагменты арифметических (булевских)выражений, исключаемых из исходной программы цикла, содержат в себе величины,инвариантные по отношению к охватывающему их циклу.Для выявления таких величин проверке наинвариантность должны быть подвергнуты всекомпоненты арифметических (булевских) выражений, содержащихся в исходной программе цикла. Применительно к булевоким выражениям такая проверка может быть прервана при обнаружении в булевоком терме (выражении) инвариантного подвыражения, равного 0 /1/. В этом случае исключению из цикла подлежит весь булевский терм (выражение).Анализируемая перемешивая будет причислена к категории зависимых от цикла величин, если в теле цикла ей присваивается какое- либо выражение, содержащеев своем составе нараметр цикла, ту же самую переменную (прямо или косвенно) или другую зависимую от цикла величину. В противном случае переменная инвариантна:по отношению к охватывающему ее циклу.С помощью регистра 20 формирования в 5 блоке 1 оперативной памяти формируетсяслужебный, массив, содержащий список величин, которым,в теле циклаприсваиваются какие-либо выражения, и адресов начала записи этих выражений в исходной (рабочей) про грамме,Каждый элемент массива разбит на три информационных поля, формируемый служебный массив запоминается в блоке 1 оператив 15 ной памяти, Текущая граница маосива фиксируется по выходу 26 с помощью счетчика ирегистров блока 14.Проверка на инвариантность состоит всравнении адреса каждой компоненты выра 20 жения с содержимым поля величин присваивания элементов служебного маосива (первоеинформационное поле),Адрес текущей компоненты заносится в адресный регистр 8 из регистра текущего25 командного элемента программы 4, а элементы служебного массива последовательно выбираются из блока 1 оперативной памяти врегистр 20 формирования через кодовую шинучисла,30 Сравнение осуществляется с помощью сумматора устройства управления цифровой вычислительной машины, содержащегося в блоке 14. При обнаружении данной компонентына поле величин присваивания какого-либо35 элемента служебного массива выражениеприсваиваемое ей (адрес начала записи его впрограмме содержится на втором информационном поле этого же элемента массива),проверяется на выполнение в нем одного из40 упомянутых условий зависимости переменнойот цикла.Этот процесс может повториться многократно, если величине, входящей в присваиваемоевыражение, в свою очередь, также присваи 45 вается какое-либо другое выражение,Для ускорения цикла обращения к служебному массиву, в случае повторного обращенияк нему по одной и той же переменной, в структуре элементов массива предусматривается50 наличие отдельных разрядов;признаков, хранящих результат предыдущей проверки (третье информационное поле),Использование блоком 18 автоматическойоптимизации программ некоторых оператив 55 ных регистров, счетчиков и сумматора устройства управления цифровой вычислительной машины представляется возможным благодаря тому, что в режиме оптимизации ониоказываются свободными от выполнения сво 60 их основных функций, обусловленных режимом интерпретации.В свою очередь, регистры блока автоматической оптимизации программ также могутбыть оперативно использованы в режиме ин 65 терпретации.437074 10 Фиг. Предмет изобретения 1. Устройство управления цифровой вычислительной машины по авт. св.209040, отл и ч а ю щ е е с я терм, что, с целью увеличения производительности, в него вводеи блок автоматической Оптимизации,пропрамм, первый выход которого соединен с блоком регистров, второй выход соединен с входом блока автоматного управления, третий выход - с кодовой шинной устройства, а вход блошка автоматической оптимизации программ соединен с выходом блока автоматного управления. 2. Устройство управления по п. 1, о т л ичающееся тем, что блок автоматической оптимизации программ содержит регистр номера, поля, регистр формирования, триггер 5 режима и автономный автомат управления.причем выходы автономного автомата управления соединены с первым и вторым выходом, регистр номера поля, регистр формирования и триггер режима соединены с третьим выхо дом блока, а вход автономного автомата управления соединен с входом блока.437074 фиа 2 Составитель С, ГромоваТехред А. Дроздова Редактор Е. Гончар Корректор О, Тюрина Типография, пр, Сапунова, 2 Заказ 3474/13 Изд. Уа 89 Тираж 624 Подписное ЦНИИПИ Государственного комитета Совета Министров СССР по делам изобретений и открытий Москва, Ж, Раушская наб д. 4/5
СмотретьЗаявка
1657941, 12.05.1971
ИНСТИТУТ КИБЕРНЕТИКИ АН УССР
КАРПМАН ЛЕВ ЯКОВЛЕВИЧ, РАБИНОВИЧ ЗИНОВИЙ ЛЬВОВИЧ
МПК / Метки
МПК: G06F 9/19
Метки: вычислительной, цифровой
Опубликовано: 25.07.1974
Код ссылки
<a href="https://patents.su/6-437074-ustrojjstvo-upravleniya-cifrovojj-vychislitelnojj-mashiny.html" target="_blank" rel="follow" title="База патентов СССР">Устройство управления цифровой вычислительной машины</a>
Предыдущий патент: Микропрограммное устройство управления
Следующий патент: Устройство для сопряжения основной и вспомогательных цифровых вычислительных машин
Случайный патент: Рабочий орган землеройной машины