SU896623A1 - Устройство управлени конвейерным вычислительным устройством - Google Patents

Устройство управлени конвейерным вычислительным устройством Download PDF

Info

Publication number
SU896623A1
SU896623A1 SU802916535A SU2916535A SU896623A1 SU 896623 A1 SU896623 A1 SU 896623A1 SU 802916535 A SU802916535 A SU 802916535A SU 2916535 A SU2916535 A SU 2916535A SU 896623 A1 SU896623 A1 SU 896623A1
Authority
SU
USSR - Soviet Union
Prior art keywords
register
command
output
input
memory
Prior art date
Application number
SU802916535A
Other languages
English (en)
Inventor
Леонтий Константинович Самойлов
Сергей Васильевич Николаев
Сергей Владимирович Левонюк
Original Assignee
Таганрогский радиотехнический институт им.В.Д.Калмыкова
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Таганрогский радиотехнический институт им.В.Д.Калмыкова filed Critical Таганрогский радиотехнический институт им.В.Д.Калмыкова
Priority to SU802916535A priority Critical patent/SU896623A1/ru
Application granted granted Critical
Publication of SU896623A1 publication Critical patent/SU896623A1/ru

Links

Landscapes

  • Advance Control (AREA)

Description

1
Изобретение относитс  к вычислительной технике и предназначено дл  использовани  в высокопроизводительных цифровых системах обработки информации .
Известно устройство выборки инструкц й дл  блока обработки инструкций , обслуживающего две различные программы, которое содержит первый вентиль, информационный вход которого соединен с информационным выходом первого буфера команд, а управл ющий вход вентил , подсоединенный к первому входу триггера, соединен с первым, выходом логической схемы, информационный вход второго вентил  соединен с информационным выходом второго буфера команд, а управл ющий вход этого вентил , подсоединенный ко второму входу триггера, подключен ко второму выходу логической схемы,выходы обоих вентилей подсоединены ко входу регистра команд, выход которого св зан со входом логической схе К недостаткам данного устройства следует отнести сложность логической схемы. Кроме того, возможен случай, когда не могут быть выполнены ни очередна  команда из первой программы.
ни очередна  команда из второй программы . При этом конвейерный блок обработки команд простаивает некоторое врем , что снижает общую скорость выполнени  команд.
Наиболее близким к предлагаемому по технической сущности  вл етс  устройство поточной обработки информации, имеющее быстродействующую вспомогательную пам ть. Данное устройство содержит программный счетчик, выход которого соединен с первьм входом блока выборки команд, второй вход которого св зан с первой вспо15 могательной пам тью, а выход - со входом группы буферов и со входом блока управлени  стеком, выход последнего блока подключен к первому входу блока обращени  к стеку, второй вход
20 которого подсоединен ко второй вспомогательной пам ти, а выход соединен со входом блока индексации, выход блока индексации соединен с первым входсм блока обращени  за операнда25 ми, второй вход которого св зан с третьей вспомогательной пам тью, а выход блока обращени  за операндами подключен к первому входу буферов,
30 второй вход группы буферов соединен
с ВЫХОДО1 группы буферов, а выход группы буферов соединен со входом арифметического блока, выход которого соединен со второй и третьей вспомогательной пам тью и со входом буфера записи, выход буфера записи соединен со входом основной пам ти j;2.
В известном устройстве возможны случаи, когда очередна  считанна  из пам ти команда не может быть выполнена . Это происходит, когда дл  выполнени  данной команды требуетс  операнд,  вл ющийс  результатом одной из предыдущих команд, выполнение которых еще не. завершено (например, команда условной передачи управлени  в зависимости от знака операнда не может быть выполнена, пока не будет вычислен сам операнд).Возникновение таких ситуаций приводит к тому , что устройство простаивает некоторое врем , ожида , пока не будет подготовлен операнд. В результате скорость выполнени  команд, опрёдел  па  частотой поступлени  потока команд на выполнение, снижаетс .
Цель изобретени  - повышение быстродействи  устройства.
Поставленна  цель достигаетс  тем что в устройство .управлени  конвейерным вычислительным устройством, содержащее пам ть команд, сумматор, регистр адресов команд, регистр команд , первый второй регистры кода операции, регистр гщресов операндов, блок синхронизации, выход которого соединен со входами синхронизации регистра адресов команд, регистра команд, первого и второго регистров кода операции, регистра адресов операндов и пам ти команд, выход которой соединен со входом регистра команд , выход регистра адресов команд соединен с информационным входом пам ти команд и со входом сумматора , выход первого регистра кода операции соединен со входом второго регистра кода операции, выходы блока синхронизации, регистра адресов операндов , второго регистра кода операции  вл ютс  соответственно выходом синхронизации, первым и вторым управл ющими выходами устройства, дополнительно введены шесть блоков элементов И, два блока элементов ИЛИ два элемента НЕ, группа регистров задержки, два регистра задержки,дешифратор , вход, перва  и втора  группы выходов которого соединены соот .ветственно с первым выходом регистра команд, группами входов первого регистра кода операции и первого регисра задержки, выход которого  вл етс  третьим выходом устройства,первый выход дешифратора соединен с первьм входом первого .блока элементов И, второй выход дешифратора соединен с первыгли входами второго и третьего
блоков элементов И, третий выход дешифратора соединен с первым входом четвертого блока элементов И, выход сумматора соединен со входом второго регистра задержки, выход которого ,. соединен со вторыми входами первого и второго блоков элементов И, выходы первого, второго, третьего и четвертого блоков элементов И соединены с соответствуквдими входами первого блока элементов ИЛИ, выход которого соединен со входом первого регистра задержки группы, вход каждого последующего регистра задержки группы соединен с выходом предыдущего регистра задержки группы, выход последнего регистра задержки группы соединен со входом регистра адресов команд , второй выход регистра команд соединен с первым входом п того блока элементов И и через первый элемент НЕ с первым входом шестого блока элементов И, третий выход регистра команд соединен со вторыми входами третьего, четвертого и п того блоков элементов И, выходы п того и шестого блоков элементов И соединены с соответствующими входами второго блока элементов ИЛИ, выход которого соединен со входом регистра адресов операндов, первый вход устройства соединен со вторым входом шестого блока элементов И, второй вход устройства соединен с третьим входом третьего блока элементов И и через второй элемент НЕ - с третьим входом второго блока элементов И, входы синхронизации регистров задержки группы первого и второго регистров зеццержки соединены с выходом блока синхронизации .
На чертеже представлена блок-схема устройства управлени .
Конвейерное вычислительное устройство содержит устройство 1 управлени , пам ть 2 операндов, регистр 3 операндов, конвейерное арифметическологическое устройство (АЛУ) 4, первы 5 и второй 6 выходные регистры. Устройство 1 управлени  содержит сумматор 7, регистр 8 задержки, элемент НЕ 9, блоки 10-13 элементов И, блок 14элементов ИЛИ, группу 15 регистров задержки, регистр 16 адресов команд, пам ть 17 команд, регистр 18 команд, дешифратор 19, элемент НЕ 20 блоки 21 к 22 элементов И, блок 23 элементов ИЛИ, регистр 24 кода операций , регистр 25 задержки, регистр 26 адресов операндов, регистр 27 код операции, блок 28 синхронизации.
Конвейерное АЛУ 4 обрабатывает полученную информацию в течении п тактов {такт - врегад, равное периоду генератора синхроимпульсов) и представл ет собой п последовательно соединенных вычислительных звеньев. Каждое звено содержит логическую комбинационную схему и регистр (регистры ). Логическа  комбинационна  схема данного вычислительного звена,прнима  информацию из регистров предыдущего вычислительного звена,выполн ет определенную простую арифметическую или логическую функцию (на-, пример, операцию И, операцию сложени  двух двоичных чисел и т.п.) и записывает результат (результаты) в регистр (регистры) данного вычислительного звена.-За врем  прохода информации через все п звеньев выполн ютс  сложные операции. При этом проста  операци  в ЛЛУ вштолн етс  в первых звень х этого АЛУ, и далее результат операции перемещаетс  без преобразований. Конвейерное 7ШУ позвол ет одновременно выполн ть п арифметических и логических операций , причем в каждом также производитс  прием операндов и кода операции дл  выполнени  в ЛЛУ, и,-соответственно , в каждом такте выдаютс  результаты выполненных операций . В частном случае конвейерное АЛУ может пропустить на выход без преобразовани  либо информацию со своего первого информационного входа , либо со своего второго информационного входа. Запись (прием) информации в регистры вычислительных звеньев конвейерного АЛУ, так же, как и запись информации во все остальные регистры конвейерного вычислительного устройства, производис  по приходу синхроимпульса от блока синхронизации. Период синхроимпульсов выбираетс  так, чтобы за это врем  можно было или считать команду из пам ти 17 команд, или считать либо записать информацию в пам ть 2 операндов, или осуществить преобразование информации в любой комбинационной схеме, принимающей информацию из одного регистра и выдающей результат в другой регистр (например, в логической комбинационной схеме вычислительного звена конвейерного АЛУ). Величина п выбираетс  в зависимости от соотношени  между быстродействием пам ти (операндов или команд) и быстродействием логических схем, а также в зависимости от типа команд, выполнйералх в конвейерном АЛУ. В конвейерном вычислительном устройстве производитс  одновременное решение N задач, причем
N п-1-2.
Устройство работает следующим образом .
По адресу, записанному в регистр адресов 16 команд, производитс  считывание из пам ти 17 команд очередной команды данной пррграмз дл. Это считывание производитс  в регистр 18 команд в момент прихода синхроимпульса от генератора синхроимпульсов . Одновременно увеличенное на единицу сумматором 7 значение адреса из регистра 16 записываетс  в регистр 8 задержки. Далее код операции команды, считанной в регистр 18 команд, расшифровываетс  дешифратором 19. При этом возбуждаетс  одна из трех линий первой группы выходов дешифратора (в зависимости от того,  вл етс  ли считанна  команда коман0 дной безусловной передачи управлени , командой условной передачи управлени  или любой другой командой), один из выходов второй группы выходов дешифратора (в зависимости от
5 того, кака  функци  должна быть реализована конвейерным АЛУ 4 дл  выполнени  считанной команды) и выход дешифратора (в зависимости от того, требует ли считанна  команда
0 чтени  из пам ти 2 операндов, записи в пам ть 2 операндов или не требует ни чтени , ни записи). Если в регистр 18 команд была считана команда безусловной передачи управлени , то возбужденна  кодом операции
5 этой команды соответствующа  лини  первой группы выходов дешифратора 19 открывает блок 13 элементов И, что позвол ет по приходу синхроимпульса записать через блок 14 эле0 ментов ИЛИ в первый регистр 15.1 группы регистров 15 задержки адрес Перехода из сщресного пол  команды, наход щейс  в регистре 18 команд. Если в регистр 18 команд считана
5 команда условной передачи управлени  в зависимости от знака результата выполнени  предыдущей команды этой же программы, то открыт или блок 11 элементов И или блок 12.
0 Если результат выполнени  предыдущей команды данной программы отрицательный (в знаковом разр де этого результата единица), то .открыт блок 12 элементов И, что позвол ет по приходу синхроимпульса записать
5 через блок 14 элементов ИЛИ в первый регистр 15.1 группы регистров задержки адрес перехода из адресного пол  команды, наход щейс  в регистре 18 команд, т.ё, в данном слуQ чае реализуетс  операци  условного перехода по отрицательному значению результата выполнени  предьщущей команды данной программы. Если же результат выполнени  предыдущей ко5 манды данной программы положительный (в знаковом разр де этого результата ноль), то открыт блок 11 элементов И, что позвол ет по приходу синхроимпульса даписать через блок 14 элементов ИЛИ в первый ре0 гистр 15.1 группы регистров задержки адрес из регистра 8 задержки, т.е. в данном случае не реализуетс  операци  условного перехода,так как результат выполнени  предыдущей
5
команды данной программы не  вл етс  отрицательным. И, наконец, если в регистр 18 команд считана команда, не  вл юща с  командой передачи управлени  (условного или безусловного ) , то открыт блок 10 элементов И, что позвол ет по приходу синхроимпульса записать через блок 14 элементов ИЛИ в первый регистр 15.1 группы регистров задержки адрес из регистра 8 задержки.
Таким образом,осуществл етс  формирование адреса следующей команды данной програм вы.
Одновременно с записью адреса в регистр 15.1 производитс  запись информации со второй группы выходов дешифратора 19 в регистр 24 кода операции и информации с выхода дешифратора 19 в регистр 25 задержки. Регистры 24 и 25 предназначены дл  задержки информации на один такт.
Одновременно с записью адреса в регистр 15.1 производитс  формирование адреса операнда считанной в регистр 18 команд команды данной програмг и . В устройстве возможны два типа адресации пам ти 2 операндов: пр ма  и косвенна . При пр мой адресации в качестве адреса дл  обращени  к пам ти 2 операндов используетс  содержимое адресного пол  текущей команды данной програмьФл, Причем по этому адресу можно или считывать информацию из пам ти 2, или записывать информацию в эту пам ть. При косвенной адресации в качестве адреса дл  обращени  к пам ти 2 операндов используетс  результат выполнени  предыдущей команды данной программы (например , если предыдуща  команда данной программы была командой считывани  с пр мой адресацией содержимого определенной  чейки пам ти 2 операндов , то содержимое этой  чейки и будет  вл тьс  адресом операнда текуще команды данной.программы, если эта текуща  команда использует косвенную адресацию). При этом косвенна  адресаци  используетс  только дл  считывани  информации. Запись с косвенной адресацией производить нельз . Таким образом, если в разр де признака адресации регистра 18 команд будет записана I (т.е. команда , наход ща с  в этом регистре, использует пр мую адресацию), то открываетс  блок 22 элементов И, что позвол ет по приходу синхроимпульса записать через блок 23 элементов .ИЛИ в регистр 26 адресов операндов информацию из пол  адреса регистра 18 команд (т.е. адрес операнда текущей команды данной программы).Если же в разр де признака адресации регистра 18 ксэманд записан О (т.е. команда, наход ща с  в этом регистре использует косвенную адресацию), то открываетс  блок 21 элементов И,
что позвол ет .по приходу синхроимпульса записать через блок 23 элементов ИЛИ в регистр 26 адресов операндов информацию с выхода конвейерного .АЛУ 4,  вл ющуюс  результатом выполнени  предыдущей команды данной программы. Одновременно производитс  запись результата выполнени  предаадущей команды данной программы с выхода конвейерного АЛУ 4 в выходной регистр 5.
Далее, по приходу следующего синхроимпульса производитс  либо считывание информации из пам ти 2 операндов в регистр 3 операндов,либо запись информации с выхода выходного регистра 5 (результат выполнени  предыдущей команды данной программы ) в пам ть 2 операндов, либо н производитс  ни считывани , ни записи . Обращение к пам ти 2 производитс  по адресу из регистра 26 адресов операндов с использованием выходных сигналов регистра 25 задержки , управл ющих режимом работы пам ти 2 (чтение, запись или отсутствие и чтени  и записи). Считывание из пам ти 2 производитс  при выполнении команд чтени  (с пр мой или косвенной адресацией) и команд реализации двухместных арифметических и логических операций (команда умножени , команда ИЛИ и т.п.). Запись в пам ть 2 производитс  при выполнении команды записи в пам ть результата выполнени  предыдущей команды данной программы. Ни запись, ни считывание не производ тс  при выполнении команд безусловной и условной передачи управлени , а также команд реализации одноместных арифметических и логических операций , операнд которых уже находитс  в конвейерном АЛУ 4 (например, команда циклического сдвига вправо на один разр д результата выполнени  предыдущей команды данной программы ) .
Одновременно со считыванием информации из пам ти 2 в регистр 3 операндов производитс  запись кода - операции этой команды из регистра 24 кода операции в регистр 27 кода операции и запись результата выполнени  предыдущей команды данной программы из выходного регистра 5 в выходной регистр 6.
Далее, по приходу следук цего синхроимпульса информаци  с выходов регистров 3,6 и 27 поступает в конвейерное АЛУ 4. АЛУ начинает выполн ть функцию, определ емую кодом опрации текущей команды данной программы , причем сама функци  задаетс  значением выходных сигналов, поступающих из регистров 27 кода операции , а в качествеисходных данных дл  выполнени  этой функции используетс  информаци , полученна  либо
с выхода регистра 3, либо с выхода регистра б, либо с выходов обоих этих регистров. Такими функци ми могут быть двухместные арифметические и логические операции (здесь в качестве первого операнда используетс  информаци , полученна  с выхода регистра 3, а в качестве второго операнда - информаци ,полученна  с выхода регистра 6),одноместные арифметические или логические операции над информацией, полученной с выхода регистра 6, отсутствие преобразовани  информации, полученной с выхода регистра 3 (т.е. передача этой информации через конвейерное АЛУ 4 без ее изменени ),или отсутствие преобразовани  информации полученной с выхода регистра 6 (т.е. передача этой информации на выход конвейерного АЛУ 4 без изменени ). Таким образом, конвейерное АЛУ4 позвол ет выполнить двухместные арифметические и логические операции,причем первым операндом этих операций  вл етс  операнд текущей команды данной программы, а вторым операндом результат выполнени  предыдущей команды этой же программы, одноместные арифметические и логические операции над результатом выполнени  предыдущей команды данной программы, передачу информации с выхода регистра 3 операндов и на вход АЛУ (при выполнении команд чтени  из пам ти с пр мой или косвенной адресацией) с тем, чтобы последующа  команда данной програг/1мы могла бы использовать эту информацию, а также передачу результата выполнени  предыдущей команды данной програмглы на выход АЛУ (при выполнении команды записи результата предыдущей операции данной программы в пам ть 2 операндов или команд безусловной либо условной передачи управлени ) с тем, чтобы последующа  команда данной программы могла бы использовать эту информацию.
Через п тактов после подачи информации на вход конвейерного АЛУ 4 будет получен результат выполненной операции на выходе этого АЛУ. К этом же моменту времени в регистр 18 команд считана очередна  команда данной программы, так как за врем  считывани  текущей команды данной программы из пам ти 17 в регистр 18,врем  формировани  адреса операнда этой команды, врем  чтени  этого операнда из пам ти 2 в регистр 3 и врем  выполнени  операции дл  данной команды в конвейерном АЛУ 4 вычислено приращение адреса текущей команды данной программы, сформирован адрес следующей команды этой же программы, задержан сформированный гщрес с помощь п регистров 15 задержки, записан данный адрес в регистр 16 и считана следующа  команда из пам ти 17 в регист
18 команд. Таким образом, результат выполнени  текущей команды данной программы может быть использован следующей командой этой же программы дл  формировани  адреса очередной команды данной программы и дл  формировани  адреса операнда этой следующей команды. После задержки на один такт регистром 5 результата выполнени  данной команды следукеда  команда может записать этот результат в пам ть
0 2, а после задержки результата еще на один такт (с помощью регистра 6) этот результат может использоватьс  дл  выполнени  операции в конвейерном АЛУ 4.
5
Таким образом осуществл етс  выполнение команд данной программы, т.е. производитс  решение данной задачи .
При одновременном решении в кон0 вейерном вычислительном устройстве N задач через каждые N тактов будет считыватьс  из пам ти 17 команда данной задачи на выполнение (также по истечении каждых N тактов будет выполн тьс  одна команда данной
5 задачи), т.е. врем  выполнени  любой команды данной задачи равно TN где Т - период синхроимпульсов, поступающих от генератора синхроимпульсов . Однако с учетом того, что ре0 шаютсй одновременно N задач,получим, что результирующее врем  выполнени  любой команды равно Т, т.е. из пам ти 17 считываетс  суммарный поток команд (всех N решаемых задач) с
5 частотой, равной частоте работы генерат .ора синхроимпульсов. Эта частота и определ ет результирующую скорость выполнени  .команд всех задач . В обычных конвейерных вычислительных устройствах (выполн ющих
0 решение одной задачи) така  же скорость выполнени  команд может быть достигнута только в том случае, если кажда  вновь считанна  из пам ти команда не использует результаты
5 предшествующих команд, выполнение которых еще не завершено в конвейерном вычислительном устройстве.

Claims (2)

1.Патент США № 3728692, кл, 235-153,- опублик. 1973.
2.Патент США 3949379.
кл. 235-153, опублик. 1976 (прототип ) .
SU802916535A 1980-04-22 1980-04-22 Устройство управлени конвейерным вычислительным устройством SU896623A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU802916535A SU896623A1 (ru) 1980-04-22 1980-04-22 Устройство управлени конвейерным вычислительным устройством

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU802916535A SU896623A1 (ru) 1980-04-22 1980-04-22 Устройство управлени конвейерным вычислительным устройством

Publications (1)

Publication Number Publication Date
SU896623A1 true SU896623A1 (ru) 1982-01-07

Family

ID=20892461

Family Applications (1)

Application Number Title Priority Date Filing Date
SU802916535A SU896623A1 (ru) 1980-04-22 1980-04-22 Устройство управлени конвейерным вычислительным устройством

Country Status (1)

Country Link
SU (1) SU896623A1 (ru)

Similar Documents

Publication Publication Date Title
US4591979A (en) Data-flow-type digital processing apparatus
US5511207A (en) Program control circuit determining the designated number of times a sequence of instructions is repetitively executed to prevent further execution of a jump instruction
US4758945A (en) Method for reducing power consumed by a static microprocessor
US5692139A (en) VLIW processing device including improved memory for avoiding collisions without an excessive number of ports
US5835753A (en) Microprocessor with dynamically extendable pipeline stages and a classifying circuit
JPS6351287B2 (ru)
EP0479390A2 (en) Processing device including a memory circuit and a group of functional units
US4541045A (en) Microprocessor architecture employing efficient operand and instruction addressing
US5732233A (en) High speed pipeline method and apparatus
EP0730223B1 (en) Pipeline data processing apparatus for executing a plurality of data processes having a data-dependent relationship
US5274777A (en) Digital data processor executing a conditional instruction within a single machine cycle
US7945765B2 (en) Method and structure for asynchronous skip-ahead in synchronous pipelines
US4387294A (en) Shift register-latch circuit driven by clocks with half cycle phase deviation and usable with a serial alu
US5590359A (en) Method and apparatus for generating a status word in a pipelined processor
US3001708A (en) Central control circuit for computers
EP0164418B1 (en) Microprogram control system
SU896623A1 (ru) Устройство управлени конвейерным вычислительным устройством
David et al. Self-timed architecture of a reduced instruction set computer
US4566062A (en) Timing control system in data processor
KR940001556B1 (ko) 디지탈신호처리장치
JPH09101889A (ja) パイプライン演算装置
JPS5851353A (ja) プログラム制御回路
SU1256010A1 (ru) Процессор дл реализации операций над элементами расплывчатых множеств
SU1229761A1 (ru) Микропрограммное вычислительное устройство
SU1444760A1 (ru) Устройство дл возведени в квадрат последовательного р да чисел