SU1742832A1 - Устройство дл перевода арифметических выражений в линейные регул рные префиксные формы - Google Patents
Устройство дл перевода арифметических выражений в линейные регул рные префиксные формы Download PDFInfo
- Publication number
- SU1742832A1 SU1742832A1 SU884497247A SU4497247A SU1742832A1 SU 1742832 A1 SU1742832 A1 SU 1742832A1 SU 884497247 A SU884497247 A SU 884497247A SU 4497247 A SU4497247 A SU 4497247A SU 1742832 A1 SU1742832 A1 SU 1742832A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- output
- input
- register
- value
- bit
- Prior art date
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
Изобретение относитс к вычислительной технике и может быть использовано в автоматизированных системах обработки данных, производства программ и разработки трансл торов ЭВМ. Цель изобретени - расширение возможностей за счет определени типов ошибок при одновременном повышении быстродействи . Дл этого в устройство введены счетчик 4 операндов и ходной регистр 7. Введение этих элементов , а также использование в блоке 5 пам ти реверсивных сдвигающих регистров оптимизирует алгоритм работы устройства. 3 ил.
Description
Изобретение относитс к вычислит тельном технике и может быть использовано в автоматизированных системах обработки данных, производства программ и разработки трансл торов ЭВМ.
Целью изобретени вл етс расширение функциональных возможностей устройства за счет определени типов ошибок при одновременном повышении быстродействи .
На фиг.1 представлена структурна схема устройства; на фиг.2 - то же, блока пам ти; на фиг.З - то же, выходного регистра.
Устройство содержит входной ре- . .гистр 1, дешифратор 2 лексических единиц, блок 3 управлени ,счетчик k операндов, блок 5 пам ти, дешифратор 6 блока пам ти, выходной регистр 7. Блок 5 пам ти построен на реверсивных регистрах сдвига. Выходной
регистр 7 образуют восемь регистров с разр дностью не менее 12 разр дов.
Входной регистр 1 используетс дл хранени очередной лексической единицы входного выражени (в дальнейшем будем обозначать ее специальным символ о м ш). Дешифратор 2 лексических единиц раздел ет поступающие ш на символы: пробел, знаки операций, открывающие и закрывающие скобки, знак конца выражени , операнды и вырабатывают .значение ко- дон зтих символов. Блок 3 управле- ж; управл ет работой всех элементов yctponcTBa. На первую группу входов блока 3 управлени поступают сигналы Х - Xg из дешифратора 2 лексических единицы, а на вторую группу входов - сигналы Х7 - Х17 из дешифратора 6 блока пам ти. На семи выходах блока 3 микропрограммного управлени формисл
с
ю
00
GJ Ю
уют сигналы микроопераций -v , - Y3).. Содержательный смысл входных сигалов следующий.
1, если очередной символ есть знак U;
О, если в противном случае; Г1, если очередной символ есть знак конца выражени
О,
Ч, если очередной символ есть знак операции; О,
Х1 у -
А2
X, х4
х
v
1 , если очередной символ есть знак
О,
1 , если очередной символ есть
знак ) ;
.0,
{1 , если очередной символ есть операнд; О, в противном случае, {1, если содержимое п-разр да блока 5 пам ти есть и ; О, в противном случае, {1 , если содержимое п-разр да блока 5 пам ти есть #; О,
1, если содержимое п-разр да блока 5 пам ти есть знак операции; Ю,
1, если содержимое п-разр да блока 5 пам ти есть С ;
°
1 , если содержимое п-разр да
блока 5 пам ти есть ) ; 0.
1, если содержимое п-разр да блока 5 пам ти есть р , О в противном случае, 1, если значение (п-1) разр да блока 5 пам ти есть Q ; О в противном случае, 1, если значение (п-1) разр да блока 5 пам ти есть знак операции;
О в противном случае, 1, если значение (п-1)-разр да блока 5 пам ти есть ( ;
0 в противном случае 1, если значение (п-2)-разр да блока 5 пам ти есть F ; О в противном случае, 1, если значение (п-З)-разр - да блока 5 пам ти есть ( ;
.0 в противном случае.
1о
41
п
3
4
5
6
п
Содержательный смысл выходных сигналов следующий:
5
Y1 ЧY Y Ye YЈ Y сброс в ноль входного регистра
1;
сброс в ноль регистров блока 5 пам ти;
сброс в ноль выходного регистра 7;
занесение в n-разр д регистров блока 5 пам ти значение кода знака;
занесение в n-разр д блока 5 пам ти значени , $ ; разрешение ввода следующей лексической единицы ш во входной регистр 1;
разрешение записи в блок 5 пам ти;
8 YQ Y - выработка сообщени успешный
анализ ;
выработка сообщени ошибка ;
5
0
5
0
5
0
-выработка сообщений во входном выражении неверно расположен знак конца выражени ;
-выработка сообщени во входном выражении неверно размещен знак операции ;
-выработка сообщени во входном выражении неверно размещен знак открывающей скобки ;
Y, - выработка сообщени во входном выражении неверно размещен знак закрывающей скобки ; выработка сообщени конфликт10
11
ft
U
5
16
47
8
19
-го
г
5 Y
гг
УЗ
ное размещение операнда во вход- Ном выражении ; выработка сообщени несоответствие числа открывающих и закрывающих скобок во входном выражении ;
увеличение значени счетчика k операндов;
занесение в n-разр д блока 5 пам ти значени входного регистра ;
занесение в n-разр д блока 5 пам ти значени счетчика k операндов ;
сдвиг влево на один разр д влево содержимого блока 5 пам ти;
сдвиг вправо на один разр д содержимого блока 5 пам ти; занесение в 12 разр д выходного регистра 7 значени счетчика операндов;
занесение в 11 разр д выходного регистра 7 значени кода ; занесение в 12 разр д выходного регистра 7 значени выходного регистра 1;
YЈ$ занесение в 10 разр д выходного регистра 7 значени кода
( ; .
занесение в 16 разр д выходного регистра 7 значени кода
) ;
Y2g - занесение в п тый разр д выходного регистра 7 значени ( ;
- занесение в третий разр д
выходного регистра 7 значени
.V
Y - занесение в первый разр д
ходного регистра 7 значени
/ ,
Y - занесение в дев тый и второй разр ды выходного регистра 7 значени (п-2) разр да блока 5 пам ти;
Y 30 - занесение в восьмой разр д выходного регистра значение (п-1) разр да блока пам ти; Y3.j - занесение в седьмой и четвертый разр ды выходного регистра значение n-разр да блока пам ти ,;
ъг окончание и выдача всех 12 разр дов выходного регистра; окончание работы устройства; Y.4 начало работы устройства.
Счетчик k операндов предназначен дл нумерации операндов, встречаемых во входном выражении. Блок 5 пам ти предназначен дл записи, хранени и считывани кодов лексических единиц. Запись кодов текущих ш производитс в старшие n-е разр ды регистров блока 5 пам ти, сдвиг вправо на k-разр дов равносилен затиранию k последних (старших) разр дов.
Дешифратор 6 блока пам ти предназначен дл формировани сигналов X - на основе анализа старших разр дов блока 5 пам ти. Выходной регистр 7 предназначен дл записи, хранени и считывани преобразованных в регул рную форму, входных выражений.
Устройство работает следующим . образом.
При его включении блок 3 управлени вырабатывает микрооперацию Y-JA, после чего по управл ющим шинам поступает набор микроопераций. YJ - обеспечивающих обнуление вводного регистра 1 (в дальнейшем возможно р1);
Yg - блока 5 пам ти, в дальнейшем, Чдзможно р2);
Y - выходного регистра 7 (в дальнейшем возможно рЗ). После этого происходит занесение
в старший (n-й) разр д блока 5 пам ти кода символа (микрооперации Yt) по управл ющей шине, св зывающей блок 3 управлени и блок 5 пам ти. После этого вырабатываетс микроопераци
O Ys Разрешающа ввод очередной лексической единицы о входной регистра 1. Лексические единицы исходного выражени последовательно поступают на входной регистр 1 и затем - на де5 шифратор 2 лексических единиц, который вырабатывает их коды и пересылает значени последних в блок 3 управлени . В зависимости от типа лексической единицы блок 3 управлени
0 производит последующую отработку
исходной информации и производит последовательность микрокоманд и микроопераций , адекватных данному типу лексической операции-, после чего
5 вновь вырабатываетс микроопераци Y,, и очередна лексическа единица поступает на вход р1. Така циклическа работа устройства ПРОИСХОДИТ до тех пор, пока на вход входного
0 регистра не поступит символ (признак конца исходного выражени , и блок 3 управлени не произведет специальные действи дл лексической единицы типа # , после чего происходит окончание работы устройства
5 (микроопераци Y).
Лексические единицы дел тс на типы.: операнды (символ типа F , под которым подразумеваетс любой символ , представимый ЭВМ), операции
® (символ + , # ), скобки открывающие и закрывающие (символы (, ) ); символы, обеспечивающий любую стет пень разр жени пробелами исходного
выражени . 5
Совокупность всех входных символов , поступающих на вход входного регистра 1, и хран щихс в регистрах
0 блока 5 пам ти, не выход т за пределы допустимого в любой ЭВМ алфавита . Это значит, что в состав блока пам ти 5 вход т стандартные 12-разр дные реверсивные регистры 8 сдви5 га. Их количество определ етс формулой преобразовани , осуществл емого устройством:
()(aVb) и составл ет 10 штук.
Рассмотрим работу устройства в зависимости от типа поступающих входных лексических единиц.
При поступлении лексической единицы-операнда () провер етс .значение старшего разр да блока 5 пам ти. Если это значение равно одному из символов: F (операнд), )f (закрывающа скобка), (X 12 1, Х( 1), то блок 3 управлени формирует микрооперацию Y.
В противном случае управл ющими средствами блока 3 управлени производитс обнуление выходного регистра 7 (Y), увеличение значени счетчика и операндов, занесение в 12-й разр д рЗ значение этого счетчика: соответственно микрооперации (Y16 и Ґг() После этого производитс выдача содержимого блока 5 пам ти по микрооперации Y 32. и занесение в 11-й разр д выходного регистра 7 значение кода символа к ( Y/, Y2z) занесение в 10-й разр д значение входного регистра pi (микроопераци Y, После этого блок, 3 управлени формирует микрооперации Y(J (сдвиг вправо содержимого блока 5 пам ти на оди разр д) и Yy, Yjg (занесение в старший разр д блока 5 пам ти значение счетчика Ц операндов)..
При в поступлении лексической единицы - знака операции (символы
+ , #0 (Х- 1) провер етс значение старшего разр да блока 5 пам ти . Если это значение совпадает со значени ми символов ц (, + , # , (,X,,a 1), то формируетс сообщение об ошибке (микроопераци
В противном случае провер етс значение (п-1)-разр да блока 5 пам ти Если это значение не содержит коды знаков операций + , к (X 0), блок управлени вырабатывает последовательность микрокоманд и микроопераций дл выполнени совокупности действий, которые рассмотрим подробнее .
Сначала увеличиваетс значение счетчика Ь операндов (Yfg), затем выполн етс микрокоманда по занесени в выходной регистр первичного шаблок ( совокупность Y, , Y7Ј, ) затем- происходит занесение в 10-й раз р дный рЗ значение символа. (, а в 6-й разр д рЗ - значение символа (соответственно микрооперации и
Ync) ,
5
5
, после чего генерируетс микрокоманда по информационному заполнению выходного регистра 7, содержаща совокупность микроопераций: Y12, YZg , Y-3( .После выполнени данной микрокоманды производитс выдача сформированного содержимого выходного регистра (Y52), сдвиг вправо на три разр да блока 5 пам ти (Y2o, Y2o, Y-ZQ) и занесение в старший разр д блока пам ти 5 значение счетчика операндов (Y7, Y1%); чиваютс действи по условию X После этого производ тс еще 2 микрооперации: сдвиг влево на один разр д блока 5 пам ти () и Y7, - занесение в разр д пам ти значени входного регистра 1. Этим заканчиваютс действи по входной лексической единице типа операции.
Раскроем содержание двух примен емых микрокоманд. Микрокоманда по занесению первичного шаблока состоит из совокупности микроопераций:
Этим закан14- 1
обнуление выходного регистра 7; занесение в 11-й разр д рЗ значение символа г ;
0
L27
28
5
0 г
5
занесение в п тый разр д рЗ
значение символа ( ;
занесение в третий разр д рЗ
значение символа v ;
занесение в первый разр д рЗ
значение символа ) . Микрокоманда по информационному заполнению выходного регистра 7 сос- тоит из совокупности микроопераций: Y - занесение в 12-й разр д рЗ значение счетчика k операндов;
-занесение в дев тый и второй разр ды рЗ,значение (п-2) разр да блока 5 пам ти;
30 - занесение в восьмой рЗ значение (п-1) разр да блока 5 па- м ти;
-занесение в седьмой и четвертый разр ды рЗ значени (п) разр да блока 5 пам ти.
51
Устройство работает следующим образом .
При поступлении лексической единицы ( (открывающей скобки) происходит генераци и выполнение двух микроопераций :
YJ- - сдвиг влево на один разр д содержимого блока 5 пам ти; Y, Y17 - занесение в n-разр д блока 5 пам ти содержимого входного регистра pi.
При поступлении лексической единицы ) (закрывающей скобки) провер етс значение старшего n-го разр да блока 5 пам ти. Если это значение равно значению символа ( (X
1), то выполн етс Yw - сдвиг
40
влево на один разр д содержимого пам ти. Если же значение п-разр да блока 5 пам ти равно значению лексической единицы типа операнда (X а 1), то блок 3 управлени генерирует дл выполнени определенную последовательность микрокоманд и микроопераций . Вначале условие X,5 1, если значение () разр да блока 5 пам ти равно значению символа ( , Х,2 1, X .t « 1, то выполн етс сдвиг вправо на дба разр да содержимого блока 5 пам ти n (Y20, YZQ), в противном случае (X г 1 1) провер етс значение РЗ значение (п-1) разр да ти. Если оно равно значению символа ( ( 1, Х45 - О, Х„ - 1), то выполн етс совокупность микроопераций и микрокоманд.
Вначале производитс увеличение значени р да содержимого блока 5 пам ти (, ) затем выполн етс описанна выше микрокоманда по за- несению первичного блока в выходной регистр 7 (Y«, Ґгг, Угб, Y27, YZ8), после чего происходит занесение в 10-й и 6-й разр ды рЗ соответственно
значени символов
С и ) (Y
24
24
) после чего выполн етс микрокоманда по информационному заполнению рЗ (Yia, Y2q, Yw, YSf) и производитс полна выдача сформированного содержимого выходного регистра (Y) После этого происходит сдвиг вправо на четыре разр да содержимого блока 5 пам ти (Y, , Y2o 20) В случае невыполнени последнего услови X 42 I i,- О,
П
О производитс выполнение
микрооперации Y Этим заканчиваютс действи дл лексической единицы
fT.
Рассмотрим работу устройства при поступлении специальных символов и , # . Если лексическа единица представлена символом и , то блок 3 управлени не вырабатывает никаких микроопераций по обработке данной лексической единицы. Если же лексическа единица представлена символом # - знаком окончани исходного выражени , блок 3 управлени выра
5
2832Ю
батывает следующую совокупность действий. Сначала провер етс старший разр д блока 5 пам ти. Если его содержимое равно значению одного из символов и или р1 (лексическа единица типа операнд) (X 1 или Х7 1), то выполн етс совокупность микрокоманд и микроопераций дл лексической единицы # и выдаетс сообщение об ошибке ( В случае корректности значени старшего разр да блока 5 пам ти эта совокупность действий представлена следующим образом.
Если значение (п-1) - разр да
10
15
20
25
блока 5 пам ти равно LJ (Y 1) , то происходит занесение в п-разр д блока 5 пам ти значение символа (Y7, YS-) . Если же значение (п-1)- разр да блока 5 пам ти равно значению
символа ( (Х«б 1), формируетс сообщение об ошибке (Y1). В противном случае (Х 0,. 0) провер етс значение (п-2)-разр да блока
5 пам ти падает с ранд
и, если его содержимое сов- значением символа типа one- происход т
(V), т.е. Y,, 1,
30
45
55
40
следующие действи . Увеличиваетс значение счетчика k операндов ( ), происходит занесение в рЗ первичного шаблока (Y4, , Y2o, Y2&) ПР°ИС ходит занесение в 10-й и 6-й разр ды рЗ значений символов f( и ) соответственно (Y и Y2sr) информационное заполнение рЗ (Y.,2, Y2), Yjo , Y-j|) и выдача сформированного рЗ (Y3Z). После этого происходит сдвиг на три разр да содержимого блока 5 пам ти (YZQ, Y2o Y2o) и занесение в n разр д блока 5 пам ти значение символа (Y, YgO . Если же значение n-разр да блока 5 пам ти равно лексической единице типа операнд ( 0), то происходит обыкновенное занесение в разр д блока 5 пам ти символа # (, Yg.).
После генерации совокупности действий дл различных лексических единиц, кроме символа #блок 3 управлени вырабатывает сигнал Y (разрешение ввода следующей лексической единицы в р1) лишь в том случае „ если исходное выражение до этой лексической единицы вл етс корректным (т.е. не возникли сигналы
диагностики ошибок: Y
ГО 1«
.-V
).
I ,14- Т t-y
Дл символа # сигналы Y, не вырабатываютс , хот сигналы диагностики ошибок могут возникнуть (сигнал ),
л
Поэтому дл этого символа, при значении п разр да блока 5 пам ти, равном # (Хд 1), или отсутствии Y15 вырабатываетс микроопераци v g, успешный перевод и - окончание работы устройства. После возникновени сигналов Y|0, Y , Y15) также вырабатываетс микроопераци
Y
Claims (1)
- Этом микрооперацией устройство завершает работу. Формула изобретениУстройство дл перевода арифметических выражений в линейные регул рные префиксные формы, содержащее входной регистр, дешифратор входного регистра, блок управлени , блок пам ти и дешифратор блока пам ти, причем информационный вход входного регистра вл етс входом устройства, первый выход входного регистра соединен с входом дешифратора входного регистра, выход которого подключен к первому входу блока управлени , первый выход которого соединен с управл ющим входом входного регистра, второй и третий выходы блока управлени вл ютс выходами Ошибка и Успешный перевод устоойства, соответственно, четвертый выход блока управлени соединен с управл ющим входом блока пам ти , первый и второй выходы которого10соединены с первым и вторым входами дешифратора блока пам ти, соответст17 283212 /венно, выход дешифратора блока пам ти соединен с вторым входом блока управлени , отличающеес е тем, что, с целью расширени функциональных возможностей за счет определени типов ошибок при одновременном повышении быстродействи , устройство содержит счетчик операндов и выходной регистр, причем второй выход входного регистра соединен с первым информационным входом выходного регистра, п тый выход блока управлени подключен к первому управл ющему входу выходного регистра, шестой выход блока управлени соединен с вторым, третьим, четвертым, п тым, шестым и седьмым управл ющими входами выходного регистра, третий выход блока пам ти соединен с вторым информационным входом выходного регистра, четвертый выход блока пам ти соединен с третьим и четвертым информационными входами выходного регистра, п тый выход блока пам ти соединен с п тым и шестым информа- ционными входами выходного регистра, выход которого вл етс информационным выходом устройства, седьмой выход блока управлени соединен со счетным входом счетчика операндов, выход которого подключен к седьмому информационному входу выходного регистра и информационному входу блока пам ти.152025301ffmcvesf - 0гте -АXXZTt -r-TT nLlLl ,./LX St-i;tS9 y/OCrrr7 ypyic gtrx0Jtto tyЯ/гыа -rra ssTrtsf ЈZVCfr f r/n-5 rt-2 n-f rt i .-iiГГ-f ГГJ- ,.. I -.T-l.X St-i;tS9 y/OCrrr7 ypy $/гыа -rra ssTrts0rrrЈffOArcr Л7/7& 3Фаг 2от 5лока M(J4 $ Of cvttrwvta опер&ндеб 4cm входного регистра Iот Јлок& ftttMjimt/ S
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU884497247A SU1742832A1 (ru) | 1988-10-24 | 1988-10-24 | Устройство дл перевода арифметических выражений в линейные регул рные префиксные формы |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU884497247A SU1742832A1 (ru) | 1988-10-24 | 1988-10-24 | Устройство дл перевода арифметических выражений в линейные регул рные префиксные формы |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1742832A1 true SU1742832A1 (ru) | 1992-06-23 |
Family
ID=21405513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU884497247A SU1742832A1 (ru) | 1988-10-24 | 1988-10-24 | Устройство дл перевода арифметических выражений в линейные регул рные префиксные формы |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1742832A1 (ru) |
-
1988
- 1988-10-24 SU SU884497247A patent/SU1742832A1/ru active
Non-Patent Citations (1)
Title |
---|
Авторское свидетельство СССР V 1130879, кл. G Об F 15/38, 1985. Авторское свидетельство СССР № 1 139591, кл. G Об F 15/38, 11/00, 1987. ( УСТРОЙСТВО ДЛЯ ПЕРЕВОДА АРИФМЕТИЧЕСКИХ ВЫРАЖЕНИЙ В ЛИНЕЙНЫЕ РЕГУЛЯРНЫЕ ПРЕФИКСНЫЕ ФОРМЫ т * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0083209B1 (en) | A microcomputer for processing instructions of different types | |
JPH0567981A (ja) | ユークリツドの互除回路 | |
US3597600A (en) | Electronic desk top calculator having a dual function keyboard logic means | |
US4994993A (en) | System for detecting and correcting errors generated by arithmetic logic units | |
TWI296773B (en) | Apparatus and method for idetifying registers in a processor | |
JPS5890251A (ja) | パリテイ検査装置 | |
SU1742832A1 (ru) | Устройство дл перевода арифметических выражений в линейные регул рные префиксные формы | |
GB2074766A (en) | Microprogram control system | |
GB1003924A (en) | Indirect addressing system | |
GB1070423A (en) | Improvements in or relating to variable word length data processing apparatus | |
US3400380A (en) | Digital computer having an address controller operation | |
US3849634A (en) | Electronic computer | |
Rajaraman et al. | An introduction to digital computer design | |
RU51428U1 (ru) | Отказоустойчивый процессор повышенной достоверности функционирования | |
JP2564318B2 (ja) | 通信処理装置 | |
KR100256463B1 (ko) | 임의의 베이스의 심볼을 가산하거나 감산하는 프로세스 및 시스템 | |
US3235714A (en) | Information handling apparatus | |
JP3043861B2 (ja) | データ処理装置 | |
SU1513443A1 (ru) | Устройство дл обработки данных | |
RU2708956C2 (ru) | Процессор повышенной достоверности функционирования | |
RU186547U1 (ru) | Процессор повышенной достоверности функционирования | |
RU2030785C1 (ru) | Вычислительное устройство | |
US3195122A (en) | Code translator | |
US4024503A (en) | Priority interrupt handling system | |
SU1439594A1 (ru) | Синтаксический анализатор |