SU437074A1 - Устройство управлени цифровой вычислительной машины - Google Patents
Устройство управлени цифровой вычислительной машиныInfo
- Publication number
- SU437074A1 SU437074A1 SU1657941A SU1657941A SU437074A1 SU 437074 A1 SU437074 A1 SU 437074A1 SU 1657941 A SU1657941 A SU 1657941A SU 1657941 A SU1657941 A SU 1657941A SU 437074 A1 SU437074 A1 SU 437074A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- program
- block
- register
- automatic
- cycle
- Prior art date
Links
- 238000005457 optimization Methods 0.000 claims description 16
- 230000015572 biosynthetic process Effects 0.000 claims description 10
- 238000005755 formation reaction Methods 0.000 claims description 10
- 230000014509 gene expression Effects 0.000 description 24
- 230000015654 memory Effects 0.000 description 14
- 238000000034 method Methods 0.000 description 7
- 241001442055 Vipera berus Species 0.000 description 4
- 230000000875 corresponding Effects 0.000 description 3
- 230000001419 dependent Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 241000428352 Amma Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003111 delayed Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming Effects 0.000 description 1
Description
1
Изобретение относитс к вычислительной технике и может быть применено в устройствах управлени цифровых вычислительных машин, способных интерпретировать алгоритмические зыки.
Известное устройство управлени по авт. св. № 209040 позвол ет интерпретировать алгоритмические зыки типа АЛГОЛ-60, т. е. преобразовывать программы, записанные на этих зыках в рабочие программы, представленные в символах машинного зыка.
Однако интерпретаци исходных программ проводитс без учета критериев оптимальности , поэтому рабочие программы могут быть не оптимальны. Это снижает производителькость вычислительной системы, в которую входит данное устройство.
Цель изобретени - создание устройства, способного выполн ть не только интерпретацию исходных программ, но и оптимизацию рабочих программ.
С этой целью в устройство управлени по авт. св. № 209040 введен блок автоматической оптимизации программ, что повышает производительность вычислительной системы.
На фиг. 1 изображена блок-схема устройства управлени цифровой вычислительной машины совместно с блоками оперативного запоминающего устройства; на фиг. 2-структурна схема блока автоматической оптимиаации программ.
.
Блоки оперативного запоминаюш,его устройства 1 и долговременного запоминающего устройства 2 образуют оперативную и долговременную пам ть цифровой вычислительной машины.
Устройство управлени состоит из блока 3 автоматного управлени , осуществл ющего реализацию алгоритмов интерпретации операторов внутреннего зыка, регистра 4 текущего командного элемента программы, хран щего текущий анализируемый элемент программы , схемы 5 приоритета выполнени элементов программы, осуществл ющей динамический анализ выполнимости элементов программы , регистра режима 6, в котором содержитс признак режима, командного блока 7, осуществл ющего микропрограммную реализацию алгоритмов интерпретации операторов внутреннего зыка, адресного регистра 8, предназначенного дл задани адреса запоминаемых микропрограмм, блока 9 чтени программы , служащего дл чтени и выделени элементов рабочей программы, регистров 10- 12 стековой пам ти, совместно образующих верхнюю оперативную ступень стековой пам ти , блока 13 динамического хранени содержимого оперативных чеек устройства, предназначенного дл динамического хранени содержимого запоминаемых регистров, блока 14, в который входит группа индекс-регистров , счетчиков и сумматор устройства
управлени цифровой вычислительной машины .
Предусмотрены также логический блок 15 вычислени булевских функций, регистр 16 следующего элемента программы, предназначенный дл хранени следующего, по отношению к текущему, элемента программы, блок 17 динамической адресации, осуществл ющий обращение к оперативной пам ти по математическому адресу, и блок 18 автоматической оптимизации программ, предназначенный дл автоматической оптимизации рабочих программ .
Блок 3 автоматного управлени соединен с регистром 4 текущего командного элемента программы, схемой 5 приоритета выполнени элементов программы, регистром режима б, командным блоком 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 управлени соединен
с блоком 3 автоматного управлени по ВХОду 24 и выходу 25 и с блоко м 14 - по выходу 26 блоков автоматической оптимизации программ .
Устройство управлени работает следующим образом. Чтение и выделение элементов рабочей программы выполн етс блоком 9 чтени программы. Очередной командный элемент прогр:аммы, состо щий в случае зыка АЛГОЛ-60 из кода ограничител и признака операнда, принимаетс из блока чтени программы на регистр 16 следующего элемента программы.
Выполнение (интерпретаци ) командных элементов программы осуществл етс IB соответствии с приоритетом их выполнимости, провер емым схемой приоритета выполнени элементов программы. Выполн емый командный элемент программы помещаетс на регистр 4 текущего командного элемента програ.ммы.
Если командный элемент программы не может быть выполнен, то его операнд переписываетс на регистры стековой пам ти 10-12, образующие верхнюю оперативную ступень стековой пам ти.
В зависимости от интенсивности использовани алгоритмы интерпретации реализуютс либо в автомате управлени 3, либо в командном блоке 7 в виде запоминаемых микропрограмм . Дл выполнени микропролрамма вызываетс по адресу в адресном регистре 8, адрес в который либо пересылаетс из регистра 4 текущего командного элемента программы , либо устанавливаетс блоком 3 автоматного управлени .
Командным блоком 7 реализуетс система команд, котора имеет адресную структуру и обеспечивает запуск и управление операци ми над содержимым регистров устройства управлени цифровой вычислительной машины и чеек оперативной пам ти, выполн емых средствами устройства управлени цифровой вычислительной машины.
Способ интерпретации командного элемента программы зависит от вида синтаксического пон ти зыка, которому этот элемент принадлежит . Признак текущего интерпретируемого пон ти зыка фиксируетс в регистре режимов 6.
Устройство управлени цифровой вычислительной машины располагает своим сумматором , используемым дл модификации адресов, и ограниченной группой счетчиков и регистров , содержащихс в блоке 14.
Широкое Использование стандартных чеек оперативной пам ти в качестве регистров хранени обеспечиваетс применением в предлагаемом устройстве блока 13 динамического храиени содержимого оперативных чеек устройства. Адрес требуемой чейки, прин тый с кодовой шины адреса в блок 13 динамического хранени содержимого оперативных чеек устройства, сравниваетс с адресами чеек, содержимое которых хранитс в этом 5 же блоке. При совпадении адресов требуемый
код .выдаетс из выбранного регистра этого блока «а .кодовую ишну числа. Если среди адресов iB этом блоке нет адреса и.скомой чейки , содержимое одного из регистров этого блока 1пербнисы ваетс в соответствующую чейку пам ти, а иа его .место вызываетс содержимое требуе-мой чейки. В результате указанной динамической замены в регистрах блока 13 сохраи. етс содержимое чеек, которые используютс наиболее активно.
Дл вычислени переключательных функций , в том числе и от леремениых .выходных сигналов схем устройства управлени , в его состав «веден логический блок 15 вычислени булевс1ких функций.
Обращение к блоку 1 онеративной пам ти может выполн тьс как непосредственно по физическому адресу, так и через блок 17 динамической адресации .по математическому адресу. В последнем случае требуемый сегмент информации, если о.н отсутствует в оперативной пам ти, вызываетс IB нее из внешней па:м ти.
О.птимиза.ци рабочей программы непосредственно в процессе счета задачи осуществл етс в Предлагаемом устройстве блоком 18 автоматической оптимизации программы.
Активизаци работы данного блока блоком 3 автоматного управлени происходит вс кий раз при входе в .процессе интерпретации (режим интерпретации) в цикл, она:бженный цризнако.м неоптимального цикла. В режиме отладки программы, ,неза;висимо от признака цикла, передача управлени блоку 18 автоматической оптимизации программ лроисходить не будет.
Формальным признаком оптимального или неоптимального цикла ъ рабочей программе задачи могут служить сами операторы цикла for - дл неоптимального (исходного) цикла и simple for - дл оптимального (оптимизированного ) цикла.
В результате работы блока автоматической оптимизации программ 18 последовательно будут выполнены следующими действи ми:
формирова.ние оптимизированной программы цикла, в которой все операторы «for заменены на «simple
занесение сформированной оптимизированной программы цикла на место исходной программы цикла в общей программе задачи;
возможна выдача пропраммисту информации о выполненных в программе преобразовани х .
По завершении работы блока 18 автоматической оптимизации программ будет возобновлена интерпретаци вновь сформированной программы цикла. Повторна активиза.ци работы данного блока уже не последует вследствие наличи признака оптимальности цикла - оператор «simple for.
Очередна встреча неоптимального цикла в программе вновь вызовет прерывание режима интерпретации и вход в режим оптимизации и т. д.
Формируема блоком автоматической оптимизации программ оптимизированна програм ма цикла отличаетс от своего прообраза- исходной программы цикла следующим:
а.инвариантные арифметические подвыражени (выражени ) вычисл ютс и полностью исключаютс из записи всей рабочей программы задачи. В последней в виде констант сохран ютс лишь результаты вычислени удал емых подвыражений (выражений);
б.инвариантные булевские подвыражени вычисл ютс и полностью исключаютс из записи всей рабочей программы за.дачи. При этом из рабочей программы может быть полностью исключен булевский терм (выражение ), если вход щее в него инвариантное подвыражение равно 0/1/;
б. програм.мные записи индексных выражений (помимо выполнени в них действий в соответствии с п. а) вынос тс в рабочей программе задачи за пределы циклов, по отнощению к которым эти выражени инварианттны . Внутри циклов эти выражени представл ютс фиктивными переменными;
г.условные операторы, содержащие инвариантное булевское выражение, в зависимое ги от значени выражени и типа оператора, либо полностью исключаютс из рабочей программы задачи, либо замен ютс соответствующими безусловными операторами;
д.естественна (скобочна ) запись арифметических и булевских выражений в исходной програ.мме цикла преобразуетс в оптимизированной программе цикла в запись также формульного вида, расположение элементов которой в больщинстве случаев соответствует последовательности их (элементов) выполнени , что позвол ет ускорить процесс решени . Исключение составл ют лишь случаи скобочной записи теремов, соседних .в записи исходного выражени .
Информаци , выдаваема программисту блоком автоматической оптимизации программ , содержит исходную програм.му циклов; оптимизированную программу цикла; программные записи исключенных из цикла ариф.метических и булевских .выражений (подвыражений ), условных операторов, а также вынесенных из цикла индексных выражений.
Блок 18 автоматической оптимизации программ работает следующим образом (см. фиг. 2). Управление работой рассматриваемого блока осуществл етс с помощью автономного автомата управлени 22, сигнал запуска которого по входу 24 поступает из блока 3 автоматного упра.влени .
Триггер режима 21 хранит признак текущего режима работы (счет или отладка) и, в случае режима отладки, блокирует передачу управлени блоку 18 автоматической оптимизации программ блоком 3 автоматного управлени .
В свою очередь, автономный автомат управлени 22 1ПО выходу 25 пер&дает управление блоку 3 автоматного управлени либо
временно с последующим возвратом - в процеосе оптимизации, либо посто нно - по окончании ее.
Временна передача управлени блоку автоматного управлени 3 происходит в случае необходимости выполнени в процессе оптимизации функций, св занных с интерпретацией програм.мы. Сюда входит чтение и выделение элементов рабочей программы, а также выполнение командных элементов, которые содержатс в исключаемых из цикла арифметических и булевских подвыражени х (выражени х ) .
В лроцесе обработки нрограм1мы цикла с помощью регистра формировани 20 в блоке 1 оперативной пам ти осуществл етс форМИрование двух массивов программных за-писсй- оптимизированной программы цикла п фрагментов исходной программы цикла, исключенных из нее нли вынесенных в программе за пределы цикла в результате оптимизации.
Регистр 20 формировани разбит на отдельные пол , каждое длиной в байт, с возможностью независимого обращени к ним. Формируемые в регистре 20 фор1мировани программные записи поступают в него по входу 23 через кодовую шину числа из регистра 4 текущего командного элемента и блока 9 чтени прорра.ммы (см. фиг. I).
Задание текущего номера пол формируемой в регистре 20 формировани записи массива осуществл етс с помощью регистра 19 номера пол .
Регистр 19 номера нол и регистр 20 формировани вл ютс оперативными регистрами . Их содержимое хранитс в оперативной пам ти вместе с соответствующими массивами и вызываетс в эти регистры по мере необходимости .
Текущие границы массивов фиксируютс по выходу 26 с помощью двух счетчиков из группы счетчиков и регистров блока 14.
Фрагменты арифметических (булевских) выражений, исключаемых из исходной программы цикла, содержат в себе .величины, инвариантные по отношению к охватывающему их циклу.
Дл вы влени таких величин нроверке на инвариантность должны быть подвергнуты все компоненты арифметических (булевских) выражений , содержащихс в исходной программе цикла.
Применительно к булевским выражени м така проверка может быть нрервана при обнаружении в булевском терме (выражении) инвариантного подвыражени , равного О /1/. В этом случае исключению из цикла подлежит весь булевский терм (выражение).
Анализируем.а переменна будет причислена к категории зависимых от цикла величиьг, если в теле цикла ей приоваиваетс какоелибо выражение, содержащее в своем составе параметр цикла, ту же самую неременную (пр мо или косвенно) или другую зависимую
от цикла -величину. В противном случае нередменна инвариантна (по отношению к охватывающему ее циклу.
С помощью регистра 20 формировани в блоке 1 оперативной пам ти формируетс служебный массив, содержащий описок величин , которьш в теле цикла присваиваютс какие-либо выражени , и адресов начала записи этих выражений IB исходной (рабочей) програММе .
Каждый элемент массива разбит на три информационных пол , формируемый слул ебный массив запоминаетс в блоке 1 оперативной пам ти. Текуща граница массива фиксируетс по выходу 26 с помощью счетчика и регистров блока 14.
Проверка на инвариан-гаость состоит в сравнении адреса каждой компоненты выражени с содержимым пол величин присваивани элементов служебного иматевва (первое инфармационное поле).
Адрес текущей компоненты заноситс IB адресный регистр 8 из регистра текущего командного элемента программы 4, а элементы служебного массива последовательно выбираютс из блока 1 оперативной пам ти в регистр 20 формировани через кодовую шину числа.
Сравнение осуществл етс с помощью сумматора устройства управлени цифровой вычислительной машины, содержащегос в блоке 14. При обнаружении данной компоненты на поле величин присваивани какого-либо элемента служебного массива выражение,присваиваемое ей (адрес начала записи его в программе содержитс на втором информационном поле этого же элемента матеива), провер етс на выполнение в нем одного из упом нутых условий зависимости переменной от цикла.
Этот процесс может пoвтQpитьc многократно , если величине, вход щей в присваиваемое Еырал ение, в свою очередь, также присваиваетс KaiKoe-либо другое выражение.
Дл ускорени цикла обращени к служебному массиву, в случае повторного обращени к нему по одной и той же переменной, в структуре элементов массива предусматриваетс наличие отдельных разр довнпризнаков, хран щих результат предыдущей проверки (третье информационное поле).
Использование блоком 18 автоматической оптимизации программ некоторых оперативных регистров, счетчиков и сумматора устpoficTBa управлени цифровой вычислительной машины представл етс возможным благодар тому, что в режиме оптимизации они оказываютс свободными от выполнени своих основных функций, обусловленных режимом интерпретации.
В свою очередь, регистры |блока автоматической оптимизации программ также могут быть оперативно использованы в режиме интерпретации .
Предмет изобретени
Claims (2)
1. Устройство управлени цифровой вычислительной машины по авт. св. № 209040, о тличающеес тем, что, с целью увеличени производительности, -в него введен блок автоматической оптимизации иропрамм, первый выход которого соединен с блоком perHCTpOiB, второй выход соединен с входом блока автоматного у1пра1влени , третий выход - с кодовой шиной устройства, а вход 1блока автоматической оптимизации программ соединен с выходом блока автоматного управлени .
2. Устройство управлени по п. 1, отличающеес тем, что блок автоматической оптимизации программ содержит регистр номера пол , (регистр формировани , триггер режима и автономный а1втомат управлени , причем выходы автономного автомата управлени соединены с первым и вторым выходом, регистр номера пол , регистр формировани и триггер режима соединены с третьим выходом блока, а вход автономного автомата управлени соединен с входом блока.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU1657941A SU437074A2 (ru) | 1971-05-12 | 1971-05-12 | Устройство управления цифровой вычислительной машины |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU1657941A SU437074A2 (ru) | 1971-05-12 | 1971-05-12 | Устройство управления цифровой вычислительной машины |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU209040 Addition |
Publications (2)
Publication Number | Publication Date |
---|---|
SU437074A1 true SU437074A1 (ru) | 1974-07-25 |
SU437074A2 SU437074A2 (ru) | 1974-07-25 |
Family
ID=20475623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU1657941A SU437074A2 (ru) | 1971-05-12 | 1971-05-12 | Устройство управления цифровой вычислительной машины |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU437074A2 (ru) |
-
1971
- 1971-05-12 SU SU1657941A patent/SU437074A2/ru active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5881288A (en) | Debugging information generation system | |
KR910001447B1 (ko) | 가상계산기능 시스템용 주기억장치 억세스 제어시스템 | |
US3200379A (en) | Digital computer | |
US3510847A (en) | Address manipulation circuitry for a digital computer | |
US3302183A (en) | Micro-program digital computer | |
US3470540A (en) | Multiprocessing computer system with special instruction sequencing | |
GB1104975A (en) | Compiling system | |
US3496550A (en) | Digital processor with variable field length operands using a first and second memory stack | |
US4047245A (en) | Indirect memory addressing | |
EP0062658A4 (en) | STACK STORAGE FOR A DATA PROCESSING SYSTEM. | |
US3344404A (en) | Multiple mode data processing system controlled by information bits or special characters | |
GB1003921A (en) | Computer cycling and control system | |
SU437074A1 (ru) | Устройство управлени цифровой вычислительной машины | |
EP0817049B1 (en) | A program development system | |
JPS5987566A (ja) | メモリアクセス検出方式 | |
RU2066067C1 (ru) | Центральный процессор для многопроцессорной вычислительной системы | |
US3143644A (en) | Control apparatus for digital computers | |
SU742942A1 (ru) | Устройство дл обработки информации | |
CN118509159B (zh) | 一种基于即时编译的智能合约加速执行方法和装置 | |
SU987624A1 (ru) | Устройство дл модификации адресов при отладке программ | |
RU2818498C1 (ru) | Способ распределения данных по многофункциональным блокам процессора со сверхдлинной командной строкой | |
SU741269A1 (ru) | Микропрограммный процессор | |
Chaflekar et al. | Compiler Architecture and Design Issues | |
Hansen et al. | The Cobol compiler for the Siemens 3003 | |
SU607222A1 (ru) | Процессор |