Інтелектуальна розподілена система пам’яті з ієрархічними кільцевими шинами
Номер патенту: 112237
Опубліковано: 12.12.2016
Формула / Реферат
1. Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами, що містить підсистему інтелектуальної пам'яті першого рівня (ПІП-1), до складу якої входять системний контролер пам'яті, множина N блоків інтелектуальної пам'яті, кільцева шина, що складається з кільцевої шини даних і кільцевої шини управління, блок управління кільцевої шиною, локальна шина даних, система вводу/виводу даних, система вводу/виводу управляючих сигналів, ведучий процесор з КЕШ-пам'яттю, n керованих секторних роздільників кільцевої шини на n секторів, загальні для кільцевої шини даних і кільцевої шини управління, при цьому множина з N блоків інтелектуальної пам'яті поділяється також на секторні набори, кількість яких визначається як (n-1), кількість блоків інтелектуальної пам'яті в кожному секторному наборі визначається як N/(n-1), при цьому перший ввід/вивід і-го секторного роздільника з'єднаний з і-м сектором кільцевої шини даних, другий ввід/вивід з'єднаний з (і+1)-м сектором кільцевої шини даних, третій ввід/вивід з'єднаний з і-м сектором кільцевої шини управління, четвертий ввід/вивід з'єднаний з (і+1)-м сектором кільцевої шини управління, де 1£і£n, кожен j-й ввід/вивід вузла управління секторними роздільниками з'єднаний з п'ятим вводом/виводом відповідного j-гo секторного роздільника, де 1£j£n, (n+1) ввід/вивід з'єднаний з третім вводом/виводом блока управління кільцевої шиною, перший ввід/вивід якого з'єднаний з першим сектором кільцевої шини даних, другий його ввід/вивід з'єднаний з першим сектором кільцевої шини управління, перший ввід/вивід кожного m-го блока інтелектуальної пам'яті, де 1£m£N/(n-1), в кожному k-му секторному наборі з'єднаний з відповідним (k+1)-м сектором кільцевої шини даних, другий ввід/вивід з'єднаний з відповідним (k+1)-м сектором кільцевої шини управління, де 1£k£n-1, перший ввід/вивід блока службових функцій з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід з'єднаний з першим сектором кільцевої шини управління, третій ввід/вивід з'єднаний з локальною шиною даних, четвертий ввід/вивід системного контролера з'єднаний з першим сектором кільцевої шини даних, п'ятий ввід/вивід з'єднаний з першим сектором кільцевої шини управління, при цьому підсистема інтелектуальної пам'яті першого рівня також містить вузол управління секторними роздільниками, блок службових функцій підсистеми пам'яті першого рівня, що містить вузол управління службовими функціями підсистеми пам'яті, вузол розподілу адресного простору всієї інтелектуальної підсистеми пам'яті першого рівня по блоках інтелектуальної пам'яті (БІП-1), вузол розміщення даних по розподілених адресних просторах БІП-1, вузол розподілу програми користувача на частини і розміщення їх по процесорах БІП-1, перший інтерфейс для вводу/виводу даних і кодів адреси, другий інтерфейс для вводу/виводу керуючих сигналів, з'єднані із відповідними шиною даних і шиною управління першого сектора кільцевої шини, при цьому кожен секторний набір блоків інтелектуальної пам'яті (БІП-1) додатково містить локальну шину даних, причому перший ввід/вивід кожного БІП-1 з'єднаний з відповідним сектором кільцевої шини даних, другий ввід/вивід кожного БІП-1 з'єднаний з відповідним сектором кільцевої шини управління, яка відрізняється тим, що уведена підсистема інтелектуальної пам'яті другого рівня (ПІП-2), а також додатково уведено блок управління взаємодією інтелектуальних підсистем пам'яті різних рівнів (БУВ), який містить блок управління рівнями, перший і другий інтерфейси відповідно для передачі даних і управляючих сигналів між першими секторами кільцевих шин різних рівнів, а також два блоки синхронізації відповідно для даних і управляючих сигналів секторів кільцевої шини, при цьому перший і другий виходи блока управління рівнями підключені до першого входу інтерфейсу передачі даних і відповідно - до першого входу інтерфейсу передачі управляючих сигналів, перші виходи яких з'єднані з першими і другими входами даних і управляючих сигналів відповідного інтерфейсу для третього і інших рівнів, третій вхід якого підключений до третього виходу блока управління рівнями, перший вхід якого підключений до четвертого входу локальної шини ("Передача інформації між рівнями"), а його п'ятий вихід підключений до першого входу першого блока синхронізації, другий вхід якого з'єднаний з третім виходом блока службових функцій ПІП-1, а його другий вихід з'єднаний з другим входом інтерфейсу передачі даних між рівнями, треті входи/виходи якого підключені до першого сектора шини даних ПІП-1, кільцева шина управління першого сектора якої з'єднана з третім входом інтерфейсу передачі між рівнями керуючих сигналів, другий вхід якого підключений до першого виходу другого блока синхронізації, другий вхід якого з'єднаний з третім виходом блока службових функцій ПІП-2, другий вхід/вихід інтерфейсу передачі керуючих сигналів між рівнями з'єднаний з кільцевою шиною керуючих сигналів першого сектора ПІП-2, кільцева шина даних першого сектора якої з'єднана з четвертим входом/виходом інтерфейсу, ПІП-2 містить також системний контролер пам'яті, множину М блоків інтелектуальної пам'яті, кільцеву шину, що складається з кільцевої шини даних і кільцевої шини управління і містить m керованих секторних роздільників, загальних для обох шин і розділяючих їх на m секторів, блок управління кільцевою шиною, блок управління роздільниками, локальна шина даних, системний ввід/вивід даних, системний ввід/вивід управляючих сигналів, ведучий процесор з КЕШ-пам'яттю, при цьому множина з М блоків інтелектуальної пам'яті поділяється також на секторні набори, кількість яких визначається як (m-1), кількість блоків інтелектуальної пам'яті в кожному секторному наборі визначається як М/(m-1), при цьому перший ввід/вивід j-гo секторного роздільника з'єднаний с q-м сектором кільцевої шини даних, другий ввід/вивід з'єднаний з (q+1)-м сектором кільцевої шини даних, третій ввід/вивід з'єднаний з q-м сектором кільцевої шини управління, четвертий ввід/вивід з'єднаний з (q+1)-м сектором кільцевої шини управління, де 1£q£m, кожен z-й ввід/вивід вузла управління секторними роздільниками з'єднаний з п'ятим вводом/виводом відповідного m-го секторного роздільника, де 1£z£m, (z+1) ввід/вивід з'єднаний з третім вводом/виводом блока управління кільцевої шиною, перший ввід/вивід якого з'єднаний з першим сектором кільцевої шини даних, другий його ввід/вивід з'єднаний з першим сектором кільцевої шини управління, перший ввід/вивід кожного блока інтелектуальної пам'яті в кожному k-му секторному наборі з'єднаний з відповідним сектором кільцевої шини даних, а його другий ввід/вивід з'єднаний з відповідним сектором кільцевої шини управління, перший ввід/вивід блока службових функцій з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід з'єднаний з першим сектором кільцевої шини управління, третій ввід/вивід з'єднаний з п'ятим входом локальної шини даних ("Запуск процесів"), четвертий ввід/вивід системного контролера з'єднаний з першим сектором кільцевої шини даних, п'ятий ввід/вивід з'єднаний з першим сектором кільцевої шини управління, а третій вхід системного контролера ПІП-2 підключений до відповідного шостого входу ("Запуск ПІП-2") локальної шини.
2. Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами за п. 1, яка відрізняється тим, що кожен секторний набір першого ПІП-1 і другого ПІП-2 рівнів має блоки секторної пам'яті, мультиплексор і демультиплексор, набір регістрів, що містить регістри РгА, РгВ, РгС і PгD, контролер управління пам'яттю секторного набору і процесорний елемент, а також інтерфейс секторного набору, при цьому перші входи і другі виходи інтерфейсу кожного секторного набору підключені до кільцевої шині даних відповідного сектора, а його треті входи з'єднані з секторною кільцевою шиною управління, перший вхід/вихід управляючих сигналів інтерфейсу з'єднаний з першим входом/виходом контролера управління сектором, з першим входом мультиплексора і з першим входом секторного блока пам'яті, другий вхід якого з'єднаний з другим виходом контролера управління секторною пам'яттю, шостий вхід/вихід керуючих сигналів інтерфейсу з'єднаний з першим входом демультиплексора і з першим входом процесорного елемента, перший вихід якого з'єднаний з третім входом блока пам'яті сектора, другий вихід якого з'єднаний з другим входом процесора, другий і третій виходи інтерфейсу секторного набору з'єднані з відповідними входами регістрів РгА та РгВ, перші і другі виходи яких підключені відповідно до других і третіх входів мультиплексора, перші виходи якого з'єднані з четвертими входами блока пам'яті сектора, перші виходи якого з'єднані з другими входами демультиплексора, перші і другі виходи якого підключені відповідно до перших і других входів регістрів РгС і PгD, перші і другі виходи яких з'єднані відповідно з четвертими і з п'ятими входами інтерфейсу секторного набору, другий і третій входи/виходи процесорного елемента підключені до кільцевої шині даних і відповідно до кільцевої шині управління сектора.
3. Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами за п. 1, яка відрізняється тим, що в блок службових функцій ПІП-1 і ПІП-2, додатково введені вузол синхронізації внутрішніх процесів кільцевої шини, інтерфейс для зв'язку з кільцевої шиною даних і вузол управління читанням/записом даних та програм, при цьому перші, другі, треті і четверті виходи вузла синхронізації внутрішніх процесів кільцевої шини підключені відповідно до перших входів вузла управління читання/запису даних і програм, вузла управління розподілом адресного простору, вузла управління розподілом даних і вузла управління розподілом програм користувача по процесорах, при цьому перші, другі, треті і четверті виходи вузла управління службовими функціями підключені відповідно до других входів вузла управління читання/запису даних і програм, вузла управління розподілом адресного простору, вузла управління розподілом даних і вузла управління розподілом програм користувача по процесорам, перші виходи яких з'єднані відповідно з першим, другим, третім і четвертим входами інтерфейсу для вводу/виводу керуючих сигналів перших секторів кільцевих шин ПІП-1 і ПІП-2, перші виходи яких підключені відповідно до перших секторів кільцевих шин керуючих сигналів, при цьому другі виходи вузла розподілу адресного простору, вузла розподілу даних і вузла розподілу програм користувача по процесорах з'єднані відповідно з першими, другими і третіми входами інтерфейсу введення/виводу даних, коду адреси та програм перших секторів кільцевих шин, перші виходи яких з'єднані відповідно з кільцевими шинами даних ПІП-1 і ПІП-2 перших секторів, при цьому другі входи вузла синхронізації внутрішніх процесів кільцевої шини, інтерфейсу для зв'язку з кільцевою шиною даних і вузла синхронізації внутрішніх процесів кільцевої шини з'єднані з другім виходом локальної шини.
4. Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами за п. 1, яка відрізняється тим, що для ПІП-1 і ПІП-2 кожен секторний роздільник представлений у вигляді матриці елементів схем, що містить перший стовпець елементів "2 І", другий стовпець елементів "3 І", третій стовпець - тригерних схем "Tгj", четвертий стовпець елементів "3 І" , п'ятий стовпець елементів "2 І", а також додатковий рядок тригерних схем і елементів "2 І", при цьому кількість рядків матриці елементів визначено кількістю розрядів кільцевої шини даних і кільцевої шини управління, перші входи всіх тригерів сигналів управління стовпця тригерних схем з'єднані між собою і підключені до кільцевої шини, перші входи всіх тригерів сигналів даних стовпця тригерних схем з'єднані між собою і підключені до кільцевої шини даних, другі входи тригерів стовпця тригерних схем з'єднані між собою і підключені до відповідного входу/виходу (сигнал "Дозвіл читання/запису") вузла управління секторними роздільниками, а треті входи всіх тригерів (сигнал "Скидання") також з'єднані між собою і підключені до вузла управління секторними роздільниками, другі входи елементів "3 І" другого і окремо четвертого стовпців в кожному стовпці з'єднані між собою і підключені до відповідних виходів елементів "2 І", що належать відповідно другому і четвертому стовпцям, перші входи яких з'єднані з виходами відповідних тригерів додаткового тригерного рядка, другі входи яких з'єднані з відповідними виходами (команда "Зчитування") вузла управління секторними роздільниками, вихід кожного тригера в стовпцях тригерних схем кожного рядка з'єднаний з першим входом елемента "3 І" відповідного рядка другого стовпця і з першим входом елемента "3 І" того ж самого рядка четвертого стовпця, треті входи кожного елемента "3 І" другого стовпця і окремо четвертого стовпця з'єднані і підключені до відповідного виходу елемента "2 І" додаткового тригерного рядка, перший вхід якого з'єднаний з виходом відповідного тригера додаткового тригерного рядка, а другий вхід підключений до відповідного виходу ("Дозвіл передачі") вузла управління секторними роздільниками, виходи елемента "3 І" кожного рядка другого стовпця з'єднані з відповідними першими входами елементів "2 І" першого стовпця, другі входи яких з'єднані і підключені до виходу відповідного елемента "2 І" додаткового тригерного рядка, перший вхід якого з'єднаний з виходом тригера додаткового тригерного рядка, другий вхід якого підключений до відповідного виходу вузла управління секторними роздільниками "Передача інформації від q-го роздільника наліво (проти годинникової стрілки) до (q+1)-го роздільника", виходи елемента "3 І" кожного рядка четвертого стовпця з'єднані з відповідними першими входами елемента "2 І" п'ятого стовпця, другі входи яких з'єднані і підключені до відповідного виходу елемента "2 І" додаткового рядка тригерів, перший вхід якого з'єднаний з виходом відповідного тригера додаткового тригерного рядка, другий вхід якого з'єднаний з відповідним виходом ( "Передача інформації від q-го роздільника направо (за годинниковою стрілкою) до (q-1)-го роздільника") вузла управління секторними роздільниками, при цьому кожен вихід елемента "2 І" першого стовпця і кожен вихід елемента "2 І" п'ятого стовпця підключені відповідно до кільцевої шині даних і шини управління (q+1) і (q-1) секторів, другі входи всіх елементів "2 І" додаткового рядка тригерів з'єднані з відповідним виходом ("Сигнал синхронізації") вузла управління секторними роздільниками, а треті входи з першого по п'ятий всіх тригерів додаткового рядка тригерів з'єднані з відповідними виходами (сигнали" Скидання") вузла управління секторними роздільниками.
5. Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами за п. 1, яка відрізняється тим, що блок управління кільцевої шиною першого ПІП-1 та другого ПІП-2 рівнів містить вузол інтерфейсу з кільцевої шиною, вузол аналізу і обробки керуючого пакета, вузол управління сигналами скидання тригерів, вузол управління синхронізацією, вузол управління читанням/записом інформації, вузол управління передачею інформації в (n-1) роздільник, вузол управління в передачею інформації в (n+1) роздільник, вузол управління записом інформації в третій стовпець n-го роздільника, при цьому перші і другі входи інтерфейсу з'єднані відповідно з кільцевої шиною управління і кільцевої шиною даних першого сектора, перший вихід інтерфейсу з'єднаний з першим входом вузла управління синхронізацією, перший, другий, третій і четвертий виходи якого підключені відповідно до перших входів вузла управління читанням/записом інформації, вузла управління передачею інформації в (n-1) роздільник, вузла управління передачею інформації в (n+1) роздільник, вузла управління записом інформації в третій стовпець n-го роздільника, п'ятий вихід вузла управління синхронізацією підключений до першого входу вузла аналізу і обробки управляючого пакета, другий вхід якого з'єднаний з другим виходом інтерфейсу, перший, другий, третій і четвертий виходи вузла аналізу і обробки управляючого пакета підключені відповідно до других виходів вузла управління читанням/записом інформації, вузла управління передачею інформації в (n-1) роздільник, вузла управління передачею інформації в (n+1) роздільник, вузла управління записом інформації в третій стовпець q-го роздільника, перший вихід вузла управління сигналами скидання з'єднаний з третім входом вузла управління зчитуванням/записом, а його другі, треті і четверті виходи з'єднані відповідно з третіми входами вузла управління передачею інформації в (n-1) роздільник, вузла управління передачею інформації в (n+1) роздільник, вузла управління записом інформації в третій стовпець n-го роздільника, виходи яких підключені до відповідних входів n-го роздільника, при цьому шостий вихід вузла управління синхронізацією з'єднаний з першим входом вузла управління сигналами скидання тригерів, другий вхід якого підключений до п'ятого виходу вузла аналізу і обробки керуючого пакета.
Текст
Реферат: Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами, в якій додатково до підсистеми інтелектуальної пам'яті першого рівня (ПІП-1) введена підсистема інтелектуальної пам'яті другого рівня (ПІП-2), а також уведений блок управління взаємодією інтелектуальних підсистем пам'яті різних рівнів (БУВ), замінені роздільники в ПІП-1 і в ПІП-2 на простіші, замінена схема секторного набору, що забезпечує можливість зменшити кількість провідників кільцевої шини практично в два рази за рахунок передачі частини даних за годинниковою стрілкою, а іншої частини - проти годинникової стрілки. При цьому отримані широкі функціональні можливості, що забезпечено шляхом ущільнення при передачі інформації по кільцевій шині в певні кванти часу при роботі системи, а в блок службових функцій додатково введені вузол синхронізації внутрішніх процесів кільцевої шини і вузол інтерфейсу для зв'язку з кільцевою шиною даних. UA 112237 U (54) ІНТЕЛЕКТУАЛЬНА РОЗПОДІЛЕНА СИСТЕМА ПАМ'ЯТІ З ІЄРАРХІЧНИМИ КІЛЬЦЕВИМИ ШИНАМИ UA 112237 U UA 112237 U 5 10 15 20 25 30 35 40 45 50 55 Під інтелектуальною розподіленою системою пам'яті (ІРСП) комп'ютерних систем (КС) розумітимемо технічний пристрій розподіленої пам'яті, який крім стандартних функцій зберігання, читання і запису даних має також функції логічної і арифметичної обробки інформації за допомогою засобів обробки, розміщених як в безпосередній близькості, так і підключених до виділених масивів пам'яті. Одним з різновидів ІРСП є ІРСП-системи, побудовані за принципами "Processor-in-memory"("Процесор-в-пам'яті"), або РІМ-системи, які, завдяки особливостям архітектурно-структурної організації, при вирішенні однієї і тієї ж задачі в порівнянні з КС з класичною архітектурою мають ряд переваг: більш високу продуктивність, менші габарити, вагу, споживану потужність та ін. (Яковлев Ю.С. Однокристальные компьютерные системы высокой производительности. Особенности архитектурно-структурной организации и внутренних процессов: Монография - Вінниця: ВНТУ, 2009. - 294 с.). Інтелектуальна розподілена система пам'яті (ІРСП) належить до галузі обчислювальної техніки, зокрема до засобів інтелектуальних розподілених систем пам'яті для запису-читання, зберігання та обробки інформації у високопродуктивних багатопроцесорних системах і може бути ефективно використана при розв'язанні широкого класу задач (системи лінійних, нелінійних алгебраїчних та диференційних і інтегральних рівнянь, задачі цифрової обробки і розпізнавання зображень тощо). Технічний результат полягає в підвищенні продуктивності і спрощенні окремих вузлів і блоків інтелектуальної розподіленої системи пам'яті з ієрархічними кільцевими шинами. При створенні комп'ютерних систем високої продуктивності проблема затримки сигналів при обміні інформацією між процесорами і пам'яттю, а також між блоками розподіленої пам'яті набуває першорядного значення. Для її вирішення часто застосовують прості комутаційні засоби для взаємозв'язку між компонентами обчислювальної системи типу загальної шини. Проте, при підключенні до шини великої кількості пристроїв пам'яті, затримки сигналів при зверненні процесора до пам'яті, підключеної на початку шини, можуть істотно відрізнятися від затримок сигналів при зверненні процесора до пам'яті, підключеної в кінці шини, що створює проблему синхронізації і в результаті обмежує частоту роботи системи пам'яті в цілому. При побудові проблемно-орієнтованих процесорів і спеціалізованих високопродуктивних обчислювальних засобів крім звичайної загальної шини (наприклад, шини РСІ) сьогодні часто застосовують структури загальної шини, які отримали назву кільцевих шин (Боюн В.П. Динамическая теория информации. Основы и приложения: Монография - Інститут кібернетики HAH України, 2001. - 326 с). їх застосування згідно з відомими технічними рішеннями усуває відмічені недоліки, забезпечуючи при цьому нові можливості: По-перше, в набір операцій кільцевої шини може бути включена операція мультиплексування з часовим ущільненням, так що дані можуть передаватися по кільцевій шині в призначені кванти часу, при цьому кількість квантів часу, що використовуються для кожної передачі даних, можна вибрати рівним кількості паралельних передач даних, що дозволяє повністю використовувати смугу пропускання кільцевої шини. По-друге, ширина кільцевої шини даних може бути зменшена приблизно в два рази в порівнянні з розрядністю даних, що передаються, за рахунок того, що половина розрядів даних передається по шині в одному напрямі, а інша половина одночасно в іншому - до з'єднання з першою половиною. По-третє, кільцева структура шини проста для проектування і реалізації. Якщо кільцева шина пам'яті використовується усередині чипа, то завдяки спрощенню розводки (шина розміщується по периметру кристала), вона здешевлює чип і менш схильна до нагріву. Як наслідок, кільцева шина може працювати на вищих тактових частотах. По-четверте, дані, що передаються, проходять по всій кільцевій шині і повертаються назад до початкового блока і при цьому передані дані можуть читатися вузлом, який перевіряє правильність їх передачі. Таким чином, застосування кільцевих шин при побудові розподілених комп'ютерних систем є актуальним. Доказом тому є застосування кільцевих шин в різних модифікаціях графічних процесорів високої продуктивності серій ATI Radeon X1000, X1300, Х1600, Х1800, ATI Radeon HD 2000 та ін., що випускаються зарубіжними фірмами (Сергій Пахомов. "Современные видеокарты для ПК" /КомпьютерПресс 2005, № 12, а также: Дмитрий Чеканов. Radeon X1300, Radeon X1600 и Radeon X1800: доступ http://www.thg.ru/graphic/20051006/index.html). Кожен з цих процесорів, побудований з використанням кільцевих шин, містить складний перехресний перемикач запису (write crossbar switch), а також, так звані, блоки кільцевої зупинки (ring stop), розміщені на кільцевих шинах. При виконанні простих операцій читання або запису даних, інформація двічі проходить через складний перехресний перемикач (crossbar switch) і не 1 UA 112237 U 5 10 15 20 25 30 35 40 45 50 55 60 менше чотирьох раз через блоки ring stop, збільшуючи тим самим мінімально можливий час доступу до пам'яті. Відомий пристрій "Distributed shared memory multiprocessor system based on a unidirectional ring bus using a snooping scheme". Автори: Jhang; Seong Tae, Jhon; Chu Shik, Kim; Hyung Ho (патент США № 6,253,292, клас США: 711/146; 709/218; 711/148; 711/E12.025. Міжнародний клас: G06F 12/08 (20060101); G06F 012/00. Недоліки цього пристрою визначаються застосуванням великої кількості додаткового обладнання і відповідних програмних засобів, включаючи віддалений КЕШ даних і віддалені КЕШ теги, контролер вузла з відповідними додатковими функціями, а також блоки пам'яті для зберігання ознак (тегів) для локальної пам'яті процесорного вузла, що розділяється. В результаті, процедура виконання операції читання або запису в такій системі з підтримкою когерентності КЕШа є громіздкою і тривалою за часом, оскільки включає процедури звернення до віддалених КЕШ даних і КЕШ тегів, процедури аналізу стану блоків пам'яті кожного процесора і процедури формування процесорами необхідних пакетів запиту, пакетів підтвердження запитів і відповіді на запити. Відома також система пам'яті, що містить багаторівневий двоточковий (point-to-point) кільцевий інтерфейс пам'яті Multi-tier point-to-point ring memory interface". Автори: Bonella; Randy M., Halbert; John В. (Патент США № 6,658,509. Клас США: 710/100; 370/223; 710/300. Міжнародний клас: G06F 13/42 (20060101); G06F 013/00; G01R 031/08. Пристрій має наступні недоліки. Оскільки використовується двоточкова кільцева шина з множиною М підключених до неї модулів пам'яті, представлена у вигляді послідовного з'єднання вхідних і вихідних портів всіх модулів, так що при зверненні до модуля N з пам'яті М затримка сигналу звернення до пам'яті визначається його послідовним проходженням по кільцевій шині через 2N портів модулів пам'яті в одному напрямі (наприклад, за годинниковою стрілкою) і орієнтовно через 2(М-N) портів в іншому напрямі (проти годинникової стрілки). При використанні кільцевих шин аналогічного типу усередині кожного модуля пам'яті (другий рівень кільцевої шини) затримка при зверненні до пам'яті другого рівня істотно збільшується. Так для системи пам'яті, що складається лише з одного модуля пам'яті першого рівня і одного модуля пам'яті другого рівня і що використовує кільцеві шини відповідно першого і другого рівнів, операція читання або запису даних за запитом від хост-машини через первинний контролер пам'яті може бути виконана не менше, ніж за 10 тактів процесора. При цьому повинні бути виконані різні команди (зчитування, запису, пересилки адреси і даних і ін.) не менш ніж 20 раз. Крім того, збільшення часу затримки сигналу при зверненні до кожного доданого до кільцевої шини модуля пам'яті пропорційне логарифму від загальної кількості модулів, що обмежує масштабованість системи пам'яті. Оскільки кільцеві шини різних рівнів пристрою представлені у вигляді шлейфового (послідовного) з'єднання вхідних і вихідних портів кожного модуля відповідного рівня і при зверненні до одного модуля пам'яті фактично ініціалізуються всі порти модулів цього рівня (при передачі інформації за годинниковою і одночасно проти годинникової стрілки), що залишилися, то одночасне звернення до декількох модулів пам'яті цього рівня за даними і, отже, їх паралельна обробка практично неможлива. Реалізація одночасного зчитування або запису даних при зверненні до модулів пам'яті різних рівнів призводить до невиправданого ускладнення апаратури, а також використання алгоритмів синхронізації і передачі даних. Таким чином, пристрій має низьку швидкодію через великі затримки часу при проходженні сигналів до відповідних входів модулів пам'яті при виконанні операцій зчитування або запису даних, виключає можливість одночасного звернення до пам'яті за декількома даними або для паралельного запису масиву даних, має обмежені властивості масштабованості при нарощуванні ємності пам'яті і створює технологічні труднощі при розміщенні великої кількості шин (сигнальних ліній) усередині кожного модуля пам'яті і системи пам'яті у цілому. Найбільш близьким технічним рішенням по структурі, складу блоків і виконуваним функціям є "Інтелектуальна розподілена система пам'яті з кільцевою шиною". Автори: Палагін О.В., Яковлев Ю.С., Тихонов Б.М., Єлісєєва О.В. Патент України № 99164. Клас UA: С2, Міжнародний клас: G06F 15/16, G06F 13/42. Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами містить системний контролер пам'яті, множину з N блоків інтелектуальної пам'яті (БІП), кільцеву шину, що складається з кільцевої шини даних і кільцевої шини управління, блок управління кільцевою шиною, локальну шину даних, системний ввід/вивід даних, системний ввід/вивід управляючих сигналів, n керованих секторних роздільників кільцевої шини на n секторів, загальні для кільцевої шини даних і кільцевої шини управління, вузол управління секторними роздільниками, блок службових функцій системи пам'яті, сполучені між собою відповідними зв'язками. При 2 UA 112237 U 5 10 15 20 25 30 35 40 45 50 55 60 цьому до кожного сектора підключений секторний набір, причому перші вводи/виводи кожного блока інтелектуальної пам'яті сполучені з кільцевою шиною даних відповідного сектора, другі вводи/виводи кожного блока інтелектуальної пам'яті сполучені з кільцевою шиною управління відповідного сектора, треті вводи/виводи кожного блока інтелектуальної пам'яті сполучені з локальною шиною даних. Вузол управління секторними роздільниками містить n дворозрядних регістрів, розділених на n/2w лінійок, кожна лінійка містить w регістрів, де n кількість секторних роздільників, розрядність (n+1)-го вводу/виводу вузла управління секторними роздільниками рівна (2w+4), n тригерів, розділених на n/2w лінійок, кожна лінійка містить 2w тригерів, перший, третій і четвертий набори з 2w схем "І", другий набір з n схем "І", набір з (n-4w) схем 2 "І"-"АБО", розділених на (n-4w)/2w лінійок, (n+1) вводів/виводів вузла управління секторними роздільниками. Кожен секторний роздільник системи містить перший (d+e) розрядний регістр, другий дворозрядний регістр, набір схем 2 "I"-"АБО", що містить (d+e) елементів, набір схем "І", що містить 2(d+e) елементів, де d - розрядність шини даних, e-розрядність шини управління, п'ять вводів/виводів секторного роздільника, при цьому всі компоненти секторного роздільника сполучені між собою і з кільцевою шиною управляючих сигналів, а також кільцевою шиною даних відповідними зв'язками. Блок службових функцій містить вузол управління службовими функціями системи пам'яті, вузол розподілу адресного простору всієї пам'яті системи по блоках інтелектуальної пам'яті (БШ), вузол розміщення даних по розподілених адресних просторах БІП, вузол розділення програми користувача на частини і розміщення їх по процесорах БІП, перший інтерфейс для вводу/виводу даних і кодів адреси, другий інтерфейс для вводу/виводу управляючих сигналів. При цьому всі елементи блока службових функцій сполучені між собою відповідними зв'язками. Дана інтелектуальна система пам'яті має наступні недоліки: По-перше, в ній забезпечена можливість паралельної обробки інформації секторними наборами тільки на одному рівні (наприклад, окремих фрагментів алгоритму, який реалізується користувачем), що досягається при блокуванні секторних роздільників від впливу процесів обробки в секторах зліва і справа тільки однієї кільцевої шини. По-друге, не використаний один з основних принципів організації кільцевої шини, який передбачає можливість зменшити кількість провідників кільцевої шини практично в два рази за рахунок передачі частині даних за годинниковою стрілкою, а іншої частині - проти годинникової стрілки до їх стикування при використанні відповідної синхронізації. Це дозволяє підвищити частоту передачі і відповідно продуктивність, а також зменшити площу, зайняту кільцевою шиною на кристалі. По-третє, кожний роздільник кільцевої шини і блок управління роздільниками є достатньо складними і містять безліч логічних схем і схем пам'яті, сполучених великою кількістю зв'язків. Це приводить до значних затримок при проходженні інформації від одного роздільника до іншого і займає чималу площу кристала при розміщенні цих схем на одному кристалі. В основу інтелектуальної розподіленої системи пам'яті з ієрархічними кільцевими шинами, яка пропонується, поставлена задача підвищення продуктивності і спрощення окремих вузлів і блоків, що досягається уведенням додатково до підсистеми інтелектуальної пам'яті першого рівня (ПІП-1) підсистеми інтелектуальної пам'яті другого рівня (ПІП-2), а також уведенням блока управління взаємодією інтелектуальних підсистем пам'яті різних рівнів (БУВ), а також замінені роздільники в ПІП-1 і в ПІП-2 на простіші у виконанні схемотехніки, замінена схема секторного набору, що забезпечує можливість зменшення кількості провідників кільцевої шини практично в два рази за рахунок передачі частини даних за годинниковою стрілкою, а іншої частини - проти годинникової стрілки, а в блок службових функцій додатково включені вузол синхронізації внутрішніх процесів кільцевої шини і вузол інтерфейсу для зв'язку з кільцевою шиною даних, а блок управління кільцевими шинами містить вузли, що виробляють сигнали управління для аналізу управляючого пакета, запису даних і їх передачі по кільцевій шині за годинниковою стрілкою або проти годинникової стрілки. Тим самим забезпечується можливість паралельної обробки інформації на двох рівнях, наприклад, на ПІП-1 можна паралельно виконувати на множині секторних наборів множину підпрограм, а на ПІП-2 виконувати множину фрагментів підпрограми, забезпечивши при цьому підвищення продуктивності. Наприклад, стосовно РІМсистеми при розпаралелюванні програми користувача на двох рівнях в порівнянні з класичною однорівневою РІМ-системою з одним провідним процесором і множиною процесорних елементів (процесорних ядер) можна отримати підвищення продуктивності всієї інтелектуальної системи пам'яті в декілька десятків раз. (Яковлев Ю.С. Об оценке эффективности применения ПЛИС в составе РІМ-систем // Управляющие системы и машины. - № 1. - 2016. - С. 56-61). 3 UA 112237 U 5 10 15 20 25 30 35 40 45 50 55 60 Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами наведена на фіг. 1. Вона містить підсистему інтелектуальної пам'яті першого рівня (ПІП-1), до складу якої входять системний контролер пам'яті 1, блок службових функцій 2, кільцева шина 3, що складається з кільцевої шини даних 4 і кільцевої шини управління 5, блок управління кільцевою шиною 6, локальна шина даних 7, ведучий процесор з КЕШ-пам'яттю 8, системні вводи/виводи даних 9, системні вводи/виводи управляючих сигналів 10, n керованих секторних роздільників 11 кільцевої шини на n секторів 12, загальні для кільцевої шини даних і кільцевої шини управління, при цьому множина з N блоків інтелектуальної пам'яті розділяється також на секторні набори 13, кількість яких визначається як (n-1), кількість блоків інтелектуальної пам'яті в кожному секторному наборі визначається як N/(n-1), при цьому перші вводи/виводи і-го секторного роздільника сполучені з і-м сектором кільцевої шини даних, другі вводи/виводи сполучені з (і+1)-м сектором кільцевої шини даних, треті вводи/виводи сполучені з і-м сектором кільцевої шини управління, четверті вводи/виводи сполучені з (і+1)-м сектором кільцевої шини управління, де 1іn, кожне j-й ввід/вивід вузла управління секторними роздільниками 14 сполучений з п'ятим вводом/виводом відповідного j-гo секторного роздільника, де 1jn, (n+1) вводи/виводи сполучені з третіми вводами/виводу блока управління кільцевою шиною 6, перші вводи/виводи якого сполучені з кільцевою шиною даних першого сектора, другі його вводи/виводи сполучені з кільцевою шиною управління першого сектора, перші вводи/виводи кожного m-го блока інтелектуальної пам'яті, де 1mN/(n-1), в кожному k-му секторному наборі 13 сполучені з відповідним k-м сектором кільцевої шини даних, другі вводи/виводи сполучені з відповідним k-м сектором кільцевої шини управління, де 1kn-1. Перші вводи/виводи блока службових функцій 2 сполучені з кільцевою шиною даних першого сектора, другі вводи/виводи сполучені з кільцевою шиною управління першого сектора, третій ввід/вивід сполучений з другим виходом локальною шиною даних, четверті вводи/виводи системного контролера сполучені з кільцевою шиною даних першого сектора, п'яті вводи/виводи сполучені з кільцевою шиною управління першого сектора. ПІП-2 також містить системний контролер пам'яті 15, блок службових функцій 16, ведучий процесор 17, кільцеву шину 18, що складається з кільцевої шини даних 19 і кільцевої шини управління 20 і 5 керованих секторних роздільників 21, загальних для обох шин і таких, що розділяють їх на Р секторів 22, блок управління кільцевою шиною 23, блок управління роздільниками 24, секторні набори 25, локальна шина даних 7, загальна для ПІП-1 і ПІП-2, системні вводи/виводи даних 26, системні вводи/виводи управляючих сигналів 27, які підключені відповідно до другого і першого входів/виходів системного контролера 15 ПІП-2. Множина з S блоків інтелектуальної пам'яті розділяється також на секторні набори 25, кількість яких визначається як (-1), кількість блоків інтелектуальної пам'яті в кожному секторному наборі визначається як S/(8-1), при цьому перші вводи/виводи j-го секторного роздільника сполучені з q-м сектором кільцевої шини даних, другий ввід/вивід сполучений з (q+1)-м сектором кільцевої шини даних, третій ввід/вивід сполучений з q-м сектором кільцевої шини управління, четвертий ввід/вивід сполучений з (q+1)-м сектором кільцевої шини управління, де 1q, кожний z-й ввід/вивід вузла управління секторними роздільникам 24 сполучений з п'ятим вводом/виводом відповідного -го секторного роздільника, де 1z, (z+1) вводи/виводи сполучені з третіми вводами/виводами блока управління кільцевою шиною 23, перші вводи/виводи якого сполучені з кільцевою шиною даних першого сектора, другі його вводи/виводи сполучені з кільцевою шиною управління першого сектора, перші вводи/виводи кожного блока інтелектуальної пам'яті в кожному k-му секторному наборі 25 сполучені з кільцевою шиною даних відповідного сектора, а його другі вводи/виводи сполучені з кільцевою шиною управління відповідного сектора, перші вводи/виводи блока службових функцій 16 сполучені з кільцевої шини даних першого сектора, другі вводи/виводи сполучені з кільцевою шиною управління першого сектора, треті вводи/виводи сполучені з п'ятим виходом локальною шиною даних ("Запуск службових функцій"), четверті вводи/виводи системного контролера 15 сполучені з кільцевою шиною даних першого сектора, п'яті вводи/виводи сполучені з кільцевою шиною управління першого сектора, а третій вхід системного контролера ПІП-2 підключений до відповідного шостого виходу локальної шини 7 ("Запуск ПІП-2"). При цьому БУВ включає блок управління рівнями 28, перший 29 і другий 30 інтерфейси для передачі даних і відповідно управляючих сигналів, між першими секторами кільцевих шин рівнів ПІП-1 і ПІП-2, а також два блоки синхронізації відповідно для даних 31 і управляючих сигналів 32 секторів кільцевих шин. Перший і другий виходи блока управління рівнями 28 підключені до першого входу інтерфейсу передачі даних 29 і відповідно - до першого входу інтерфейсу передачі управляючих сигналів 30, перші виходи яких сполучені відповідно з першим і другим входами даних і управляючих сигналів відповідного інтерфейсу для третього і інших рівнів 33, а 4 UA 112237 U 5 10 15 20 25 30 35 40 його третій вхід підключений до третього виходу блока управління рівнями 28, перший вхід якого підключений до четвертого виходу локальної шини 7 ("Передача інформації між рівнями"), а його п'ятий вихід підключений до першого входу першого блока синхронізації 31, другий вхід якого сполучений з третім виходом блока службових функцій 2 ПІП-1, а його другий вихід сполучений з другим входом інтерфейсу передачі даних між рівнями 29, треті входи/виходи якого підключені до шини даних першого сектора кільцевої шини ПІП-1, кільцева шина управління першого сектора якої сполучена з третіми входами/виходами інтерфейсу передачі між рівнями управляючих сигналів 30, другий вхід якого підключений до першого виходу другого блока синхронізації 32, другий вхід якого сполучений з третім виходом блока службових функцій 16 ПІП-2. Другі входи/виходи інтерфейсу передачі управляючих сигналів між рівнями 30 сполучені з кільцевою шиною управляючих сигналів першого сектора ПІП-2, кільцева шина даних першого сектора якої сполучена з четвертими вводами/виводами інтерфейсу передачі даних між рівнями. Не дивлячись на внесені зміни до складу окремих вузлів і блоків, а також застосування БУВ, що забезпечило в порівнянні з найближчим аналогом позитивний ефект, доцільно розглядати ПІП-1 і ПІП-2 ідентичними після внесення всіх змін. Тому для запобігання загромадженню тексту опису функціональні призначення, склад і відповідні зв'язки усередині вузлів і блоків, доцільно розглядати в основному, стосовно одного з рівнів, наприклад, ПІП-1. Системні контролери пам'яті 1 (ПІП-1) та 15 (ПІП-2) управляють роботою всієї інтелектуальної розподіленої системи пам'яті, забезпечуючи її використання як: - основної або додаткової пам'яті будь-якої комп'ютерної системи з реалізацією класичних функцій пам'яті запис, зберігання і читання інформації; - засобу обробки типу "Процесор-в-пам'яті" (Processor-in-memory") разом з пристроями пам'яті, що є усередині системи, з реалізацією функцій паралельної обробки як секторними наборами блоків інтелектуальної пам'яті, так і блоками інтелектуальної пам'яті усередині кожного секторного набору. Згідно з функціями, які визначені, а також методами використання ІРСП і режимами її роботи, системний контролер пам'яті 1 містить сполучені відповідними зв'язками мікропрограмний автомат (або мікропроцесор) з локальною пам'яттю, набір широких регістрів для тимчасового зберігання і аналізу управляючого пакета, схему для аналізу коду адреси, що надходить, для визначення "свого" звернення або звернення за межі пам'яті ІРСП, а також набір інтерфейсних схем для підключення системного контролера пам'яті через перші вводи/виводи до системних входів/виходів управляючих сигналів 10, через другі вводи/виводи - до системних входів/виходів даних 9, через третій вхід/вихід - до системного входу/виходу локальної шини 7, через четверті входи/виходи - до кільцевої шини даних 4 перших секторів і через п'яті входи/виходи - до кільцевої шини управляючих сигналів 5 першого сектора. В основу функціонування системного контролера 1 покладено керуючий системний пакет, який надходить від хост-машини на входи/виходи 1 через входи/виходи 10. При цьому системний контролер вибирає зі складу пакета потрібні коди полів, розшифровує їх і генерує необхідні сигнали управління, які він видає разом з даними, що надходять від хост-машини на входи/виходи 2 через входи/виходи 9, на кільцеву шину даних 4 і кільцеву шину управління 5. Приклад структури пакета, що містить необхідні коди полів, має наступний вигляд: . 45 50 При цьому прийняті наступні позначення: ССБ - поле системного і інших типів сигналів скидання тригерів; КЗсп - код поля запуску сервісних програм для виконання функцій: розподілу пам'яті і розміщення даних, розбиття завдання на паралельні фрагменти, формування нового управляючого пакета, запуску бібліотеки стандартних підпрограм, завантаження даних та ін.; КППр - код поля, що визначає передачу інформації між першим і другим рівнями; СДПоп - специфікатор дії пакета, що визначає типи логічних і арифметичних операції, які повинні бути виконані об'єктом-адресатом після отримання пакета; 5 UA 112237 U 5 10 15 20 25 30 35 40 45 50 55 60 ПД1 - поле значення параметрів (даних), які можуть використовуватися при виконанні поточної дії, або можуть бути частиною процесу, який переносить значення в наступні місцеположення; ПРреж - поле ознаки, що відображає характер і послідовність дій в різних режимах роботи системи пам'яті, зокрема - як звичайна пам'ять, а також як "Процесор-в-пам'яті"; ПРрес - поле ознаки використання ресурсів обробки інформації власної системи або додаткових ресурсів за рахунок інших систем, підключених через відповідні інтерфейси; КРкш - код для управління режимами роботи кільцевих шин (виділення секторних наборів БІП і відповідно секторів кільцевих шин для паралельної обробки, передачі по кільцевих шинах даних або команд, передачі інформації по кільцевих шинах за годинниковою стрілкою і проти годинникової стрілки та ін.) ККчип - код для управління комутацією усередині чипа (блока інтелектуальної пам'яті); ЧТв.адр - поле адреси для зчитування віддаленого, віртуального адресного звернення за межі системи; ПДм.чип - поле адреси для передачі блоків даних між чипами різних секторних наборів БІП; Пдоп - додаткові (допоміжні) поля, необхідні для надійного транспортування, виявлення помилок, маршрутизації і управління контекстом; ПДзав - завершальний елемент пакета - поле, що визначає подальші дії після закінчення виконання даного пакета, наприклад можуть бути створені один або більш дочірніх пакетів. Пакет може змінюватися по довжині, забезпечуючи таким чином ефективну обробку простих операцій з маленькими пакетами і ефективним використанням смуги пропускання для переміщення великих блоків даних. Інтерфейси пакета (послідовно-паралельні) представлені каналами для активного, керованого повідомленням, обчислення між БІП по кільцевих шинах. Пакети також можуть використовуватися для виконання операцій типу віддаленого завантаження або зберігання, а також для виклику методів обробки на іншій, аналогічній БІП, системі пам'яті, переміщаючи тим самим за допомогою пакетів методи обробки ближче до даних за менший час, чим дані (як завжди) передаються до них. Пакети дозволяють здійснювати розбиття або розщеплення операцій, забезпечуючи тим самим допустимий час очікування для всієї системи. Стосовно пропонованої системи інтелектуальної пам'яті (фіг. 1) управляючий пакет крім вказаних вище полів, містить поля і ознаки, що відображають послідовність дій та забезпечують налаштування ресурсів системи (П налаш) перед запуском її на розв'язання конкретної задачі, а також при необхідності перебудову ресурсів в процесі роботи. Слід зазначити, що склад полів управляючого пакета і розрядність кожного поля визначається типом і функціональними можливостями інтелектуальної розподіленої системи пам'яті (ІРСП), а також особливостями вирішуваних за допомогою ІРСП завдань. При цьому довжина (кількість розрядів) управляючого пакета, може дорівнювати довжині рядка, що зберігається в БІП даних (наприклад, 256 бітів), і тому пакети можуть бути збережені в рядку широких регістрів і оброблені безпосередньо арифметико-логічним пристроєм секторного набору. Кожен секторний набір (фіг. 2), в порівнянні з найближчим аналогом, має нові рішення схемотехніки і для першого ПІП-1 і другого ПІП-2 рівнів є ідентичними. Секторний набір містить: вузол пам'яті сектора 34, мультиплексор 35, демультиплексор 36, вузол регістрів 37, що містить регістри РгА, РгВ, РгС і PгD, контролер управління сектором 38, процесор сектора 39 і інтерфейс секторного набору 40. Секторний набір в даному складі призначений для запису, читання і зберігання даних, що надходять через вхід/вихід 1 БІП від/в відповідного сектора кільцевої шини 4 за наявності управляючих сигналів, що надходять через вхід/вихід 2 БІП від шини управління 5 ідентичного по номеру сектора кільцевої шини згідно з режимом роботи класичної пам'яті, а також режимом роботи типу "Процесор-в-пам'яті". При цьому кожен секторний набір 13 (фіг. 1) містить N/(n-1) блоків інтелектуальної пам'яті, де n - кількість секторів, а N - загальна кількість БІП. Блок інтелектуальної пам'яті (БІП), що входить до складу кожного секторного набору 13, призначений для запису і зберігання двох частин даних, що надходять через інтерфейс 40 (фіг. 2) і мультиплексор 35 за годинниковою стрілкою і проти годинникової стрілки з регістрів А і В на входи 4 вузлів пам'яті 34, реалізовуючи тим самим режим 1 під управлінням контролера сектора 38. У режимі 2 для обробки інформації по місцю її зберігання в пам'яті БІП, згідно з принципами організації РІМ-системи, процесорний елемент 39 по команді контролера 38 виконує операції над повнорозрядним кодом. Основні принципи побудови і роботи РІМ-систем відображені в публікації Палагин А.В., Яковлев Ю.С., Тихонов Б.М. Основные принципы построения вычислительных систем з архитектурою "Процессор-в-памяти" // Управляющие системы и 6 UA 112237 U 5 10 15 20 25 30 35 40 45 50 55 машины. 2004. - №5. - С. 30-37. Результат операції надходить або у вузол пам'яті 34, або безпосередньо на шину даних сектора двома частинами з розділенням за часом спільно з відповідними сигналами управління, які надходять на треті входи/виходи процесора 39 з шини управляючих сигналів сектора. При цьому з виходу 1 вузла пам'яті 34 частини кодів даних через демультиплексор 36 надходять на регістри РгС і PгD, з виходів яких ці частини кодів через інтерфейс 40 надходять на шину даних сектора для подальших передач по кільцевій шині даних за і проти годинникової стрілки. Блок службових функцій системи пам'яті (фіг. 3) першого ПІП-1 і другого ПІП-2 рівнів після внесення відповідних змін є ідентичними і призначені для розподілу ресурсів інтелектуальної системи пам'яті в цілому, включаючи розподіл всього адресного простору пам'яті по сумарній пам'яті ПІП-1 і ПІП-2, відповідного розміщення даних, розділення програм користувача по секторних наборах на паралельно виконувані частини і завантаження засобів обробки секторних наборів. При цьому блоки службових функцій 2 (ПІП-1) і 16 (ПІП-2) можуть працювати в двох основних режимах: режим 1 і режим 2. У режимі 1 цей блок здійснює початкове налаштування системних ресурсів для оптимального вирішення завдання користувача. У режимі 2 він здійснює безпосередньо розподіл ресурсів для роботи, а також при необхідності перерозподіл ресурсів в процесі роботи системи. При цьому алгоритми реалізації перерахованих вище функцій розподілу ресурсів за допомогою блока службових функцій в загальному випадку ґрунтуються на відомих способах. Наприклад, способи розподілу пам'яті РІМ-систем, які наведені в публікації: Яковлев Ю.С., Тихонов Б.М. Про распределение памяти в компьютерных системах // Управляющие системы и машины. - № 5. - 2006. - 3. 40 - 47. Основні способи розміщення даних описані в статті: Яковлев Ю.С., Тихонов Б.М. Про оптимизацию размещения данных в РІМ-системе// Математичні машини і системи. - № 3. - 2006. - С. 24 - 35. Способи розділення застосувань (програм користувача) на фрагменти, що паралельно реалізовуються, в РІМ-системі, описані в публікації: Яковлев Ю.С., Елісеева Е.В. Математическая модель и стратегия распределения приложений для интеллектуальной памяти распределенных компьютерных систем // Математичні машини і системи. - № 4. - 2009. - С. 3-17. Проте, якщо всі ці способи орієнтовані на чисто програмну реалізацію за допомогою спеціальних програмних пакетів, то стосовно пропонованої системи пам'яті (фіг. 1) кожна з функцій розподілу ресурсів розділяється на дві частини: одна частина, що стосується аналізу алгоритму розв'язуваної задачі і визначення його параметрів (типи і частота команд алгоритму, кількість одинарних і вкладених циклів, типи і характер взаємозв'язку операторів (сильнозв'язані, слабозв'язані, незв'язані та інші параметри) реалізується хост-машиною, і отримані параметри надходять через локальну шину 7 на вхід/вихід 3 блока службових функцій 2, де запам'ятовуються у спеціально відведеній для цього області пам'яті, що входить до складу блока 2. Друга частина реалізації службових функцій, що відноситься безпосередньо до алгоритмів розподілу пам'яті, розміщення даних і розділення додатків користувача перекладена на апаратно-програмні засоби спеціально виділених для цієї мети вузлів, що входять в блок 2. Таке розділення дозволяє більш оперативно реагувати на ефективність використання ресурсів при реалізації режиму 2 і, в першу чергу, - на баланс завантаження процесорів в кожному секторному наборі 13, що позитивно позначається на підвищенні продуктивності системи в цілому. Тому блок службових функцій в порівнянні з найближчим аналогом додатково містить інтерфейс для зв'язку з кільцевою шиною даних 43, вузол синхронізації внутрішніх процесів кільцевої шини 41, вузол управління зчитуванням і записом даних і програм 44. Тому перші входи вузла управління службовими функціями 42 підключені до відповідних шин управління першого сектора кільцевої шини ПІП-1, при цьому перші, другі, треті і четверті виходи вузла синхронізації внутрішніх процесів кільцевих шин 41 підключені відповідно до перших входів вузла управління читання/запису даних і програм 44, вузла розподілу адресного простору 45, вузла розподілу даних 46 і вузла розподілу програм користувача по процесорах 47. Перші, другі, треті і четверті виходи вузла управління службовими функціями сполучені відповідно з другими входами вузла управління читання/запису даних і програм, вузла розподілу адресного простору, вузла розподілу даних і вузла розподілу програм користувача по процесорах, перші виходи яких підключені відповідно до першого, другого, третього і четвертого входів інтерфейсу 48 для вводу/виводу управляючих сигналів перших секторів кільцевих шин, при цьому другі виходи вузла управління розподілом адресного простору 45, вузла розподілу даних 46 і вузла розподілу програм користувача по процесорах 47 сполучені відповідно з першими, другими і третіми входами інтерфейсу 49, а їх треті входи підключені до перших виходів інтерфейсу для зв'язку з кільцевою шиною даних 43, перші входи якого підключені до 7 UA 112237 U 5 10 15 20 25 30 35 40 45 50 55 60 кільцевої шини даних першого сектора, а його другі входи сполучені з п'ятим виходом вузла синхронізації внутрішніх процесів кільцевої шини. Блоки управління кільцевою шиною 6 для ПІП-1 і 23 для ПІП-2 (фіг. 1, фіг. 4) призначені для управління відповідними кільцевими шинами при передачах по них інформації, що надходить на кільцеву шину з блоків службових функцій 2 і 16, системних контролерів пам'яті 1 і 15 в БІП при виконанні операції запису, або на кільцеву шину з БІП будь-якого секторного набору при виконанні операції читання і передачі отриманих даних на перший сектор кільцевої шини і далі на відповідні входи/виходи системного контролера і системного блока службових функцій. При цьому кожен блок 6 і 23 виконує наступні функції: - фіксацію (наприклад, у вигляді відповідних індексів або табличного опису) компонентів і зв'язків кільцевої шини з вказівкою кількості секторних роздільників і секторів з виділенням першого сектора кільцевої шини для зв'язку з системним контролером пам'яті і системним блоком службових функцій, ведучим процесором, а решти секторів - з відповідними секторними наборами БТП; - управління режимом передачі, коли всі секторні роздільники відкриті для передачі по кільцевій шині інформації від кожного попереднього сектора до кожного подальшого і навпаки; - управління адресним режимом передачі інформації, коли відкриті секторні роздільники тільки на шляху передачі інформації або з одного секторного набору БІП в іншій, або з секторного набору БІП в перший сектор кільцевої шини і далі на відповідні входи блоків; - управління режимом секторного блокування, коли один або декілька секторів кільцевої шини у відповідності з адресною зоною секторних наборів БІП блокуються секторними роздільниками від інших секторів шини, надаючи тим самим можливість виділеним (заблокованим) секторним наборам БІП паралельно виконувати приписані їм частини алгоритмів; - створення сигналу опорної синхронізації, який надходить з виходу 3 блока 2 ПІП-1 на вхід 2 вузла синхронізації 31 БУВ, а також з виходу 3 вузла 16 ПІП-2 на вхід 2 вузла синхронізації 32 при передачі інформації з ПІП-1 на ПІП-2 і навпаки. При реалізації вказаних функцій блок управління кільцевою шиною 6 для ПІП-1 і 23 для ПІП2 використовує наступні поля управляючого пакета, які виділені системними контролерами пам'яті 1 і 15 та передані на його другі входи/виходи через перший сектор кільцевої шини управління: КРкш, ПРреж, КЗсп, ККМ/чип, ПД М.чип, Пдоп і їх комбінації. Таким чином, виходячи з набору функцій, що підлягають реалізації, блок управління кільцевою шиною містить наступні компоненти, сполучені відповідними зв'язками: - таблицю параметрів кільцевої шини, що ідентифікують структуру кільцевої шини з вказівкою розрядності шини даних, шини управління, кількості секторів, на які розділена кільцева шина, кількості секторних роздільників, кількості секторних наборів БІП і кількості БІП в кожному секторі з вказівкою адресного простору ємності пам'яті кожного БІП і сектора в цілому; - набір регістрів КЕШ-пам'яті для зберігання кодів полів КРкш, ПРреж, КЗсп, ККМ/чип, ПД М.чип, Пдоп і їх комбінацій; - вузол аналізу і обробки кодів полів регістрів КЕШ-пам'яті, а також вхідних управляючих сигналів, що надходять на другі входи/виходи системного блока управління 6 з кільцевої шини управління 5 першого сектора; - вузол формування кодів управляючих сигналів по кодах адреси і оброблених кодах полів управляючого пакета для реалізації перерахованих вище режимів роботи кільцевої шини, при цьому коди управляючих сигналів надходять з третього входу/виходу блока управління кільцевою шиною 6 на (n+1)-і входи/виходи вузла управління 14 секторними роздільниками 11, а коди адреси - з першого сектора кільцевої шини даних 4 на перші входи/виходи системного блока управління кільцевою шиною 6; - інтерфейсні схеми для зв'язку системного блока управління 6 з кільцевою шиною даних і кільцевою шиною управління першого сектора кільцевої шини. Блок управління кільцевою шиною (фіг. 4) першого ПІП-1 другого ПІП-2 рівнів (після внесення відповідних змін) ідентичні та містять інтерфейс 50 з кільцевою шиною першого сектора, вузол керування синхронізацією 51, вузол аналізу й обробки керуючого пакета 52, вузол керування системою скидання тригерів 53, вузол керування читанням/записом інформації 54, вузол керування передачею інформації в (n-1) роздільник 55 , вузол керування передачею інформації в (n+1) роздільник 56, вузол керування записом інформації в третій стовпець тригерів n-го роздільника 57, при цьому перші й другі входи інтерфейсу 50 з'єднані відповідно з кільцевою шиною керування й кільцевою шиною даних першого сектора. Перший вихід інтерфейсу з'єднаний з першим входом вузла синхронізації 51, перший, другий, третій і четвертий виходи якого підключені відповідно до перших входів вузла керування 8 UA 112237 U 5 10 15 20 25 30 35 40 45 50 55 60 читанням/записом інформації 54, вузла керування передачею інформації в (q-1) роздільник 55, вузла керування передачею інформації в (n+1) роздільник 56, вузла керування записом інформації в третій (тригерний) стовпець n-го роздільника 51, п'ятий вихід вузла керування синхронізацією підключений до першого входу вузла аналізу і обробки керуючого пакета 52, другий вхід якого з'єднаний із другим виходом інтерфейсу, перший, другий, третій і четвертий виходи вузла аналізу й обробки керуючого пакета 52 підключені відповідно до других виходів вузла керування читанням/записом інформації, вузла керування передачею інформації в (n-1) роздільник, вузла керування передачею інформації в (n+1) роздільник, вузла керування записом інформації в третій (тригерний) стовпець n-го роздільника, перший вихід вузла керування сигналами скидання з'єднаний із третім входом вузла керування читанням/записом, а його другі, треті й четверті виходи з'єднані відповідно із третіми входами вузла керування передачею інформації в (n-1) роздільник, вузла керування передачею інформації в (n+1) роздільник, вузла керування записом інформації в третій (тригерний) стовпець n-го роздільника, виходи яких підключені до відповідних входів роздільника q-го сектора, при цьому шостий вихід вузла керування синхронізацією 51 з'єднаний з першим входом вузла керування сигналами скидання тригерів 53, другий вхід якого підключений до п'ятого виходу вузла аналізу й обробки керуючого пакета 52. Кожен секторний роздільник ПІП-1 і ПІП-2 (фіг. 5) представлений у вигляді матриці 57 елементів схем, що містить перший стовпець елементів "2 І", другий стовпець елементів "3 І", третій стовпець - схем тригерів "Tгj", четвертий стовпець елементів "3 І ", п'ятий стовпець елементів "2 І", а також додатковий рядок схем тригерів 58 з елементами "2 І", при цьому кількість рядків матриці елементів визначена кількістю розрядів кільцевої шини даних і кільцевої шини управління. Перші входи всіх тригерів сигналів управління стовпця схем тригерів сполучені між собою і підключені до відповідного виходу вузла управління секторними роздільниками 14 і 24, перші входи всіх тригерів сигналів даних стовпця схем тригерів сполучені між собою і підключені до відповідних виходів вузла управління секторними роздільниками 14 і 24, другі входи тригерів стовпця схем тригерів сполучені між собою і підключені до відповідного входу (сигнал "Дозвіл читання/запису") вузла управління секторними роздільниками, а треті входи всіх тригерів (сигнал "Скидання") також сполучені між собою і підключені до відповідних виходів вузла управління секторними роздільниками, другі входи елементів "3 І" другого і окремо четвертого стовпців в кожному стовпці сполучені між собою і підключені до відповідних виходів елементів "2 І", що належать відповідно другому і четвертому стовпцям додаткового рядка тригерів, перші входи яких сполучені з виходами відповідних тригерів додаткового рядка тригерів, другі входи яких сполучені з відповідними виходами (команда "Читання") вузла управління секторними роздільниками, вихід кожного тригера в стовпці схем тригерів кожного рядка сполучений з першим входом елемента "3 І" відповідного рядка другого стовпця і з першим входом елемента "3 І" того ж самого рядка четвертого стовпця, треті входи кожного елемента "3 І" другого стовпця і окремо четвертого стовпця сполучені і підключені до відповідного виходу елемента "2 І" додаткового рядка тригерів, перший вхід якого сполучений з виходом відповідного тригера додаткового рядка тригерів, а другий вхід підключений до відповідного виходу ("Дозвіл передачі") вузла управління секторними роздільниками, виходи елемента "3 І" кожного рядка другого стовпця сполучені з відповідними першими входами елементів "2 І" першого стовпця, другі входи яких сполучені і підключені до виходу відповідного елемента "2 І" додаткового рядка тригерів, перший вхід якого сполучений з виходом тригера додаткового рядка тригерів, другий вхід якого підключений до відповідного виходу вузла управління секторними роздільниками ("Передача інформації від n-го роздільника наліво до (n+1)-го роздільника"). Виходи елемента "3 І" кожного рядка четвертого стовпця сполучені з відповідними першими входами елемента "2 І" п'ятого стовпця, другі входи яких сполучені і підключені до відповідного виходу елемента "2 І" додаткового рядка тригерів, перший вхід якого сполучений з виходом відповідного тригера додаткового рядка тригерів, другий вхід якого сполучений з відповідним виходом ("Передача інформації від n-го роздільника направо до (n-1)го роздільника") вузла управління секторними роздільниками 14, при цьому кожен вихід елемента "2 І" першого стовпця і кожен вихід елемента "2 І" п'ятого стовпця підключені відповідно до кільцевої шини даних і шини управління (n+1) і (n-1) роздільників, другі входи всіх елементів "2 І" додаткового рядка тригерів сполучені з відповідним виходом ("Сигнал синхронізації") блока управління кільцевою шиною, а треті входи всіх тригерів з першого по п'ятий додаткового рядка тригерів сполучені з відповідними виходами (сигнали "Скидання") вузла управління роздільниками 14. Вузол управління секторними роздільниками 14 у складі ПІП-1 і вузол управління секторними роздільниками 24 у складі ПІП-2 призначені для формування сигналів управління (у 9 UA 112237 U 5 10 відповідність з режимами роботи системи) секторними роздільниками 11 і 21 під час находження відповідної інформації з входів/виходів 3 вузлів управління кільцевими шинами 6 (ПІП-1) і 23 (ПІП-2) на входи/виходи (n+1) відповідних вузлів управління секторними роздільниками. Сформовані в певній послідовності сигнали управління надходять на п'яті входи відповідних роздільників 11 і 21, забезпечуючи при цьому необхідний набір сигналів для реалізації конкретних режимів обробки і передачі кодів адреси, даних сигналів управління. Приклади окремих типів управляючих сигналів наведені в таблиці 1. При цьому крім управляючих сигналів, що виробляються контролерами інтелектуальної розподіленої системи пам'яті, використовуються наступні основні системні сигнали. Таблиця 1 Основні системні управляючі сигнали, які використовуються при роботі ІРСП № сигналу Функціональне призначення сигналу 1 2 3 Запуск ведучого процесора 8 у складі ПІП-1 Запуск блока службових функцій 2 у складі ПІП-1 Запуск системного контролера 1 у складі ПІП-1 Запуск блока управління (БУВ) підсистем пам'яті ПІП-1 і ПІП-2 Запуск блока службових функцій 16 у складі ПІП-2 Запуск системного контролера 15 у складі ПІП-2 Запуск ведучого процесора 17 у складі ПІП-2 Дозвіл зчитування/запису для додаткового рядка тригерів роздільника Вхідні/вихідні сигнали даних на перших вводах/виводах системного контролера 1 у складі ПІП-1 Вхідні/вихідні управляючі сигнали на других вводах/виводах системного контролера 1 у ПІП-1 Сигнали синхронізації роздільників 11 і 21 шин ПІП-1 і ПІП-2 Передача інформації по кільцевій шині проти годинникової стрілки (вліво) Команда "Зчитування" Дозвіл/блокування передачі інформації по кільцевих шинах Передача інформації по кільцевій шині за годинниковою стрілкою (вправо) Сигнал скидання Tгj СТОВПЦЯ тригерів роздільника ПІП1 і ПІП-2 Сигнал скидання Tг1e додаткового рядка тригерів Сигнал скидання Тг2с додаткового рядка тригерів Сигнал скидання Тг3с додаткового рядка тригерів Сигнал скидання Тг4с додаткового рядка тригерів Сигнал скидання Тг5с додаткового рядка тригерів Сигнал дозволу на запис управляючих сигналів в стовпець тригерів роздільника Сигнал дозволу на запис даних в стовпець тригерів роздільника Сигнал запуска секторних процесорів ПІП-1 і ПІП-2 -------------------------------------------------------------------------------Вхідні/вихідні сигнали даних на других вводах/виводах системного контролера 15 у складі ПІП-2 Вхідні/вихідні управляючі сигнали на перших вводах/виводах системного контролера 15 у складі ПІП-2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 --------28 29 10 Звідки надходить сигнал Від хост-машини Від хост-машини Від хост-машини Від хост-машини Від хост-машини Від хост-машини Від хост-машини Від вузлів 14 і 24 Від хост-машини Від хост-машини Від вузлів Ні 24 Від вузлів 14 і 24 Від вузлів 14 і 24 Від вузлів 14 і 24 Від вузлів 14 і 24 Від вузлів 14 і 24 Від вузлів 14 і 24 Від вузлів 14 і 24 Від вузлів 14 і 24 Від вузлів 14 і 24 Від вузлів 14 і 24 Від вузлів 14 і 24 Від вузлів 14 і 24 Від вузлів 14 і 24 ---------------------------Від хост-машини Від хост-машини UA 112237 U 5 10 15 20 25 30 35 40 45 50 55 60 Ведучий процесор 8, що входить до складу ПІП-1 з пам'яттю, а також процесор 17, що входить до складу ПІП-2 з пам'яттю, призначені для зберігання і попереднього аналізу даних, кільцевих шин ПІП-1 і ПІП-2, що знаходяться в першому секторі, а також для зберігання методів розподілу адресного простору, розподілу даних по відповідних адресах і методу розподілу застосувань по процесорах, які під час надходження відповідних команд, що пересилають у відповідні блоки службових функцій ПІП-1 і ПІП-2 для реалізації цих функцій. Крім того, ці процесори використовуються при необхідності читання довгих слів (наприклад, 256 бітів) з пам'яті різних секторних наборів. При вимогах до великої ємності пам'яті для цих процесорів вони можуть бути винесені за межі чипа у вигляді самостійного виробу. Таким чином, застосування ПІП-2 спільно з БУВ, а також модифікація вузлів і блоків системи забезпечують в порівнянні з аналогами підвищення продуктивності ІРСП в цілому при одночасному підвищенні завадостійкості і скороченні займаної на кристалі площі при виконанні такої системи на одному кристалі, наприклад, на ПЛІС. Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами працює таким чином. При цьому вона може працювати в чотирьох режимах: Режим 1. Він включає два етапи: етап підготовки і етап безпосередньої паралельної реалізації програми користувача одночасно на двох рівнях з використанням ПІП-1 і ПІП-2. На етапі підготовки за допомогою блока службових функцій 2 відбувається розподіл адресного простору для всієї системи по двох рівнях, розміщення даних в області адресного простору ПІП1, а також розміщення підпрограм (або крупних фрагментів програми) по пам'яті секторних наборів з урахуванням балансу завантаження процесорних елементів кожного сектора ПІП-1. Далі кожну підпрограму з першого сектора кільцевої шини ПІП-1 передають через блок управління рівнями БУВ в певній послідовності, зафіксованій в загальному алгоритмі реалізації програми, на перший сектор кільцевої шини ПІП-2, де за допомогою блоків службових функцій 2 і 16 відбувається розділення адресного простору по секторах, розміщення даних і розподіл фрагментів кожної підпрограми між пам'яттю секторних наборів ПІП-2 з урахуванням балансу завантаження процесорних елементів кожного сектора ПІП-2. На другому етапі першого режиму роботи відбувається безпосередня реалізація програми користувача із застосуванням паралелізму на двох рівнях ПІП-1 і ПІП-2. При цьому результати обробки надходять через перший сектор кільцевої шини ПІП-1 і далі через вводи/виводи 2 і 1 системного контролера 1, що входить до складу ПІП-1, а також через перший сектор кільцевої шини ПІП-2 і далі через вводи/виводи 1 і 2 системних контролерів 1 і 15. Розглянемо докладніше процеси, що протікають при реалізації режиму 1. Оскільки решта режимів є в основному окремими випадками першого режиму, то обмежимося тільки їх короткими коментарями. У початковому стані при виконанні режиму 1 системний пакет, сформований хост-машиною, дані, відповідні системні набори управляючих сигналів, а також програми, що реалізовують методи розподілу адресного простору, розміщення даних і розподілу підпрограм (крупних фрагментів програм) розміщені або в пам'яті хост-машини, або в пам'яті (за наявності достатньої ємності пам'яті) ведучих процесорів 8 (ПІП-1) і 17 (ПІП-2). Крім того, всі тригери ІРСП повинні знаходитися в скинутому (нульовому) стані. Переважним є другий варіант, оскільки інтелектуальна розподілена система пам'яті (ІРСП) в цілому може використовуватися як додаток до ЕОМ, що розширює її функціональні можливості і продуктивність при вирішенні задач користувача. Робота ІРСП починається з подачею з 1-го, 2-го і 3-го виходів локальної шини хост-машини сигналів запуску на відповідні треті входи ведучого процесора 8, блока службових функцій 2 і системного контролера 1, а також одночасно системного пакета від хост-машини з входів/виходів 10 на входи/виходи 1 системного контролера 1 (ПІП-1) з повним набором кодів його полів, який запам'ятовується в "широких" регістрах системного контролера 1 (див. табл.1), а також даних на другі входи/виходи системного контролера. Системний контролер 1 виділяє з системного пакета коди наступних полів КЗСП, ПД1, ПРреж., ПРрес., КРкш., розшифровує їх і виробляє відповідні управляючі сигнали, які через кільцеву шину управляючих сигналів 5 надходять на входи/виходи 2 блока службових функцій 2. При цьому, оскільки тригери додаткового рядка тригерів секторних роздільників (фіг. 5) знаходяться в нульовому ("скинутому") стані, то проходження сигналів з першого сектора в інші сектори заблоковане. Системний контролер формує сигнали для виконання наступних функцій: КЗ СП = (розділення адресного простору пам'яті, розміщення даних, розміщення підпрограм по секторних наборах); ПД1 = (значення даних); ПРреж = (режим: "Процесор-в-пам'яті"); ПРрес = (використовуються тільки внутрішні ресурси ІРСГТ); КРКШ = передача по кільцевих шинах даних і команд). Ці сигнали з кільцевої шини управління 5 першого сектора надходять на другі входи 2 блока управління 11 UA 112237 U 5 10 15 20 25 30 35 40 45 50 55 60 кільцевими шинами 6, який аналізує їх і виробляє в певній послідовності набір управляючих сигналів (фіг. 4), які надходять на входи 5 секторних роздільників, забезпечуючи тим самим проходження інформації до кожного сектора від блока 2 на кільцеві шини ПІП-1 після реалізації своїх службових функцій (фіг. 3) і при необхідності відбувається її запам'ятовування в секторній пам'яті. Для цього вузол управління 14 секторними роздільниками за інформацією, переданою з входів/виходів 3 вузла 6 формує управляючі сигнали, функціональні призначення яких відображені в таблиці 1 на позиціях 11, 14-29, а також при цьому на входах 9 і 10 системного контролера 1 повинні бути присутніми сигнали даних, та управляючі сигнали (табл. 1, позиції 9 і 10). Одночасно з видачею інформації з вузла 2 на кільцеві шини 4 і 5 системний контролер 1 аналізує код поля КПпур і видає через ввід/вивід 1 відповідну інформацію хост-машини, яка виробляє сигнал запуску БУВ, що надходить з виходу 4 локальних шини 7 на перший вхід вузла управління рівнями 28. При цьому сигнали даних та управляючі сигнали з кільцевих шин 4 і 5 ПІП-1 через інтерфейси БУВ 29 і 30 надходять відповідно на кільцеві шини даних 19 і управляючих сигналів 20 ПІП-2 за наявності сигналів опорної синхронізації з виходу 3 вузли 2 ПІП-1 на вхід 2 вузли 31 БУВ, а також з виходу 3 вузли 16 на вхід 2 вузли 32 БУВ. Необхідність застосування у складі БУВ двох вузлів опорної синхронізації 31 і 32 продиктовано, перш за все, передачею між рівнями даних по частинах, а також синхронізованим отриманням на входах/виходах 9 і 26 результатів обробки програми користувача. Далі відбуваються процеси запуску і виконання процедур для ПІП-2, які є аналогічними процесам запуску і процедурам, описаним вище для ПІП-1, за винятком того, що сигнали даних і управляючі сигнали вже передані з ПІП-1 на кільцеві шини першого сектора ПІП-2, після розподілу їх по секторних наборах ПІП-1 для паралельного їх виконання. При цьому дані (підпрограми), що розпаралелюють, передають від ПІП-1 через БУВ до ПІП-2 від кожного секторного набору ПІП-1. Блок службових функцій 16 у складі ПІП-2 розділяє отриману від кожного секторного набору ПІП-1 інформацію (підпрограму) на фрагменти, розподіляє їх по секторних наборах ПІП-2 для подальшого паралельного виконання. Таким чином, після закінчення етапу підготовки в режимі 1 повинні бути представлені: - розділені по секторних наборах ПІП-1 підпрограми (крупні фрагменти програми користувача) для їх паралельної реалізації (перший рівень); - розділені по секторних наборах ПІП-2 фрагменти підпрограм (крупних фрагментів програм) для їх паралельної реалізації (другий рівень); - способи і засоби організації паралельного обчислювального процесу з використанням ієрархічних кільцевих шин; - способи представлення і видачі отриманих результатів при розпаралелюванні обчислювального процесу на двох ієрархічних рівнях. На другому етапі режиму 1 подають сигнал запуску для кожного секторного процесора ПІП-1 і ПІП-2, який надходить на його входи/виходи 3 безпосередньо з кільцевої шини управління конкретного сектора (фіг. 2), і кожен секторний процесор 39 реалізує призначені йому функції блоками службових функцій 2 і 16. При цьому секторні роздільники 11 і 21 повинні бути заблоковані від передачі інформації від сусідніх секторів, наприклад, за допомогою сигналів скидання додаткового рядка тригерів 58 (фіг. 1, фіг. 2, фіг. 5). Отримані результати кожного секторного процесора запам'ятовують у відповідній секторній пам'яті 34 (фіг. 2), з перших виходів якої цей результат при зчитуванні даних проходить через відповідний демультиплексор на регістри РгС і PгD (фіг. 2) і з них на четверті і п'яті входи інтерфейсу 40 під управлінням секторного контролера, що забезпечує видачу з секторного інтерфейсу розділеної на дві частини інформації на кільцеві шини сектора в певні кванти часу. При цьому повні результати від всіх секторів також передають по кільцевим шинам ПІП-1 і кільцевим шинам ПІП-2 в певні кванти часу як за годинниковою стрілкою, так і проти годинникової стрілки. Для цього системні контролери 1 і 15 (фіг. 1) аналізують коди полів системного пакета СД доп, ПРреж, ПРрес, КРкш, виділяючи при цьому наступні сигнали: "Типи логічних і арифметичних операцій, що реалізовуються, які повинні бути виконані при отриманні пакета", "Застосування режиму типу процесор-в-пам'яті", "Використовуються тільки власні ресурси системи","Застосування кільцевих шин для паралельної обробки". Ці сигнали надходять через шини управляючих сигналів перших секторів ПІП-1 і ПІП-2 на другі входи блоків управління кільцевими шинами 6 і 23, які формують управляючі сигнали для секторних роздільників 11 і 21. Функціональні призначення найбільш важливих сигналів відмічені в табл. 1 (позиції 14 і 24), а також показані на фіг. 5 (сигнал дозвіл читання/запису; сигнал синхронізації; сигнал команди читання; дозволи передачі; передача даних за годинниковою стрілкою; передача даних проти годинникової стрілки; скидання Тг стовпця; скидання Trjc (j=1-5) додаткового рядка тригерів. Для 12 UA 112237 U 5 10 15 20 25 30 35 40 45 реалізації процедури видачі результуючих даних перш за все у відповідний роздільник (наприклад, 11) в третій стовпець тригерів записують сигнали даних та управляючі сигнали за наявності відповідного сигналу "Дозвіл читання/запису", який надходить від вузла управління секторними роздільниками 14 і 24, сформовані за наявності на їх входах сигналів від вузла 6 (ПІП-1) і вузла 23 ПІП-2. Вихідні сигнали даних і вихідні управляючі сигнали з відповідних тригерів третього стовпця надходять на перші входи схем "3 І" другого і четвертого стовпців (фіг. 5), на другі входи яких від вузлів 14 і 24 надходить сигнал "Дозвіл передачі", а на треті входи - сигнал команди "Читання". При цьому передача сигналів даних та управляючих сигналів по кільцевих шинах проти годинникової стрілки відбувається за наявності на других входах схем 2"І" першого стовпця відповідного управляючого сигналу (табл. 1, позиція 12), а передача за годинниковою стрілкою - за наявності на других входах схем "2 І" п'ятого стовпця (фіг. 5) відповідного сигналу, відміченого в табл. 1 на позиції 15. Для синхронізації цих сигналів для їх стикування використовується сигнал синхронізації (табл. 1 позиція 11), який надходить на другі входи схем "2 І" додаткового рядка тригерів 58. Далі результати обробки сигналів даних і управління через перші сектори кільцевих шин ПІП-1 і ПІП-2 надходять в хост-машину через відповідні входи/виходи 4 і 5 системних контролерів 1 і 15, на входи/виходи 9 і 10 (ПІП-1) і на входи /виходи 26 і 27 (ПІП-2). Режим 2. Перший етап свідомо реалізований без участі блоків службових функцій ПІП-1 і ПІП-2, наприклад, хост-машиною програмним способом, і всі атрибути реалізації першого етапу розміщені в пам'яті відповідних секторних наборів обох рівнів. При цьому для досягнення балансу завантаження процесорів можливі пересилки інформації через блок управління рівнями БУВ не тільки від ПІП-1 до ПІП-2 але і у зворотному напрямі від ПІП-2 до ПІП-1. Видача результатів паралельної обробки інформації аналогічна видачі відповідних результатів в режимі 1. Режим 3. Одночасна реалізація двох незалежних програм користувача, одна з яких реалізується на ПІП-1, а друга - одночасно і незалежно від першої на ПІП-2. При цьому виключаються функції БУВ, процес видачі результатів аналогічний в режимі 1. Режим 4. Застосування інтелектуальної розподіленої системи пам'яті з кільцевими шинами або у вигляді додаткової пам'яті хост-машини, або у вигляді додаткової розподіленої пам'яті процесорного елемента 8, належного ПІП-1, або у вигляді додаткової розподіленої пам'яті процесорного елемента 17, належного ПІП-2. У цьому режимі можливо також виконання команд читання і запису слів великої розрядності, наприклад, 256 бітів і більше з подальшим їх виводом частинами, наприклад, по 8 або 16 біти. Таким чином, введені в порівнянні з найближчим аналогом структурні і схемотехнічні зміни, як до складу розподіленої інтелектуальної системи пам'яті в цілому, так і до складу окремих її вузлів і блоків, забезпечили підвищення продуктивності системи у декілька разів за рахунок реалізації дворівневого (багаторівневого) паралелізму при виконанні програми користувача. При цьому забезпечені широкі функціональні можливості кільцевих шин: зменшено кількість провідників кільцевої шини практично в два рази і передачі інформації частинами по цих шинах за годинниковою стрілкою і проти годинникової стрілки, забезпечено ущільнення при передачі інформації по кільцевій шині в певні кванти часу при роботі системи. При цьому, зменшення кількості шин і спрощення рішень схемотехніки вузлів і блоків забезпечило підвищення завадостійкості та можливості створення високопродуктивної системи на одному (або на двох) кристалах. ФОРМУЛА КОРИСНОЇ МОДЕЛІ 50 55 60 1. Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами, що містить підсистему інтелектуальної пам'яті першого рівня (ПІП-1), до складу якої входять системний контролер пам'яті, множина N блоків інтелектуальної пам'яті, кільцева шина, що складається з кільцевої шини даних і кільцевої шини управління, блок управління кільцевої шиною, локальна шина даних, система вводу/виводу даних, система вводу/виводу управляючих сигналів, ведучий процесор з КЕШ-пам'яттю, n керованих секторних роздільників кільцевої шини на n секторів, загальні для кільцевої шини даних і кільцевої шини управління, при цьому множина з N блоків інтелектуальної пам'яті поділяється також на секторні набори, кількість яких визначається як (n-1), кількість блоків інтелектуальної пам'яті в кожному секторному наборі визначається як N/(n-1), при цьому перший ввід/вивід і-го секторного роздільника з'єднаний з і-м сектором кільцевої шини даних, другий ввід/вивід з'єднаний з (і+1)-м сектором кільцевої шини даних, третій ввід/вивід з'єднаний з і-м сектором кільцевої шини управління, четвертий 13 UA 112237 U 5 10 15 20 25 30 35 40 45 50 55 60 ввід/вивід з'єднаний з (і+1)-м сектором кільцевої шини управління, де 1іn, кожен j-й ввід/вивід вузла управління секторними роздільниками з'єднаний з п'ятим вводом/виводом відповідного jгo секторного роздільника, де 1jn, (n+1) ввід/вивід з'єднаний з третім вводом/виводом блока управління кільцевої шиною, перший ввід/вивід якого з'єднаний з першим сектором кільцевої шини даних, другий його ввід/вивід з'єднаний з першим сектором кільцевої шини управління, перший ввід/вивід кожного m-го блока інтелектуальної пам'яті, де 1mN/(n-1), в кожному k-му секторному наборі з'єднаний з відповідним (k+1)-м сектором кільцевої шини даних, другий ввід/вивід з'єднаний з відповідним (k+1)-м сектором кільцевої шини управління, де 1kn-1, перший ввід/вивід блока службових функцій з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід з'єднаний з першим сектором кільцевої шини управління, третій ввід/вивід з'єднаний з локальною шиною даних, четвертий ввід/вивід системного контролера з'єднаний з першим сектором кільцевої шини даних, п'ятий ввід/вивід з'єднаний з першим сектором кільцевої шини управління, при цьому підсистема інтелектуальної пам'яті першого рівня також містить вузол управління секторними роздільниками, блок службових функцій підсистеми пам'яті першого рівня, що містить вузол управління службовими функціями підсистеми пам'яті, вузол розподілу адресного простору всієї інтелектуальної підсистеми пам'яті першого рівня по блоках інтелектуальної пам'яті (БІП-1), вузол розміщення даних по розподілених адресних просторах БІП-1, вузол розподілу програми користувача на частини і розміщення їх по процесорах БІП-1, перший інтерфейс для вводу/виводу даних і кодів адреси, другий інтерфейс для вводу/виводу керуючих сигналів, з'єднані із відповідними шиною даних і шиною управління першого сектора кільцевої шини, при цьому кожен секторний набір блоків інтелектуальної пам'яті (БІП-1) додатково містить локальну шину даних, причому перший ввід/вивід кожного БІП-1 з'єднаний з відповідним сектором кільцевої шини даних, другий ввід/вивід кожного БІП-1 з'єднаний з відповідним сектором кільцевої шини управління, яка відрізняється тим, що уведена підсистема інтелектуальної пам'яті другого рівня (ПІП-2), а також додатково уведено блок управління взаємодією інтелектуальних підсистем пам'яті різних рівнів (БУВ), який містить блок управління рівнями, перший і другий інтерфейси відповідно для передачі даних і управляючих сигналів між першими секторами кільцевих шин різних рівнів, а також два блоки синхронізації відповідно для даних і управляючих сигналів секторів кільцевої шини, при цьому перший і другий виходи блока управління рівнями підключені до першого входу інтерфейсу передачі даних і відповідно - до першого входу інтерфейсу передачі управляючих сигналів, перші виходи яких з'єднані з першими і другими входами даних і управляючих сигналів відповідного інтерфейсу для третього і інших рівнів, третій вхід якого підключений до третього виходу блока управління рівнями, перший вхід якого підключений до четвертого входу локальної шини ("Передача інформації між рівнями"), а його п'ятий вихід підключений до першого входу першого блока синхронізації, другий вхід якого з'єднаний з третім виходом блока службових функцій ПІП-1, а його другий вихід з'єднаний з другим входом інтерфейсу передачі даних між рівнями, треті входи/виходи якого підключені до першого сектора шини даних ПІП-1, кільцева шина управління першого сектора якої з'єднана з третім входом інтерфейсу передачі між рівнями керуючих сигналів, другий вхід якого підключений до першого виходу другого блока синхронізації, другий вхід якого з'єднаний з третім виходом блока службових функцій ПІП-2, другий вхід/вихід інтерфейсу передачі керуючих сигналів між рівнями з'єднаний з кільцевою шиною керуючих сигналів першого сектора ПІП-2, кільцева шина даних першого сектора якої з'єднана з четвертим входом/виходом інтерфейсу, ПІП-2 містить також системний контролер пам'яті, множину М блоків інтелектуальної пам'яті, кільцеву шину, що складається з кільцевої шини даних і кільцевої шини управління і містить m керованих секторних роздільників, загальних для обох шин і розділяючих їх на m секторів, блок управління кільцевою шиною, блок управління роздільниками, локальна шина даних, системний ввід/вивід даних, системний ввід/вивід управляючих сигналів, ведучий процесор з КЕШ-пам'яттю, при цьому множина з М блоків інтелектуальної пам'яті поділяється також на секторні набори, кількість яких визначається як (m-1), кількість блоків інтелектуальної пам'яті в кожному секторному наборі визначається як М/(m-1), при цьому перший ввід/вивід j-гo секторного роздільника з'єднаний с q-м сектором кільцевої шини даних, другий ввід/вивід з'єднаний з (q+1)м сектором кільцевої шини даних, третій ввід/вивід з'єднаний з q-м сектором кільцевої шини управління, четвертий ввід/вивід з'єднаний з (q+1)-м сектором кільцевої шини управління, де 1qm, кожен z-й ввід/вивід вузла управління секторними роздільниками з'єднаний з п'ятим вводом/виводом відповідного m-го секторного роздільника, де 1zm, (z+1) ввід/вивід з'єднаний з третім вводом/виводом блока управління кільцевої шиною, перший ввід/вивід якого з'єднаний з першим сектором кільцевої шини даних, другий його ввід/вивід з'єднаний з першим сектором кільцевої шини управління, перший ввід/вивід кожного блока інтелектуальної пам'яті в кожному 14 UA 112237 U 5 10 15 20 25 30 35 40 45 50 55 60 k-му секторному наборі з'єднаний з відповідним сектором кільцевої шини даних, а його другий ввід/вивід з'єднаний з відповідним сектором кільцевої шини управління, перший ввід/вивід блока службових функцій з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід з'єднаний з першим сектором кільцевої шини управління, третій ввід/вивід з'єднаний з п'ятим входом локальної шини даних ("Запуск процесів"), четвертий ввід/вивід системного контролера з'єднаний з першим сектором кільцевої шини даних, п'ятий ввід/вивід з'єднаний з першим сектором кільцевої шини управління, а третій вхід системного контролера ПІП-2 підключений до відповідного шостого входу ("Запуск ПІП-2") локальної шини. 2. Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами за п. 1, яка відрізняється тим, що кожен секторний набір першого ПІП-1 і другого ПІП-2 рівнів має блоки секторної пам'яті, мультиплексор і демультиплексор, набір регістрів, що містить регістри РгА, РгВ, РгС і PгD, контролер управління пам'яттю секторного набору і процесорний елемент, а також інтерфейс секторного набору, при цьому перші входи і другі виходи інтерфейсу кожного секторного набору підключені до кільцевої шині даних відповідного сектора, а його треті входи з'єднані з секторною кільцевою шиною управління, перший вхід/вихід управляючих сигналів інтерфейсу з'єднаний з першим входом/виходом контролера управління сектором, з першим входом мультиплексора і з першим входом секторного блока пам'яті, другий вхід якого з'єднаний з другим виходом контролера управління секторною пам'яттю, шостий вхід/вихід керуючих сигналів інтерфейсу з'єднаний з першим входом демультиплексора і з першим входом процесорного елемента, перший вихід якого з'єднаний з третім входом блока пам'яті сектора, другий вихід якого з'єднаний з другим входом процесора, другий і третій виходи інтерфейсу секторного набору з'єднані з відповідними входами регістрів РгА та РгВ, перші і другі виходи яких підключені відповідно до других і третіх входів мультиплексора, перші виходи якого з'єднані з четвертими входами блока пам'яті сектора, перші виходи якого з'єднані з другими входами демультиплексора, перші і другі виходи якого підключені відповідно до перших і других входів регістрів РгС і PгD, перші і другі виходи яких з'єднані відповідно з четвертими і з п'ятими входами інтерфейсу секторного набору, другий і третій входи/виходи процесорного елемента підключені до кільцевої шині даних і відповідно до кільцевої шині управління сектора. 3. Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами за п. 1, яка відрізняється тим, що в блок службових функцій ПІП-1 і ПІП-2, додатково введені вузол синхронізації внутрішніх процесів кільцевої шини, інтерфейс для зв'язку з кільцевої шиною даних і вузол управління читанням/записом даних та програм, при цьому перші, другі, треті і четверті виходи вузла синхронізації внутрішніх процесів кільцевої шини підключені відповідно до перших входів вузла управління читання/запису даних і програм, вузла управління розподілом адресного простору, вузла управління розподілом даних і вузла управління розподілом програм користувача по процесорах, при цьому перші, другі, треті і четверті виходи вузла управління службовими функціями підключені відповідно до других входів вузла управління читання/запису даних і програм, вузла управління розподілом адресного простору, вузла управління розподілом даних і вузла управління розподілом програм користувача по процесорам, перші виходи яких з'єднані відповідно з першим, другим, третім і четвертим входами інтерфейсу для вводу/виводу керуючих сигналів перших секторів кільцевих шин ПІП-1 і ПІП-2, перші виходи яких підключені відповідно до перших секторів кільцевих шин керуючих сигналів, при цьому другі виходи вузла розподілу адресного простору, вузла розподілу даних і вузла розподілу програм користувача по процесорах з'єднані відповідно з першими, другими і третіми входами інтерфейсу введення/виводу даних, коду адреси та програм перших секторів кільцевих шин, перші виходи яких з'єднані відповідно з кільцевими шинами даних ПІП-1 і ПІП-2 перших секторів, при цьому другі входи вузла синхронізації внутрішніх процесів кільцевої шини, інтерфейсу для зв'язку з кільцевою шиною даних і вузла синхронізації внутрішніх процесів кільцевої шини з'єднані з другім виходом локальної шини. 4. Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами за п. 1, яка відрізняється тим, що для ПІП-1 і ПІП-2 кожен секторний роздільник представлений у вигляді матриці елементів схем, що містить перший стовпець елементів "2 І", другий стовпець елементів "3 І", третій стовпець - тригерних схем "Tгj", четвертий стовпець елементів "3 І" , п'ятий стовпець елементів "2 І", а також додатковий рядок тригерних схем і елементів "2 І", при цьому кількість рядків матриці елементів визначено кількістю розрядів кільцевої шини даних і кільцевої шини управління, перші входи всіх тригерів сигналів управління стовпця тригерних схем з'єднані між собою і підключені до кільцевої шини, перші входи всіх тригерів сигналів даних стовпця тригерних схем з'єднані між собою і підключені до кільцевої шини даних, другі входи тригерів стовпця тригерних схем з'єднані між собою і підключені до відповідного входу/виходу 15 UA 112237 U 5 10 15 20 25 30 35 40 45 50 55 (сигнал "Дозвіл читання/запису") вузла управління секторними роздільниками, а треті входи всіх тригерів (сигнал "Скидання") також з'єднані між собою і підключені до вузла управління секторними роздільниками, другі входи елементів "3 І" другого і окремо четвертого стовпців в кожному стовпці з'єднані між собою і підключені до відповідних виходів елементів "2 І", що належать відповідно другому і четвертому стовпцям, перші входи яких з'єднані з виходами відповідних тригерів додаткового тригерного рядка, другі входи яких з'єднані з відповідними виходами (команда "Зчитування") вузла управління секторними роздільниками, вихід кожного тригера в стовпцях тригерних схем кожного рядка з'єднаний з першим входом елемента "3 І" відповідного рядка другого стовпця і з першим входом елемента "3 І" того ж самого рядка четвертого стовпця, треті входи кожного елемента "3 І" другого стовпця і окремо четвертого стовпця з'єднані і підключені до відповідного виходу елемента "2 І" додаткового тригерного рядка, перший вхід якого з'єднаний з виходом відповідного тригера додаткового тригерного рядка, а другий вхід підключений до відповідного виходу ("Дозвіл передачі") вузла управління секторними роздільниками, виходи елемента "3 І" кожного рядка другого стовпця з'єднані з відповідними першими входами елементів "2 І" першого стовпця, другі входи яких з'єднані і підключені до виходу відповідного елемента "2 І" додаткового тригерного рядка, перший вхід якого з'єднаний з виходом тригера додаткового тригерного рядка, другий вхід якого підключений до відповідного виходу вузла управління секторними роздільниками "Передача інформації від qго роздільника наліво (проти годинникової стрілки) до (q+1)-го роздільника", виходи елемента "3 І" кожного рядка четвертого стовпця з'єднані з відповідними першими входами елемента "2 І" п'ятого стовпця, другі входи яких з'єднані і підключені до відповідного виходу елемента "2 І" додаткового рядка тригерів, перший вхід якого з'єднаний з виходом відповідного тригера додаткового тригерного рядка, другий вхід якого з'єднаний з відповідним виходом ( "Передача інформації від q-го роздільника направо (за годинниковою стрілкою) до (q-1)-го роздільника") вузла управління секторними роздільниками, при цьому кожен вихід елемента "2 І" першого стовпця і кожен вихід елемента "2 І" п'ятого стовпця підключені відповідно до кільцевої шині даних і шини управління (q+1) і (q-1) секторів, другі входи всіх елементів "2 І" додаткового рядка тригерів з'єднані з відповідним виходом ("Сигнал синхронізації") вузла управління секторними роздільниками, а треті входи з першого по п'ятий всіх тригерів додаткового рядка тригерів з'єднані з відповідними виходами (сигнали" Скидання") вузла управління секторними роздільниками. 5. Інтелектуальна розподілена система пам'яті з ієрархічними кільцевими шинами за п. 1, яка відрізняється тим, що блок управління кільцевої шиною першого ПІП-1 та другого ПІП-2 рівнів містить вузол інтерфейсу з кільцевої шиною, вузол аналізу і обробки керуючого пакета, вузол управління сигналами скидання тригерів, вузол управління синхронізацією, вузол управління читанням/записом інформації, вузол управління передачею інформації в (n-1) роздільник, вузол управління в передачею інформації в (n+1) роздільник, вузол управління записом інформації в третій стовпець n-го роздільника, при цьому перші і другі входи інтерфейсу з'єднані відповідно з кільцевої шиною управління і кільцевої шиною даних першого сектора, перший вихід інтерфейсу з'єднаний з першим входом вузла управління синхронізацією, перший, другий, третій і четвертий виходи якого підключені відповідно до перших входів вузла управління читанням/записом інформації, вузла управління передачею інформації в (n-1) роздільник, вузла управління передачею інформації в (n+1) роздільник, вузла управління записом інформації в третій стовпець n-го роздільника, п'ятий вихід вузла управління синхронізацією підключений до першого входу вузла аналізу і обробки управляючого пакета, другий вхід якого з'єднаний з другим виходом інтерфейсу, перший, другий, третій і четвертий виходи вузла аналізу і обробки управляючого пакета підключені відповідно до других виходів вузла управління читанням/записом інформації, вузла управління передачею інформації в (n-1) роздільник, вузла управління передачею інформації в (n+1) роздільник, вузла управління записом інформації в третій стовпець q-го роздільника, перший вихід вузла управління сигналами скидання з'єднаний з третім входом вузла управління зчитуванням/записом, а його другі, треті і четверті виходи з'єднані відповідно з третіми входами вузла управління передачею інформації в (n-1) роздільник, вузла управління передачею інформації в (n+1) роздільник, вузла управління записом інформації в третій стовпець n-го роздільника, виходи яких підключені до відповідних входів n-го роздільника, при цьому шостий вихід вузла управління синхронізацією з'єднаний з першим входом вузла управління сигналами скидання тригерів, другий вхід якого підключений до п'ятого виходу вузла аналізу і обробки керуючого пакета. 16 UA 112237 U 17 UA 112237 U 18 UA 112237 U 19 UA 112237 U Комп’ютерна верстка А. Крулевський Державна служба інтелектуальної власності України, вул. Василя Липківського, 45, м. Київ, МСП, 03680, Україна ДП “Український інститут інтелектуальної власності”, вул. Глазунова, 1, м. Київ – 42, 01601 20
ДивитисяДодаткова інформація
МПК / Мітки
МПК: G06F 15/16, G06F 13/42
Мітки: кільцевими, розподілена, ієрархічними, система, пам'яті, шинами, інтелектуальна
Код посилання
<a href="https://ua.patents.su/22-112237-intelektualna-rozpodilena-sistema-pamyati-z-iehrarkhichnimi-kilcevimi-shinami.html" target="_blank" rel="follow" title="База патентів України">Інтелектуальна розподілена система пам’яті з ієрархічними кільцевими шинами</a>
Попередній патент: Автогрейдер
Наступний патент: Спосіб глазурування ядер волоських горіхів
Випадковий патент: Машина для видалення шарів дорожнього покриття