f.
ft
°ю
fa
f fa
название | год | авторы | номер документа |
---|---|---|---|
Запоминающее устройство | 1987 |
|
SU1495849A1 |
УСТРОЙСТВО УПРАВЛЕНИЯ БУФЕРНОЙ ПАМЯТЬЮ | 1990 |
|
RU2010317C1 |
Устройство для отображения информации на экране электронно-лучевой трубки | 1991 |
|
SU1807516A1 |
Устройство для отображения информации на экране телевизионного индикатора | 1989 |
|
SU1647628A1 |
Процессор ввода-вывода | 1989 |
|
SU1797722A3 |
Способ многодорожечной цифровой магнитной записи и устройство для его осуществления | 1990 |
|
SU1732380A1 |
УСТРОЙСТВО УПРАВЛЕНИЯ ПАМЯТЬЮ | 1991 |
|
RU2010318C1 |
Центральный процессор | 1991 |
|
SU1804645A3 |
Устройство центрального управления процессора | 1983 |
|
SU1136177A1 |
ВЫЧИСЛИТЕЛЬНАЯ СИСТЕМА | 1989 |
|
RU2028663C1 |
Изобретение относится к области вычислительной техники, в частности, к многопортовым системам памяти и может осуществлять одновременно постраничную выборку из ряда одинаковых или различных по типу процессоров или дисковых систем, каждая из которых содержит память на магнитных дисках и контроллер. Целью изобретения является сокращение аппаратных затрат и увеличение быстродействия за счет передачи адреса страницы по линиям данных и вычисления внутристраничного адреса для каждого блока памяти отдельно. Устройство содержит счетчик 1, группу блоков 4 памяти, группу формирователей 5 адреса, группу буферных блоков 6 памяти. За счет переключения соединений между каждым портом и каждым банком памяти через коммутатор, при переключении от банка к следующему банку нет необходимости каждый раз заново устанавливать адрес. Кроме того, поскольку передача адреса к следующему банку памяти и обращение к памяти от порта могут производиться одновременно независимо друг от друга, данные могут считываться и записываться в непрерывных областях без чрезмерного увеличения времени их выборки. Блок буферной памяти, выполненный между портом и коммутатором, позволяет начинать выборку независимо от соединений между банками памяти и портами. Устройство может широко применяться в качестве разделенной памяти в системе параллельной обработки информации, особенно при использовании машин, в которых единицей выборки является страница. 5 ил., 1 табл.
ел
о
эо со
4
ы
ме того, поскольку передача адреса к следующему банку памяти и обращение к памяти от порта могут производиться одновременно независимо друг от дру- га, данные могут считываться и записываться в непрерывных областях без чрезмерного увеличения времени их выборки. Блок буферной памяти, выполненный между портом и коммутатором,
Изобретение относится к вычислительной технике, в частности к многопортовым системам памяти, и может осуществлять одновременно постраничные выборки из ряда одинаковых или различных по типу процессоров или дисковых систем, каждая из которых содержит память на магнитных дисках и контроллер.
Целью изобретения является сокра- щение аппаратных затрат и увеличение быстродействия за счет передачи адреса страницы по линиям данных и вычисления внутристраничного адреса для каждого блока памяти отдельно.
На фиг. 1 представлена функциональная схема предлагаемого устройства; на фиг. 2 - функциональная схема формирователя адреса; на фиг. 3 - схема блока памяти; на фиг. 4 - временные диаграммы работы устройства; на фиг. 5 - диаграмма распределения блоков и страниц в блоках памяти.
Устройство (фиг. 1) содержит счетчик 1, коммутатор 2, группу регист- ров-портов 3 (Р0-Р150, группу блоков 4 памяти (МВ0-МВ 5) группу формирователей 5 адреса, группу буферных блоков 6 памяти (РВО-РВ 5) и тактовый вход 7 (с выхода задающего генератора устройства).
Формирователь адреса (фиг. 2) содержит счетчик 8, контроллер 9 банка памяти, узел 10 контроля четности, сумматор 11 для прибавления разряда четности, регистр-счетчик 12, состоящий из четырех секций S8(i , S3, S4, регистр-защелку 13, состоящую из трех секций L8, , и Ьэ.
Буферный блок 6 памяти (фиг.З) со- держит блоки 14 и 15 4-К байтовой памяти, селекторы 16-19, счетчики 20 и 21, сумматор 22 вычисления адреса, переключатель 23, контроллер 24, сумпозволяет начинать выборку независимо от соединений между банками памяти и портами. Устройство может широко применяться в качестве разделенной памяти в системе параллельной обработки информации, особенно при использовании маиин, в которых единицей выборки является страница. 5 ил., 1 табл.
матор 25 для прибавления разряда четности и узел 26 контроля четности.
На временной диаграмме представлены:
а - сигналы, поступающие на тактовый вход устройства с выхода задающего генератора; Ъ, с, d, e, f - адреса А0, А,, Аг АЗ, A4 банков памяти МВ0, MBf MB4, MB,, МВц.;
g - сигналы на выходе регистра- защелки 13; h - импульсы сдвига; 1 - сигналы с выхода секции Зд
регистра-счетчика 12; j - сигнал разрешения установки
адреса;
k - переключающие сигналы с выхода коммутатора 2. В таблице приведены содержимое шестнадцатиричного счетчика и соединения между портами и банками памяти Устройство работает следующим образом.
Устройство адресации к памяти (фиг. 1) содержит М портов Р0-РМ, ввода-вывода данных, N банков данных с МВ0до МВИЧ, причем N - есть целый множитель указанного числа М. Коммутатор 2 и счетчик 1 предназначены для осуществления взаимосвязи портов и банков памяти. Эта система запоминает каждую страницу по всем банкам памяти. Соединительная шина включает шины входных и выходных данных и несколько управляющих линий. С каждого порта адрес страницы, подлежащей выборке, передается к банку памяти посредством шины входных данных. На стороне банка памяти адрес в странице получает приращение, и данные вводятся и выводятся синхронно, за счет чего множество портов имеют доступ к
одной и той же странице для считывания с нее или записи на нее непрерывных данных.
Для устранения повторной установки адреса страницы со стороны порта при каждом переключении соединений между портами и банками памяти МВ0- МВ(|, посредством коммутатора 2 необходимо, чтобы адрес страницы, соответствующий каждому порту, имеющийся в каждом из банков памяти МВо- МВ м,, транспортировался в банк памяти, переключаемый на определенный порт. С этой целью коммутатор 2 переключается последовательно вправо или влево и синхронно с этим адрес страницы транспортируется в следующий банк памяти в направлении переключения коммутатора. Регистр-счетчик 12 используется для установки и транспортирования адреса страницы. Каждый банк памяти снабжается регистром- защелкой 13 для фиксации адреса памяти так, чтобы операции сдвига и обра- щения к памяти могли производиться в одно и то же время. Счетчик 8 используется для приращения адреса в странице на единицу лри выборке из памяти.
Кроме того, одна страница разделена на несколько блоков и устройства запоминания л ля каждого блока доступны за счет одного периодического повторения переключения всех банков памяти.
Устройство обеспечивает создание многопортовой системы запоминания, в которой имеется блок 6 буферной памяти между коммутатором и каждым портом, причем блок 6 выполнен с сумматором 22 вычисления адреса, за счет чего адрес страницы, который передается между коммутатором и каждым портом, вычисляется из суммы на счетчике 1 и номера каждого порта, задаваемого переключателем 23, что позволяет начать выборку независимо от соединения между банками памяти и портами.
Если количество банков памяти и портов равно N (), как показано на фиг. 1, и в момент времени банк памяти МВч, и порт Р; , каждый
страницы удлиняется и управление памятью становится сложным. Для устранения этого адрес в памяти задается портом на страничной основе и каждая страница делится на множество блоков так, что устройстве запоминания одного блока становятся ДОГТУПНЫМН для обращения при одном периодическом повторении переключения банков памяти, т.е. единицей выборки во временные интервалы между операциями переключения банков памяти есть LB/N и при каком-то цикле переключения Lp/Lg банков памяти производится выборка данных одной страницы. Если единица LH/N является слишком малой велнчи-
из которых является i-м слева, соеди- 55 в нены между собой, то при переключении ной, то не будет времени для транскоммутатора 2 таким образом, что банк портирования адреса страницы между памяти MB(i+j)modN соединяется с банками памяти. Поэтому длина Lg бло- портом Р; в момент времени (.т.е. ка должна удовлетворять условию
во время j-ro переключения), необхот димо, чтобы банк памяти транспорти- ровал адрес страницы к следующему банку памяти на правой стороне. Однако самый правый банк памяти засылает адрес страницы в самый левый банк памяти. Предположив, что максимальное количество страниц, которое может за- поминаться, есть К, длина страницы есть Lp и длина блока есть L6, получим, что количество битов, подлежа-- щих передаче, задано выражением:
15
25
logzK log2N + log4(Lp/Le) ,
5
где logjK
loga(Lp/V
количество битов для адреса страницы; количество битов для адреса блока в странице;
log7N - количество битов для обозначения банка па- мяти, к которому начинается обращение. этом страница разделена на
При блоки.
Максимальное время ожидания одного порта есть временной интервал между соответствующими перекпючакичими операциями коммутатора, если банк памяти, к которому начато обращение, может быть опознан на стороне порта, Если блок не принимается во внимание, порт должен переждать время передачи данных, соответствующее Lp/N. Если длина страницы укорочена с целью снижения времени ожидания, то адрес
страницы удлиняется и управление памятью становится сложным. Для устранения этого адрес в памяти задается портом на страничной основе и каждая страница делится на множество блоков так, что устройстве запоминания одного блока становятся ДОГТУПНЫМН для обращения при одном периодическом повторении переключения банков памяти, т.е. единицей выборки во временные интервалы между операциями переключения банков памяти есть LB/N и при каком-то цикле переключения Lp/Lg банков памяти производится выборка данных одной страницы. Если единица LH/N является слишком малой велнчи-
в ной, то не будет времени для транспортирования адреса страницы между банками памяти. Поэтому длина Lg бло- ка должна удовлетворять условию
L6/Nb logiK log2N + logЈ(Lp/ /LBjJ+ol,
где bi - временной интервал, необхо- димый для установки адреса страницы со стороны порта. На каждой стороне порта блок страницы должен начинаться с MB независимо от банка памяти, к которому на- чато обращение.
Поскольку банком памяти, к которому подсоединен порт PSB момент времени- есть MB(i+j)modN, необходимо лишь обратиться к данным от Ј(Le/ /N (i+j)modN} + l3 до данных (Le/N)Јi+ +j)modN+1 l этого блока. Для осуществления этого введен буферный блок 6 памяти между коммутатором и каждым портом и адрес в блоке 6, к которому производится обращение с коммутатора, вычисляется на основании суммы величины на счетчике 1 и величины номера порта. Необходимо, чтобы адреса в блоке были синхронизированы со стороны банка памяти и буферного бло ка памяти.
Блок 4 памяти имеет емкость в 16 Мбайт (8 разрядов х 16 млн.), секции Sg,4t и S6+2, а также регистр- счетчик 12 имеют по 8 старших и младших разрядов адреса страницы, секция S;j является 3-разрядным регистром сдвига, используемым для подсчета восьми блоков, образующих одну стра- ницу, а 32-разрядный счетчик 8 предназначен для подсчета 32 байтов, образующих один блок. Для того, чтобы адреса страниц из секций S6-, и ., адрес блока из секции S5 регистра-счетчика 12 могли транспортироваться в банк памяти на правой стороне синхронно с переключением коммутатора, секции SgM и S8.2 регистра-счетчика должны иметь 8-раз- рядный параллельный вход для установки адреса страницы и 1-разрядный последовательный вход/выход для указания адреса памяти в дополнение к 8-разрядному параллельному выходу. Аналогично секция S регистра-счетчика 12 должна быть также снабжена 3- разрядным параллельным выходом и 1-разрядным последовательным входом/ /выходом. Секция Sэ регистра-счетчика 12 должна быть восстановлена в исходное состояние в момент, когда установлен адрес страницы, потому, что имеются предварительные условия,
при которых со стороны портов задается адрес на страничной основе, и выборка начинается с верхней части страницы. Кроме того, поскольку необходимо, чтобы после одного цикла просмотра всех банков памяти процесс перешел к следующему блоку, подготавливается 4-разрядная секция S регистра-счетчика 12 для подсчета 16 блоков и его выход переноса подключается к входу секции S3. В случае, когда буферный блок памяти между каждым портом и переключающей сетью пропущен, и предполагается, что выборка всегда начинается от банка памяти МВ0, секция S может отсутствовать. В таком случае секция получает приращение на единицу от банка памяти МВ Кроме того, для осуществления возможности доступа в область просмотра страниц без повторной установки адреса страницы при каждом обращении необходимо вводить сигналы переноса от секций S,j и Sg.z в секцию Sg, .
Восьмиразрядные секции регистра- защелки LS, и и 3-разрядная секция L 3 используются для фиксации адреса страницы и адреса блока, что обеспечивает их передачу к следующему банку памяти и дает возможность перекрыть доступ к памяти. 5 разрядный, т.е. тридцатидзухричный, счетчик 8 предназначен для приращения адреса на единицу в одном блоке. Адреса страницы и блока должны передаваться к следующему банку памяти во время доступа к 32 байтам, или со стороны порта должны устанавливаться другие адреса страницы и блока.
Данные и адреса передаются между портами посредством двух 9-разрядных (8 разрядов и 1 разряд четности) од- носторонных шин. Контроль четности и добавление разряда четности выполняются на входе и выходе каждого банка памяти с помощью блоков 10 и 11 (фиг. 2).
Синхронизация и разрешение на запись и считывание обеспечиваются контроллером 9 банка памяти - сигналами с задающего генератора, посту- лающими на тактовый вход 7 устройства, и управляющим сигналом от каждого порта.
Банки памяти с адресами A0,At ,Az, А,А4... доступны от соответствующих портов при поступлении импульсов от задающего генератора системы. С целью
передачи адреса страницы и адреса блока к следующему банку памяти одновременно с выборкой памяти адреса секций Se( , S3 регистра-счетчика 12 устанавливаются в секциях защелках LS( , и L э регистра- защелки 13, всего 23 разряда, включая 16 разрядов для адреса страницы, 3 разряда для адреса блока и 4 раз1 ряда отсчета банка. Они передаются разряд за разрядом в следующий банк памяти на правой стороне перед передачей адреса страницы и адреса блока. Если все порты начинают выборку памяти в банке памяти МВ0, все четыре разряда для отсчета банка будут не нужны. Иначе необходимо, чтобы содержимое счетчика 8 для отсчета банка памяти увеличивалось на единицу при синхронизации секции S , В этом случае секция 5 регистра-счетчика 12 должна снова устанавливаться в исходное состояние в момент времени установки адреса страницы, Период, за который адрес страницы может быть установлен со стороны порта, представляет собой интервал до начала сдвига адреса после завершения одного счетного цикла секции S. Момент разрешения установки адреса показывает временная диаграмма на фиг, 4, g. Коммутатор 2 при этом должен переключаться синхронно сигналами от за дающего генератора, предпочтительно в момент установки адреса в регистре- защелке. Этот момент показан на временной диаграмме (фиг. 4, k).
Для повышения быстродействия работы устройства при записи и считывании в него введен блок 6 буферной памяти. Если запись производится в банк памяти MB начиная с верхней части страницы, трудно определить начало страницы в момент считывания, что приводит к затруднению выборки в странице. Для устранения этого недостатка необходимо заранее определить, что страница всегда начинается в конкретном банке памяти, например в банке памяти MBQ. В блоке 6 буферной памяти
1
используются два блока 14 и 15 памяти емкостью 4 кбайт, создающие устройство с двойным буфером, в котором при выборке из блока 14 (или 15) со стороны порта другой блок 15 (или 14) используется для передачи данных в банк памяти или из банка. В этом случае он управляется за счет переклю
110
561834Ю
чения селекторов 16 и 17 на адресной
стороне и селекторов 18 и 19 на сто-., роне данных для указания, какой из блоков 14 или 15 выбирается для выборки со стороны портов или для передачи данных. Например, когда блок 14 памяти переключен и соединен селекторами 16 и 18 так, что в нем произ. водится выборка с верхней стороны порта, переключаются селекторы 17 и 19 и соединяют блок 15 памяти со стороны банка памяти.
Адрес для передачи данных состав15 лен,, из пяти младших разрядов А0-А, полученных за счет частотного деления сигнала задающего генератора системы счетчиком 21, четырех старших разрядов Ае-А5, полученных за счет сложе20 ния сумматором 22 номера порта, установленного переключателем 23, и выг хода счетчика 1, трех старших разрядов ц , полученных за счет частотного деления сигнала задающего
25 генератора устройства счетчиком 20. Блок 4 содержит также контроллер 24 на стороне порта, сумматор 25 для прибавления разряда четности при записи данных со стороны порта и узел
30 26 контроля четности для данных, считанных со стороны банка памяти.
Использование такого портового буфера позволяет производить постраничную выборку со стороны порта неза35 висимо от соединений, обусловленных коммутатором 2, при этом блок 6 вычисляет начальный адрес записи. Одна страница (4 кбайт) разделена на семь блоков (фиг. 5), каждый из которых запоминается шагами по 32 байта в банках памяти в направлении по часовой стрелке. Например, в случае записи от порта 4 и когда содержимое шестнадцатиричного счетчика равно О, в соответствии с таблицей запись начинается в банке памяти МВ,. Когда содержимое счетчика 1 равно 1, запись начинается в банке памяти MBу, т.е. порт соединен с банком памяти MB;, номер которого равен сумме содержимого счетчика и номера порта. Следовательно, данные страницы, подлежащей запоминанию, передаются от порта банка памяти, в котором начинается запись, начиная с первого блока страницы, а затем запись осуществляется в последующих банках памяти друг за другом. Таким образом, данные нижней части страницы (последнего ее блока)
40
45
50
55
записываются в последнем банке памяти, данные первого бдока страницы записываются в первом банке памяти (например, МВ0). Адрес начала записи для записываемой страницы получают за счет прибавления содержимого шестнадцатиричного счетчика 1 к адресу порта, например величины 5 в случае порта Р. В соответствии с этим ад- рее начала записи может быть получен просто выполнением приведенного вычисления в каждом порте.
Тот же самый способ применяется для считывания данных со стороны бан- ка памяти. Считывание начинается в банке, памяти MB;, соединенном с пор- тбм, а когда считанные данные записываются в один из блоков памяти, например 15, номер порта и содержимое счетчика 1 складываются в сумматоре 22, и сумма используется в качестве адресов для выборки в блоке 15 за счет чего данные, считанные со стороны банка памяти, запоминаются в буфере 15, начиная с верхней части страницы. В соответствии с этим легко сделать выборку в блоке 15 для считывания оттуда данных.
Формула изобретения
Устройство адресации к памяти, содержащее счетчик, коммутатор, труп- пу регистров-портов, группу блоков памяти и группу формиро вателей адреса, причем первые информационные входы/выходы регистров-портов группы являются информационными входами/выхо- дами устройства, выход разрядов счетчика соединен с управляющим входом коммутатора, тактовый вход счетчика соединен с тактовым входом устройства и тактовыми входами формирователей адреса группы, информационные входы/ /выходы первой группы коммутатора соединены с информационными входами/ /выходами соответствующих блоков памяти группы и информационными входами соответствующих формирователей адреса группы, адресные выходы формирователей адреса группы соединены с адресными входами соответствующих блоков памяти группы, входы управления формирователей адреса группы соединены с управляющими выходами соответствующих блоков памяти группы, причем каждый формирователь адреса
5 0 5
0
. о 5
0
5
группы содержит регистр-счетчик, регистр-защелку и счетчик, в каждом формирователе адреса вход первого разряда и выход последнего разряда регистра-счетчика являются входом и выходом сдвига формирователя адреса соответственно, информационный выход регистра-счетчика соединен с информационным входом регистра-защелки, разряды выхода регистра-защелки и разряды счетчика соединены с соответствующими разрядами адресного выхода формирователя адреса, счетный вход счетчика соединен с тактовым входом формирователя адреса, входы управления регистра-счетчика и регистра-защелки соединены с входом управления формирователя адреса, информационный вход регистра-счетчика соединен с информационным входом формирователя адре-j. са, выход сдвига К-го (,,..., М-1 , где М - число блоков памяти) формирователя адреса группы соединен с входом сдвига (К+1)-го формирователя (адреса группы, выход сдвига М-го формирователя адреса группы соединен с входом сдвига первого формирователя адреса группы, отличающее- с я тем, что, с целью сокращения аппаратных затрат и увеличения быстродействия за счет передачи адреса страницы по линиям данных и вычисления внутристраничного адреса для каждого блока памяти отдельно, в него введены группа буферных блоков памяти и группа сумматоров, причем вторые информационные входы/выходы регистров-портов группы соединены с первыми информационными входами/выходами соответствующих буферных блоков памяти группы, вторые информационные входы/выходы которых соединены с соответствующими информационными входами/ /выходами второй группы коммутатора, первые входы сумматоров группы подключены к выходу счетчика, вторые входы сумматоров группы являются соответствующими входами собственных адресов регистров-портов устройства, выходы сумматоров группы соединены с первыми адресными входами соответствующих блоков буферной памяти группы, адресные выходы регистров-портов группы соединены с вторыми адресными входами соответствующих блоков буферной памяти группы, тактовые входы которых соединены с тактовым входом устройства.
ж«
йЈ§ sil
Чс
N
I
Адресная шина
4l2)LLfn
20
Ј
35ит
Ъ
№
16
16
Sum
/7
&
v/n
.5 бит
-И
/7
/7
21
I4 14 №1Щ
ftoTZl
/
Л
7 От блока 1
Шина данных 4 8 бит
/; л
Мбайт ц ио7
Я0п
/
86ит
8
г 86атfe
Убит
ш
я
18
Sum
Ш7 Шо
ffaum
15
Vfj БОо
ш
Вбит
/
19
ъ
шт
Ват
0
Вит
/
- f8Bum
8 бит
25
26
/ /
бдит
-8 бит
}96ит
Pue.J
30 0 2 6 8 W 12 W 16 18 W 22 2 26 28 30 Q Z 29 31 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 1
а) ЖШЛЛДПЛЛП 4 4 TJlJlJTJTmiJ «M/
ПВ0 + ПВ,5
,
1
код
115 и байт
256fl байт Фиг. 5
Патент США rf 3757307, кл | |||
Способ отопления гретым воздухом | 1922 |
|
SU340A1 |
Устройство, описанное в журнале New Generation Computing, 19849 т | |||
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Одноколейная подвесная к козлам дорога | 1919 |
|
SU241A1 |
Авторы
Даты
1990-04-30—Публикация
1987-06-12—Подача