Є ще 15 сторінок.

Дивитися все сторінки або завантажити PDF файл.

Формула / Реферат

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, перший ввід/вивід блока службових функцій з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід з'єднаний з першим сектором кільцевої шини керування, третій ввід/вивід з'єднаний з локальною шиною даних, четвертий ввід/вивід системного контролера з'єднаний з першим сектором кільцевої шини даних, п'ятий ввід/вивід з'єднаний з першим сектором кільцевої шини керування.

2. Інтелектуальна розподілена система пам'яті з кільцевою шиною за п. 1, яка відрізняється тим, що блок інтелектуальної пам'яті (БІП) містить кільцеву шину, що складається з кільцевої шини даних і кільцевої шини керування, розділену s керованими секторними роздільниками, загальними для кільцевої шини даних і кільцевої шини керування, на s секторів, блок керування кільцевою шиною БІП, вузол керування секторними роздільниками БІП, множину із Т банків інтелектуальної пам'яті, розділену на (s-1) секторних наборів, де кожний секторний набір містить T/(s-1) банків інтелектуальної пам'яті, контролер сектора, локальну шину керування, ведучий процесор з кеш-пам'яттю, локальну шину ведучого процесора, блок службових функцій БІП, контролер БІП, ввід/вивід даних БІП, ввід/вивід керуючих сигналів БІП, при цьому перший ввід/вивід r-го секторного роздільника з'єднаний з r-м сектором кільцевої шини даних, другий ввід/вивід з'єднаний з (r+1)-м сектором кільцевої шини даних, третій ввід/вивід з'єднаний з r-м сектором кільцевої шини керування, четвертий ввід/вивід з'єднаний з (r+1)-м сектором кільцевої шини керування, де 1≤r≤s, перший ввід/вивід блока керування кільцевою шиною БІП з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід з'єднаний з першим сектором кільцевої шини керування, третій ввід/вивід з'єднаний з (s+1) вводом/виводом вузла керування секторними роздільниками БІП, кожний p-й ввід/вивід вузла керування секторними роздільниками з'єднаний з п'ятим вводом/виводом відповідного p-го секторного роздільника, де 1≤p≤s, перший ввід/вивід кожного q-гo банку інтелектуальної пам'яті, де 1≤q≤T/(s-1), у кожному v-му секторному наборі з'єднаний з відповідним (v+1)-м сектором кільцевої шини даних, перший ввід/вивід кожного контролера в кожному v-му секторі з'єднаний з відповідним (v+1)-м сектором кільцевої шини керування, другі вводи/виводи всіх банків інтелектуальної пам'яті й другий ввід/вивід контролера сектора в кожному v-му секторі з'єднані відповідно з локальною шиною сектора, де 1≤v≤s-1, перший ввід/вивід ведучого процесора з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід з'єднаний з першим сектором кільцевої шини керування, третій ввід/вивід з'єднаний з локальною шиною ведучого процесора, перший ввід/вивід блока службових функцій з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід з'єднаний з першим сектором кільцевою шиною керування, третій ввід/вивід з'єднаний з локальною шиною ведучого процесора, перший ввід/вивід контролера БІП з'єднаний з вводом/виводом керуючих сигналів БІП, другий ввід/вивід з'єднаний з вводом/виводом даних БІП, третій ввід/вивід з'єднаний з локальною шиною даних ведучого процесора, четвертий ввід/вивід з'єднаний з першим сектором кільцевої шини даних, п'ятий ввід/вивід з'єднаний з першим сектором кільцевої шини керування.

3. Інтелектуальна розподілена система пам'яті з кільцевою шиною за п. 1, яка відрізняється тим, що кожний секторний набір блоків інтелектуальної пам'яті (БІП) додатково містить локальну шину даних, причому перший ввід/вивід кожного блока інтелектуальної пам'яті з'єднаний з відповідним сектором кільцевої шини даних, другий ввід/вивід кожного блока інтелектуальної пам'яті з'єднаний з відповідним сектором кільцевої шини керування, треті вводи/виводи кожного блока інтелектуальної пам'яті з'єднані з локальною шиною даних.

4. Інтелектуальна розподілена система пам'яті з кільцевою шиною за п. 1 або п. 2, яка відрізняється тим, що вузол керування секторними роздільниками містить n дворозрядних регістрів, розділених на n/2w лінійок, кожна лінійка містить w регістрів, де n - кількість секторних роздільників, розрядність (n+1) вводу/виводу вузла керування секторними роздільниками дорівнює (2w+4), n тригерів, розділених на n/2w лінійок, кожна лінійка містить 2w тригерів, перший, третій і четвертий набори з 2w схем "І", другий набір з n схем "І", набір з (n-4w) схем "2І-АБО", розділених на (n-4w)/2w лінійок, (n+1) вводів/виводів вузла керування секторними роздільниками, причому перші входи кожної α-схеми першого набору схем "І" з'єднані з α-елементом (n+1) вводу/виводу вузла керування секторними роздільниками, де 1≤α≤2w, другі входи з'єднані з (2w+1) елементом (n+1) вводу/виводу вузла керування секторними роздільниками, вихід кожної (2α-1) схеми "І" першого набору з'єднаний з першим входом α-го регістра першої лінійки тригерів, вихід кожної 2α-схеми "І" першого набору з'єднаний із другим входом α-го регістра, де 1≤α≤w, перший і другий виходи α-го регістра γ-ї лінійки з'єднані з першим і другим входами α-го регістра (γ+1) лінійки, де 1≤γ<(n/2w)-1, третій вихід кожного з регістрів з'єднаний з першим входом відповідної схеми "І" другого набору, другі входи всіх схем "І" другого набору з'єднані з (2w+2) елементом (n+1) вводу/виводу вузла керування секторними роздільниками, вихід кожної η-ї схеми "І" другого набору з'єднаний з η-м вводом/виводом вузла керування секторними роздільниками, де 1≤η≤n, перші входи схем "І" третього набору й перші входи всіх схем "2І-АБО" з'єднані з відповідним вводом/виводом вузла керування секторними роздільниками, другі входи схем "І" третього набору й другі входи всіх схем "2I-АБО" з'єднані з (2w+3) елементом (n+1) вводу/виводу вузла керування секторними роздільниками, вихід кожної μ-ї схеми "І" третього набору з'єднаний із входом μ-го тригера першої лінійки тригерів, де 1≤μ≤2w, вихід кожного μ-го тригера в λ-й лінійці тригерів з'єднаний із третім входом μ-ї схеми "2І-АБО" в λ-й лінійці, де 1≤λ≤(n/2w)-1, четвертий вхід усіх схем "2І-АБО" з'єднаний з (2w+4) елементом (n+1) вводу/виводу вузла керування секторними роздільниками, вихід кожного μ-го тригера в (n/2w) лінійці з'єднаний з першим входом μ-ї схеми "І" четвертого набору, другі входи μ-ї схеми "І" четвертого набору з'єднані з (2w+4) елементом (n+1) вводу/виводу вузла керування секторними роздільниками, вихід кожної μ-ї схеми "І" четвертого набору з'єднаний з μ-м елементом (n+1) вводу/виводу вузла керування секторними роздільниками.

5. Інтелектуальна розподілена система пам'яті з кільцевою шиною за п. 1 або п. 2, яка відрізняється тим, що кожний секторний роздільник системи містить перший (d+e) розрядний регістр, другий дворозрядний регістр, набір схем "2І-АБО", що містить (d+e) елементів, набір схем "І", що містить 2(d+e) елементів, де d - розрядність шини даних, е - розрядність шини керування, п'ять вводів/виводів секторного роздільника, при цьому перші входи схеми "І" кожної зі схем "2І-АБО" від першої до d-ї з'єднані з першим вводом/виводом секторного роздільника, перші входи перших схем "І" кожної зі схем "2І-АБО" від (d+1)-ї до (d+e)-ї з'єднані із третім вводом/виводом секторного роздільника, перші входи других схем "І" кожної зі схем "2І-АБО" від першої до d-ї з'єднані із другим вводом/виводом секторного роздільника, перші входи других схем "І" кожної зі схем "2І-АБО" від (d+1)-ї до (d+e)-ї з'єднані із четвертим вводом/виводом секторного роздільника, другі входи перших схем "І" кожної зі схем "2І-АБО" від першої до (d+e)-ї з'єднані з першим виходом другого регістра, другі входи других схем "І" кожної зі схем "2І-АБО" від першої до (d+e)-ї з'єднані із другим виходом другого регістра, вихід ε кожної схеми "2І-АБО" з'єднаний з відповідним ε-м входом першого регістра, де 1≤ε≤(d+e), перші входи кожної (2θ-1) і 2θ схем "І" з'єднані з θ виходом першого регістра, другі входи кожної непарної схеми "І" з'єднані з першим виходом другого регістра, другі входи кожної парної схеми "І" з'єднані із другим виходом другого регістра, вихід кожної непарної схеми "І" від першої до 2d з'єднаний із другим вводом/виводом секторного роздільника, вихід кожної непарної схеми "І" від 2d до 2(d+e) з'єднаний із четвертим вводом/виводом секторного роздільника, вихід кожної парної схеми "І" від першої до 2d з'єднаний з першим вводом/виводом секторного роздільника, вихід кожної парної схеми "І" від 2d до 2(d+e) з'єднаний із третім вводом/виводом секторного роздільника, вхід другого регістра з'єднаний з п'ятим вводом/виводом секторного роздільника, вхід тригера стану з'єднаний із четвертим вводом/виводом секторного роздільника, вихід тригера стану з'єднаний з п'ятим вводом/виводом секторного роздільника.

6. Інтелектуальна розподілена система пам'яті з кільцевою шиною за п. 1, яка відрізняється тим, що блок службових функцій містить вузол керування службовими функціями системи пам'яті, вузол розподілу адресного простору всієї пам'яті системи по блоках інтелектуальної пам'яті (БІП), вузол розміщення даних по розподілених адресних просторах БІП, вузол розділення програми користувача на частини і розміщення їх по процесорах БІП, перший інтерфейс для вводу/виводу даних і кодів адреси, другий інтерфейс для вводу/виводу керуючих сигналів, перший вхід/вихід блока службових функцій, з'єднаний з першим сектором кільцевої шини даних, другий вхід/вихід, з'єднаний з першим сектором кільцевої шини керування, третій вхід/вихід, підключений до локальної шини, при цьому перший вхід/вихід блока службових функцій з'єднаний з першим входом/виходом даних першого інтерфейсу, другий вхід/вихід якого з'єднаний з першим входом/виходом даних вузла розподілу пам'яті, другий вхід/вихід сигналів керування якого з'єднаний відповідно з першими входами/виходами сигналів керування вузла розміщення даних, вузла розділення додатків і з першим входом/виходом другого інтерфейсу, другий вхід/вихід якого з'єднаний з другим входом/виходом блока службових функцій і з першим входом/виходом вузла керування службовими функціями, другі входи/виходи якого з'єднані з третім входом/виходом блока службових функцій, при цьому третій вхід/вихід вузла керування службовими функціями з'єднаний з третім входом/виходом вузла розподілу пам'яті, четвертий вхід/вихід сигналів керування якого з'єднаний з четвертим входом/виходом вузла керування службовими функціями, п'ятий вхід/вихід даних якого з'єднаний з другим входом/виходом вузла розміщення даних, третій вхід/вихід сигналів керування якого з'єднаний з шостим входом/виходом вузла керування, сьомий вхід/вихід даних якого з'єднаний з другим входом/виходом вузла розділення додатків, третій вхід/вихід сигналів керування якого з'єднаний з відповідним восьмим входом/виходом вузла керування службовими функціями, четвертий вхід/вихід даних вузла розміщення даних і четвертий вхід/вихід даних вузла розділення додатків з'єднані з третім входом/виходом даних першого інтерфейсу.

Текст

Реферат: Винахід належить до галузі обчислювальної техніки, зокрема до пристроїв зберігання і обробки інформації з ланцюгами комутації переданих даних. Інтелектуальна розподілена система пам’яті з кільцевою шиною містить n секторних роздільників кільцевої шини з блоком керування, побудованої з використанням шинної архітектури, дозволяє підвищити швидкодію як систем пам'яті з кільцевою шиною традиційної архітектури, так і з системами, побудованими з використанням роздільників, пов'язаних з кожним блоком пам'яті. Введення апаратнопрограмного блока службових функцій, що забезпечує як на початку роботи системи, так і в процесі її функціонування настройку (або підстроювання) ресурсів системи під рішення конкретної задачі користувача, дозволяє гнучко розподіляти ресурси системи із збереженням високої продуктивності. UA 99164 C2 (12) UA 99164 C2 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 60 Запропонований винахід стосується галузі обчислювальної техніки, зокрема пристроїв зберігання і переробки інформації з ланцюгами комутації переданих даних. Під інтелектуальною пам'яттю (ІП) комп'ютерних систем (КС) будемо розуміти технічний пристрій пам'яті, який крім стандартних функцій зберігання, читання і запису даних має також функції логічної і арифметичної обробки інформації за допомогою засобів обробки, розміщених в безпосередній близькості і підключених до виділених масивів пам'яті. У відповідність з цим ІП може бути використана як основна або додаткова пам'ять КС з реалізацією стандартних для класичної пам'яті функцій, як приставка-розширювач функцій або для прискорення виконання окремих операцій КС з реалізацією набору функцій ІП, а також як ІП базовий компонент при створенні суперЕОМ для вирішення складних завдань, що відрізняються масовими зверненнями до масиву пам'яті і широким паралелізмом алгоритму їх реалізації. Одним з різновидів ІП є ІП, побудована по принципах "Рrocessor-іn-mеmоrу" ("Процесор-в-пам'яті") або РІМ-система. Завдяки особливостям архітектури, структури та організації обчислювального процесу, РІМсистеми в порівнянні з КС з класичною архітектурою при розв'язанні однієї й тієї ж задачі мають ряд переваг: вищу продуктивність, менші габарити, вагу, споживану потужність та ін. (Палагин А.В., Яковлев Ю.С, Тихонов Б.М. Основные принципы построения вычислительных систем с архитектурой "Процессор-в-памяти" (Рrocessor-іn-mеmоrу) // Управляющие системы и машины. - 2004. - № 5. - c. 30-37). При створенні комп'ютерних систем високої продуктивності затримки сигналів при обміні інформацією між процесорами і пам'яттю, а також між блоками розподіленої пам'яті набувають першорядного значення. Прагнення зменшити ці затримки за допомогою складних комутаційних схем, що забезпечують зв'язку за принципом "кожен з кожним" (типу тори, куб та ін.), часто не приводить до бажаних результатів, оскільки реалізація таких комутаційних схем, способи керування ними і технологія розводки великої кількості вхідних і вихідних ліній цих схем є вельми складними і тим самим часто знижують значення інших параметрів системи, наприклад кількість активних компонентів конструктивно обмеженого модуля (вузла, блока), і, отже, збільшують загальну кількість компонентів, використовуваних в системі, вартість системи та ін. З цієї точки зору застосування простих комутаційних засобів для взаємозв'язку між компонентами обчислювальної системи типу загальної шини є актуальним. Прикладом широко застосовуваної загальної шини при побудові засобів обчислювальної техніки малої і середньої продуктивності є шина РСІ та її модифікації. Проте така шина має невелику ширину для передачі даних (у модифікованому варіанті до 64 біт) і обмеження її довжини при використанні в розподіленій комп'ютерній системі, що містить велику кількість блоків, що підключаються до шини, і пристроїв. Останнє визначається ємнісними навантаженнями шини, так що затримки сигналів при зверненні процесора до пам'яті, підключеної на початку шини, можуть істотно відрізнятися від затримок сигналів при зверненні процесора до пам'яті, підключеної в кінці шини. Це створює проблему синхронізації, що у результаті обмежує частоту роботи системи. Довжина шини і кількість входів пристрою визначають ємність пам'яті, яку бачить контролер пам'яті, коли він керує шиною. На вищих частотах, ця ємність може привести до неможливості надійного керування сигналами на шині. При побудові більш високопродуктивних систем обчислювальних засобів, таких як графічні процесори, графічні прискорювачі і т. д., знайшли застосування структури загальної шини, які отримали назву кільцевих шин. Їх застосування згідно з відомим технічним рішенням частково усувають відзначені недоліки. По-перше, кільцева структура шини проста для проектування і реалізації. Якщо кільцева шина пам'яті використовується усередині чипа, то завдяки спрощенню розводки (шина розміщується по периметру кристала), вона здешевлює чип і менш схильна до нагріву. Як наслідок, кільцева шина може працювати на вищих тактових частотах. По-друге, в набір операцій кільцевої шини може бути включена операція мультиплексування з часовим ущільненням, так що дані можуть передаватися по кільцевій шині в призначені кванти часу, при цьому множина кадрів даних може бути присутньою на шині одночасно. Це дозволяє виконувати паралельну передачу по кільцевій шині від двох або більше різних каналів даних, таких як різні сектори даних. Кількість квантів часу, використовуваних для кожної передачі даних, можна вибрати рівною кількості паралельних передач даних, що дозволяє повністю використовувати смугу пропускання кільцевої шини. По-третє, передані дані проходять по всій кільцевій шині і повертаються назад до початкового блока і при цьому передані дані можуть читатися вузлом, який перевіряє правильність їх передачі. По-четверте, ширина кільцевої шини даних може бути зменшена приблизно в два рази в порівнянні з розрядністю переданих даних за рахунок того, що половина розрядів даних 1 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 передається по шині в одному напрямі, а інша половина одночасно в іншому - до з'єднання з першою половиною. Таким чином, застосування кільцевих шин при побудові розподілених комп'ютерних систем є актуальним. Доказом тому є застосування кільцевих шин в різних модифікаціях графічних процесорів високої продуктивності серій ATI Radeon X1000, X1300, X1600, X1800, ATI Radeon HD 2000 та ін., що випускаються зарубіжними фірмами (Сергей Пахомов. Современные видеокарты для ПК / Компьютер Пресс 2005, № 12, а также: Дмитрий Чеканов. Radeon XI300, Radeon XI600 и Radeon XI800: тест. http://www.thg.ru/graphic/20051006/index.html). Кожен з цих процесорів, побудований з використанням кільцевих шин, містить складний перехресний перемикач запису (write crossbar switch), а також так звані блоки кільцевої зупинки (ring stop), розміщені на кільцевих шинах. При виконанні простих операцій читання або запису даних інформація двічі проходить через складний перехресний перемикач (crossbar switch) і не менше чотирьох разів через блоки ring stop, збільшуючи тим самим мінімально можливий час доступу до пам'яті. Відома кільцева структура шини та її використання в системах флеш-пам'яті (Патент США, Ring bus structure and its use in flash memory systems. Автори Sinclair Alan W. № 2006031593 (A1), міжнародні класи: G06F15/16; G06F15/16; європейський клас: G06F13/42.) Система пам'яті і чипи інтегральної схеми, використовувані в системі, містять кільцеву шину, щоб зв'язати вузли індивідуальних компонентів для передачі даних і команд. Наведений приклад системи є пам'яттю, що має один або більше перепрограмувальних масивів енергонезалежної пам'яті, з'єднаних один з одним та з системним контролером кільцевою шиною. Аналіз системи показав, що застосування по всій довжині кільцевої шини спеціальних інтерфейсів для даних, з одного боку, зменшує паразитні ємності шини на кожній виділеній ділянці, а з іншого, ускладнює синхронізацію передачі даних по шині в розподілених квантах часу при мультиплексуванні сигналів з часовим ущільненням і вносить додаткову затримку при розповсюдженні сигналів по всій довжині шини. Крім того, алгоритм процесу передачі даних між вузлами з використанням кільцевої шини містить не менше семи достатньо ємних послідовних процедур, включаючи читання адреси, читання і запис даних, передачу даних по кільцевій шині і т. д. (всього 13 команд), що обмежує досягнення високої продуктивності системи з кільцевою шиною такого типу. Відомі також пристрої, побудовані з використанням кільцевої шини, такі як Crossbar switch with communication ring bus. Автори: Carlson, John R. (Патент США, № 6,728,206, клас США 370/222, 370/423; міжнародний клас H04L 12/56 (20060101); H04L 12/427 (20060101); H04L, "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/Е12.025; міжнародний клас: G06F 12/08 (20060101); G06F 012/00.) При цьому перший пристрій має наступні недоліки. Блок-схема алгоритму реалізації комунікації повідомлень між множиною компонентів мережі з кільцевою шиною є складною і громіздкою, що включає дев'ять достатньо трудомістких послідовних процедур (без урахування циклічних операцій), що, природно, обмежує досяжні параметри продуктивності системи. Самі по собі кільцеві шини представлені повної довжини, що також знижує швидкість передачі сигналів з-за значних паразитних ємностей шини. Крім того, реалізація використовуваного в цьому пристрої комутатора, виконаного за принципом "кожний-з-кожним", приводить до необхідності побудови складної перемикаючої матриці для одночасної комутації множини вхідних портів до портів виходу і створює серйозну технологічну проблему для розміщення ліній зв'язку на кристалі. Недоліки другого із згаданих пристроїв визначаються застосуванням великої кількості додаткового устаткування і відповідних програмних засобів, включаючи віддалений КЕШ даних і віддалений КЕШ тегів, контролер вузла з відповідними додатковими функціями, а також блоки пам'яті для зберігання ознак (тегів) для локальної пам'яті процесорного вузла, що розділяється. В результаті, процедура виконання операції читання або запису в такій системі з підтримкою когерентності КЕШ є громіздкою і тривалою за часом, оскільки включає процедури звернення до віддаленого КЕШ даних і КЕШ тегів, процедури аналізу стану блоків пам'яті кожного процесора і процедури формування процесорами необхідних пакетів запиту, пакетів підтвердження запитів і відповіді на запити. Найбільш близьким технічним рішенням за структурою, складу блоків і виконуваних функцій є система пам'яті, що містить багаторівневий двоточковий (point-to-point) кільцевий інтерфейс пам'яті " Multi-tier point-to-point ring memory interface". Автори: Bonella; Randy M., Halbert; John В. 2 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 60 (Патент США № 6,658,509. Клас США: 710/100; 370/223; 710/300. Міжнародний клас: G06F 13/42 (20060101); G06F 013/00; G01R 031/08). Система пам'яті містить контролер першого рівня, що має перші й другі порти першого рівня, і множину модулів пам'яті, кожний з яких містить перші й другі порти першого рівня, з'єднані з контролером першого рівня першої кільцевої шини, кожний з модулів пам'яті й контролер першого рівня здатні передавати сигнали пам'яті по напрямку годинникової стрілки на першій кільцевій шині, використовуючи відповідний перший порт першого рівня, і проти годинникової стрілки на першій кільцевій шині, використовуючи відповідний другий порт першого рівня, і де кожний модуль пам'яті здатний ретранслювати сигнали пам'яті, отримані цим модулем на одному порту першого рівня, на інший порт першого рівня. При цьому кожний з модулів пам'яті включає контролер другого рівня для підключення модуля пам'яті до першої кільцевої шини й передачі сигналів пам'яті між цим модулем пам'яті й першою кільцевою шиною, контролер другого рівня, що містить перші й другі порти другого рівня, і множину підмодулів пам'яті, кожний з яких містить перші й другі порти другого рівня, з'єднані з контролером другого рівня другої кільцевої шини, де кожний з підмодулів пам'яті й контролер другого рівня здатні передавати сигнали пам'яті по годинниковій стрілці на другій кільцевій шині, використовуючи відповідний порт другого рівня, і проти годинникової стрілки на другій кільцевій шині, використовуючи відповідний другий порт другого рівня, кожний підмодуль пам'яті здатний ретранслювати сигнали пам'яті, отримані цим підмодулем на одному порту другого рівня, на інший порт другого рівня. Контролер першого рівня має схему синхронізації для настроювання синхронізації між сигналом, що поширюється по напрямку годинникової і проти годинникової стрілки на першій кільцевій шині, щоб реєструвати ці два сигнали одночасно на кінцевому пункті передачі. Контролер другого рівня включає схему синхронізації сигналів, що поширюються по напрямку годинникової і проти годинникової стрілки на першій і другій кільцевих шинах, щоб реєструвати два сигнали на кожній шині на кінцевому пункті передачі. При цьому підмодуль пам'яті включає схему синхронізації для синхронізації між сигналом, що поширюється по напрямку годинникової і проти годинникової стрілки на другій кільцевій шині, щоб реєструвати одночасно ці два сигнали. Модуль пам'яті, включає принаймні один банк пристрою пам'яті, контролер модуля для комутації сигналів пам'яті з банком пристрою пам'яті по шині модуля пам'яті, контролер модуля для з'єднання з первинним контролером пам'яті по кільцевій шині, контролер модуля, що включає схему інтерфейсу для передачі сигналів між шиною модуля пам'яті й кільцевою шиною, де контролер модуля здатен до комунікації з первинним контролером пам'яті, щоб послати набір сигналів даних між ними, причому одну частину набору сигналів даних - за годинниковою стрілкою й залишок набору сигналів - проти годинникової стрілки на першій кільцевій шині даних. При цьому контролер модуля обмінюється даними з кожним банком пристроїв пам'яті по шині модуля пам'яті, розділеної тільки із цим банком пам'яті. Пристрій має наступні недоліки. 1. Оскільки використовується двоточкова кільцева шина з множиною М підключених до неї модулів пам'яті, представлена у вигляді послідовного з'єднання вхідних і вихідних портів всіх модулів, так що при звертанні до N-го модуля пам'яті М затримка сигналу звертання до пам'яті визначається його послідовним проходженням по кільцевій шині через 2N портів модулів пам'яті в одному напрямку (наприклад, за годинниковою стрілкою) і орієнтовно через 2(M-N) портів в іншому напрямку (проти годинникової стрілки). При використанні кільцевих шин аналогічного типу усередині кожного модуля пам'яті (другий рівень кільцевої шини) затримка при звертанні до пам'яті другого рівня істотно збільшується. Так для системи пам'яті, що складається всього лише з одного модуля пам'яті першого рівня й одного модуля пам'яті другого рівня що й використовують кільцеві шини відповідно першого й другого рівнів, операція читання або запису даних по запиту від хост-машини через первинний контролер пам'яті може бути виконана не менше ніж за 10 тактів процесора. При цьому повинні бути виконані різні команди (читання, запис, пересилання адреси й даних і ін.) не менш 20 разів. Крім того, збільшення часу затримки сигналу при звертанні до кожного доданого до кільцевої шини модуля пам'яті пропорційне логарифму від загальної кількості модулів, що обмежує масштабованість системи пам'яті. 2. Оскільки кільцеві шини різних рівнів пристрою представлені у вигляді шлейфового (послідовного) з'єднання вхідних і вихідних портів кожного модуля відповідного рівня й при звертанні до одного модуля пам'яті фактично ініціюються всі порти модулів, що залишилися, цього рівня (при передачі інформації за годинниковою і одночасно проти годинникової стрілки), тому одночасне звертання до декількох модулів пам'яті цього рівня за даними й, отже, їхня паралельна обробка практично неможливі. Реалізація одночасного читання або запису даних 3 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 60 при звертанні до модулів пам'яті різних рівнів призводить до невиправданого ускладнення апаратури, а також алгоритмів синхронізації й передачі даних. 3. Буферний вузол кожного модуля пам'яті підключений до трьох шин повної ширини: по входах - до секції кільцевої шини, що підключена до виходів буфера попереднього модуля, по перших виходах - до секції кільцевої шини, що підключена до входів буфера наступного модуля пам'яті, і по других виходах - безпосередньо до масиву пам'яті цього модуля. Це створює істотні технологічні проблеми при розміщенні цих шин усередині модуля пам'яті. Таким чином, пристрій має низьку швидкодію через істотні часові затримки при проходженні сигналів до відповідних входів модулів пам'яті при виконанні операцій читання або запису даних, виключає можливість одночасного звертання до пам'яті за декількома даними або для паралельного запису масиву даних, має обмежені властивості масштабованості при нарощуванні ємності пам'яті й створює технологічні труднощі при розміщенні великої кількості шин (сигнальних ліній) усередині кожного модуля пам'яті й системи пам'яті. В основу винаходу поставлена задача підвищення швидкодії системи пам'яті, збільшення меж її масштабування за рахунок введення секторних роздільників для поділу кільцевої шини на сектори, блока керування роздільниками й введення блока службових функцій. Поставлена задача вирішується пристроєм, що містить системний контролер пам'яті 1, множину N блоків інтелектуальної пам'яті 2, кільцеву шину 3, що складається з кільцевої шини даних 4 і кільцевої шини керування 5, системний блок керування кільцевою шиною 6, локальну шину 7, підключену до системного вводу/виводу локальної шини 8, системний ввід/вивід даних 9, системний ввід/вивід керуючих сигналів 10, кільцева шина 3 містить загальні для кільцевої шини даних 4 і кільцевої шини керування 5 n керованих секторних роздільників 11, які ділять її на n секторів 12, при цьому множина із N блоків інтелектуальної пам'яті розділена відповідно на секторні набори 13, кількість яких дорівнює (n-1), кількість блоків інтелектуальної пам'яті в кожному секторному наборі дорівнює N/(n-1), вузол керування секторними роздільниками 14, блок службових функцій системи пам'яті 15, при цьому перший ввід/вивід системного контролера 1 з'єднаний із системним вводом/виводом керуючих сигналів 10, другий ввід/вивід з'єднаний із системним вводом/виводом даних 9, третій ввід/вивід з'єднаний з локальною шиною 7, перший ввід/вивід і-го секторного роздільника 11 з'єднаний з і-м сектором кільцевої шини даних, другий ввід/вивід з'єднаний з (і+1)-м сектором кільцевої шини даних, третій ввід/вивід з'єднаний з і-м сектором кільцевої шини керування, четвертий ввід/вивід з'єднаний з (і+1)-м сектором кільцевої шини керування 5, де 1≤і≤n, кожний j-й ввід/вивід вузла керування секторними роздільниками 14 з'єднаний з п'ятим вводом/виводом відповідного j-гo секторного роздільника 11, де 1≤j≤n, (n+1)-й ввід/вивід вузла 14 з'єднаний із третім вводом/виводом блока керування кільцевою шиною 6, перший ввід/вивід кожного m-го блока інтелектуальної пам'яті 2, де 1≤m≤N/(n-1), у кожному k-м секторному наборі 13 з'єднаний з відповідним (k+1)-м сектором 12 кільцевої шини даних, другий ввід/вивід блока 2 з'єднаний з відповідним (k+1)-м сектором кільцевої шини керування 5, де 1≤k≤n-1, перший ввід/вивід блока службових функцій 15 з'єднаний з першим сектором кільцевої шини даних 4, другий ввід/вивід цього блока з'єднаний з першим сектором кільцевої шини керування 5, третій ввід/вивід блока 15 з'єднаний з локальною шиною 7, четвертий ввід/вивід системного контролера 1 з'єднаний з першим сектором кільцевої шини даних 4, п'ятий його ввід/вивід з'єднаний з першим сектором кільцевої шини керування 5, перший ввід/вивід блока керування кільцевою шиною 6 з'єднаний з першим сектором кільцевої шини даних 4, другий ввід/вивід блока 6 з'єднаний з першим сектором кільцевої шини керування 5. Блок інтелектуальної пам'яті (БІП) містить кільцеву шину 16, що складається з кільцевої шини даних 17 і кільцевої шини керування 18, розділену s керованими секторними роздільниками 19, загальними для кільцевої шини даних і кільцевої шини керування, на s секторів 20, блок керування кільцевою шиною БІП 21, вузол керування секторними роздільниками БІП 22, множину із Т банків інтелектуальної пам'яті 23, розділену на (s-1) секторних наборів 24, де кожний секторний набір містить T/(s-1) банків інтелектуальної пам'яті 23, контролер сектора 25, локальну шину керування 26, ведучий процесор 27 з КЕШ-пам'яттю 28, локальну шину ведучого процесора 29, блок службових функцій БІП 30, контролер БІП 31, ввід/вивід даних БІП 32, ввід/вивід керуючих сигналів БІП 33, при цьому перший ввід/вивід r-го секторного роздільника 19 з'єднаний з r-м сектором 20 кільцевої шини даних 17, другий ввід/вивід з'єднаний з (r+1)-м сектором кільцевої шини даних, третій ввід/вивід з'єднаний з r-м сектором кільцевої шини керування 18, четвертий ввід/вивід з'єднаний з (r+1)-м сектором кільцевої шини керування 18, де 1≤r≤s, перший ввід/вивід блока керування 21 кільцевою шиною БІП з'єднаний з першим сектором кільцевої шини даних 17, другий ввід/вивід з'єднаний з першим сектором кільцевої шини керування 18, третій ввід/вивід з'єднаний з (s+1) 4 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 60 вводом/виводом вузла керування секторними роздільниками 22 БІП, кожний р-й ввід/вивід вузла керування секторними роздільниками 22 з'єднаний з п'ятим вводом/виводом відповідного р-го секторного роздільника, де 1≤р≤s, перший ввід/вивід кожного q-гo банку інтелектуальної пам'яті 23, де 1≤q≤T/(s-1), у кожному v-му секторному наборі з'єднаний з відповідним (v+1)-м сектором кільцевої шини даних 17, перший ввід/вивід кожного контролера в кожному v секторі з'єднаний з відповідним (v+1)-м сектором кільцевої шини керування 18, другі вводи/виводи всіх банків інтелектуальної пам'яті 23 і другий ввід/вивід контролера сектора 25 у кожному v-ому секторі з'єднані відповідно з локальною шиною сектора 26, де 1≤v≤s-1, перший ввід/вивід ведучого процесора 27 з'єднаний з першим сектором кільцевої шини даних 17, другий ввід/вивід з'єднаний з першим сектором кільцевої шини керування 18, третій ввід/вивід з'єднаний з локальною шиною ведучого процесора 27, перший ввід/вивід блока службових функцій 30 з'єднаний з першим сектором кільцевої шини даних 17, другий ввід/вивід з'єднаний з першим сектором кільцевої шини керування 18, третій ввід/вивід з'єднаний з локальної шиною ведучого процесора 29, перший ввід/вивід контролера БІП 31 з'єднаний з вводом/виводом 33 керуючих сигналів БІП, його другий ввід/вивід з'єднаний з вводом/виводом даних БІП 32, третій ввід/вивід з'єднаний з локальною шиною даних 29 ведучого процесора 27, четвертий ввід/вивід блока 31 з'єднаний з першим сектором кільцевої шини даних 17, п'ятий ввід/вивід блока 31 з'єднаний з першим сектором кільцевої шини керування 18. Кожний секторний набір 13 блоків інтелектуальної пам'яті (БІП) 2 додатково містить локальну шину даних 34, причому перший ввід/вивід кожного блока інтелектуальної пам'яті 2 з'єднаний з відповідним сектором кільцевої шини даних 4, другий ввід/вивід кожного блока інтелектуальної пам'яті 2 з'єднаний з відповідним сектором кільцевої шини керування 5, треті вводи/виводи кожного блока інтелектуальної пам'яті з'єднані з локальною шиною даних 34. Вузол керування секторними роздільниками містить n дворозрядних регістрів, розділених на n/2w лінійок 35, кожна лінійка містить w регістрів, де n кількість секторних роздільників, розрядність (n+1)-го вводу/виводу вузла керування секторними роздільниками 14 дорівнює (2w+4), n тригерів, розділених на n/2w лінійок 36, кожна лінійка містить 2w тригерів, перший 37, третій 38 і четвертий 39 набори з 2w схем "І", другий набір 40 з n схем "І", набір з (n-4w) схем "2ІАБО", розділених на (n-4w)/2w лінійок 41, (n+1) вводів/виводів вузла керування секторними роздільниками, причому перші входи кожної α-схеми першого набору 37 схем "І" з'єднані з αелементом (n+1)-го вводу/виводу вузла керування секторними роздільниками, де 1≤α≤2w, другі входи з'єднані з (2w+1) елементом (n+1)-го вводу/виводу вузла керування секторними роздільниками 14, вихід кожної (2α-1) схеми "І" першого набору 37 з'єднаний з першим входом α-го регістра першої лінійки тригерів 35, вихід кожної 2α-схеми "І" першого набору 37 з'єднаний із другим входом α-го регістра, де 1≤α≤w, перший і другий виходи α-го регістра γ-ї лінійки 35 з'єднані з першим і другим входами α-го регістра (γ+1) лінійки 35, де 1≤γ≤(n/2w)-1, третій вихід кожного з регістрів з'єднаний з першим входом відповідної схеми "І" другого набору 40, другі входи всіх схем "І" другого набору 40 з'єднані з (2w+2)-м елементом (n+1) вводу/виводу вузла керування секторними роздільниками 14, вихід кожної η-ї схеми "І" другого набору 40 з'єднаний з η-м вводом/виводом вузла керування секторними роздільниками, де 1≤η≤n, перші входи схем "І" третього набору 38 і перші входи всіх схем "2I-АБО" з'єднані з відповідним вводом/виводом вузла керування секторними роздільниками, другі входи схем "І" третього набору 38 і другі входи всіх схем "2І-АБО" з'єднані з (2w+3) елементом (n+1) вводу/виводу вузла керування секторними роздільниками, вихід кожної μ-ї схеми "І" третього набору 38 з'єднаний із входом μгo тригера першої лінійки тригерів 36, де 1≤μ≤2w, вихід кожного μ-го тригера в λ-й лінійці тригерів 36 з'єднаний із третім входом μ-ї схеми "2І-АБО" в λ-й лінійці 41, де 1≤λ≤(n/2w)-1, четвертий вхід всіх схем "2І-АБО"з'єднаний з (2w+4) елементом (n+1) вводу/виводу вузла керування секторними роздільниками, вихід кожного μ-гo тригера в (n/2w) лінійці 36 з'єднаний з першим входом μ-ї схеми "І" четвертого набору 39, другі входи μ-ї схеми "І" четвертого набору 39 з'єднані з (2w+4) елементом (n+1) вводу/виводу вузла керування секторними роздільниками, вихід кожної μ-ї схеми "І" четвертого набору 39 з'єднаний з μ-м елементом (n+1) вводу/виводу вузла керування секторними роздільниками. Кожний секторний роздільник системи містить перший (d+e) розрядний регістр 42, другий дворозрядний регістр 43, набір схем "2І-АБО" 44, що містить (d+e) елементів, набір схем "І" 45, що містить 2(d+e) елементів, де d - розрядність шини даних, e - розрядність шини керування, п'ять вводів/виводів секторного роздільника, при цьому перші входи першої схеми "І" кожної зі схем "2І-АБО" від першої до d-ї з'єднані з першим вводом/виводом секторного роздільника, перші входи перших схем "І" кожної зі схем "2І-АБО" від (d+1)-ї до (d+e)-ї з'єднані із третім вводом/виводом секторного роздільника, перші входи других схем "І" кожної зі схем "2І-АБО" від першої до d-ї з'єднані із другим вводом/виводом секторного роздільника, перші входи других 5 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 60 схем "І" кожної зі схем "2І-АБО" від (d+1)-ї до (d+e)-ї з'єднані із четвертим вводом/виводом секторного роздільника, другі входи перших схем "І" кожної зі схем "2І-АБО" від першої до (d+e)ї з'єднані з першим виходом другого регістра 43, другі входи других схем "І" кожної зі схем "2ІАБО" від першої до (d+e)-ї з'єднані із другим виходом другого регістра 43, вихід ε кожної схеми "2І-АБО" з'єднаний з відповідним ε-м входом першого регістра 42, де 1≤ε≤(d+e), перші входи кожної (2θ-1) і 2θ схем "І" 45 з'єднані з θ виходом першого регістра 42, другі входи кожної непарної схеми "І" 45 з'єднані з першим виходом другого регістра 43, другі входи кожної парної схеми "І" з'єднані із другим виходом другого регістра 43, вихід кожної непарної схеми "І" від першої до 2d з'єднаний із другим вводом/виводом секторного роздільника, вихід кожної непарної схеми "І" від 2d до 2(d+e) з'єднаний із четвертим вводом/виводом секторного роздільника, вихід кожної парної схеми "І" від першої до 2d з'єднаний з першим вводом/виводом секторного роздільника, вихід кожної парної схеми "І" від 2d до 2(d+e) з'єднаний із третім вводом/виводом секторного роздільника, вхід другого регістра з'єднаний з п'ятим вводом/виводом секторного роздільника, вхід тригера стану 46 з'єднаний із четвертим вводом/виводом секторного роздільника, а його вихід з'єднаний з п'ятим вводом/виводом секторного роздільника. Блок службових функцій 15 містить вузол керування 47 службовими функціями системи пам'яті, вузол розподілу адресного простору 48 всієї пам'яті системи по блоках інтелектуальної пам'яті (БІП), вузол розміщення даних 49 по розподілених адресних просторах БІП, вузол 50 поділу програми користувача на частини й розміщення їх по процесорах БІП, перший інтерфейс 51 для вводу/виводу даних і кодів адреси, другий інтерфейс 52 для вводу/виводу керуючих сигналів, перший ввід/вивід блока службових функцій, з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід, з'єднаний з першим сектором кільцевої шини керування, третій ввід/вивід, з'єднаний з локальною шиною, при цьому перший ввід/вивід блока службових функцій з'єднаний з першим вводом/виводом даних першого інтерфейсу 51, другий ввід/вивід якого з'єднаний з першим вводом/виводом даних вузла розподілу пам'яті 48, другий ввід/вивід керуючих сигналів якого з'єднаний відповідно з першим вводом/виводом керуючих сигналів вузла розміщення даних 49, вузла поділу додатків 50 і першим вводом/виводом другого інтерфейсу 52, другий ввід/вивід якого з'єднаний із другим вводом/виводом блока службових функцій і з першим вводом/виводом вузла керування службовими функціями 47, другі вводи/виводи якого з'єднані із третім вводом/виводом блока службових функцій, при цьому третій ввід/вивід вузла керування службовими функціями 3 з'єднаний з третім вводом/виводом вузла розподілу пам'яті 48, четвертий ввід/вивід керуючих сигналів якого з'єднаний із четвертим вводом/виводом вузла керування службовими функціями 47, п'ятий ввід/вивід даних якого з'єднаний із другим вводом/виводом вузла розміщення даних 49, третій ввід/вивід керуючих сигналів якого з'єднаний із шостим вводом/виводом вузла керування 47, сьомий ввід/вивід даних якого з'єднаний із другим вводом/виводом вузла поділу додатків 50, третій ввід/вивід керуючих сигналів якого з'єднаний з відповідним восьмим вводом/виводом вузла керування службовими функціями 47, четвертий ввід/вивід даних вузла розміщення даних 49 і четвертий ввід/вивід даних вузла поділу додатків 50 з'єднані із третім вводом/виводом даних першого інтерфейсу 51. Наведений вище опис системи пам'яті, її блоків і зв'язків дозволяє пристрою, що заявляється, підвищити швидкодію системи пам'яті й збільшити межі її масштабування за рахунок введення секторних роздільників, які розділяють кільцеві шини на сектори, блока керування секторними роздільниками й блока службових функцій. При великій кількості блоків пам'яті, підключених до загальної шини, значно зростає її довжина і, отже, ємність, що істотно впливає на частоту роботи шини у бік її зниження. Введення секторних роздільників в кільцеву шину в місцях, де починає позначатися вплив ємності на частоту її роботи дозволяє уникнути зниження пропускної здатності шини. Точки включення секторних роздільників залежать від характеристик конкретної шини. Включення роздільників типу ring stop з кожним блоком пам'яті, що підключається до кільцевої шини, вносить велике число затримок при розповсюдженні сигналу по шині до віддалених блоків, так при n1 блоках пам'яті затримка сигналу рівна τ×n1, де τ затримка в роздільнику. При використанні запропонованої у винаході блок-схеми побудови кільцевої шини число роздільників n2 значно менше і, отже, τ×n1>τ×n2. Можливість блокування за допомогою секторних роздільників кожного сектора кільцевої шини від впливу інших секторів, що залишилися, дозволяє реалізувати паралельні обчислення в секторних наборах заблокованих секторів, що також істотно збільшує продуктивність системи в цілому. Таким чином, додавання нових секторів кільцевої шини разом із секторними наборами БІП не може істотно збільшити ємність кільцевої шини, при цьому кожний БІП у доданому 6 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 секторному наборі "бачить" БІП тільки свого секторного набору, тим самим збільшуючи межі масштабованості системи в цілому. Введення спеціально виділеного апаратно-програмного блока службових функцій до складу системи замість реалізації цих функцій тільки відомими програмними засобами дозволяє на початку роботи системи або в будь-який інший момент її функціонування настроїти (або перебудувати) ресурси системи під рішення конкретного завдання, що також істотно підвищує продуктивність системи в цілому. Схема інтелектуальної системи пам'яті з кільцевою шиною, наведена на фіг. 1, містить системний контролер пам'яті 1, множину N блоків інтелектуальної пам'яті 2, кільцеву шину 3, що складається з кільцевої шини даних 4 і кільцевої шини керування 5, системний блок керування кільцевою шиною 6, локальну шину 7, з'єднану з системним вводом/виводом 8, системний ввід/вивід даних 9, системний ввід/вивід керуючих сигналів 10. Кільцева шина 3 містить загальні для кільцевої шини даних 4 і кільцевої шини керування 5 n керованих секторних роздільників 11, які ділять її на n секторів 12, при цьому множина із N блоків інтелектуальної пам'яті розділена відповідно на секторні набори 13, кількість яких дорівнює (n-1), кількість блоків інтелектуальної пам'яті в кожному секторному наборі дорівнює N/(n-1). Крім того, інтелектуальна розподілена система пам'яті містить вузол керування секторними роздільниками 14, блок службових функцій системи пам'яті 15. Системний контролер пам'яті 1 має п'ять вводів/виводів 1, 2, 3, 4 і 5, причому 1 і 2 вводи/виводи з'єднані з системним вводом/виводом керуючих сигналів 10 і системним вводом/виводом даних 9, вводи/виводи 3, 4 і 5 з'єднані відповідно з локальною шиною 7, першим сектором шини даних 4 і шини керування 5, перший й другий вводи/виводи блока службових функцій системи пам'яті 15 з'єднані з першим сектором шини даних 4 і шини керування 5 відповідно, третій ввід/вивід з'єднаний з локальною шиною 7. Системний блок керування кільцевою шиною 6 має три вводи/виводи, при цьому перший й другий вводи/виводи з'єднані з першим сектором шини даних 4 і шини керування 5 відповідно, третій ввід/вивід з'єднаний з (n+1) вводом/виводом вузла керування секторними роздільниками 14. Кожний блок інтелектуальної пам'яті 2 має два вводи/виводи, з'єднані з секторами шини даних і шини керування відповідно. Кожний керований секторний роздільник 11 має п'ять вводів/виводів при цьому перший й третій вводи/виводи з'єднані відповідно з попередніми секторами шини даних і шини керування, другий й четвертий вводи/виводи - з наступними секторами шини даних і шини керування відповідно, п'ятий ввід/вивід з'єднаний з відповідним вводом/виводом вузла керування секторними роздільниками 14, що має (n+1) вводів/виводів. Системний контролер пам'яті 1 керує роботою всієї системи інтелектуальної пам'яті, забезпечуючи її застосування як: - основної або додаткової пам'яті будь-якої комп'ютерної системи з реалізацією класичних функцій пам'яті - запис, зберігання й читання інформації; - засобу обробки типу " Процесор-в-пам'яті" (Processor-in-memory") разом з наявними усередині системи пристроями пам'яті з реалізацією функцій паралельної обробки як секторними наборами (13) блоків інтелектуальної пам'яті, так і блоками інтелектуальної пам'яті (2) усередині кожного секторного набору. Набір основних функцій, реалізованих системним контролером пам'яті 1, визначається керуючим пакетом, що надходить від хост-машини по локальній шині 7 на вводи/виводи 3 системного контролера пам'яті 1. Варіант структури пакета, що містить поля, згідно з наведеними вище застосуваннями системи пам'яті має такий вигляд: , при цьому прийняті наступні позначення: СДПоп - специфікатор дії пакета, що визначає операції, які повинні бути виконані об'єктомадресатом після одержання пакета; ПД1 - поле значення параметрів (даних), які можуть використовуватися при виконанні поточної дії або можуть бути частиною процесу, що переносить значення в наступні місця розташування; КОПстр - код рядка явних операцій, що визначає дію пакета; ПРреж - поле ознаки, що відбиває характер і послідовність дій у різних режимах роботи системи пам'яті, у тому числі - як звичайна пам'ять, а також як "Процесора-в-пам'яті"; ПРрес - поле ознаки використання ресурсів обробки інформації власної системи або додаткових ресурсів за рахунок інших систем, підключених через відповідні інтерфейси; 7 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 60 КЗсп - коди запуску сервісних програм для виконання функцій: розподілу пам'яті й розміщення даних, розбивки завдання на паралельні фрагменти, формування нового керуючого пакета, запуску бібліотеки стандартних підпрограм, завантаження даних і ін.; КРкш - код для керування режимами роботи кільцевих шин (широкомовна передача по кільцевих шинах даних або команд, виділення секторних наборів БІП і відповідно секторів кільцевих шин для паралельної обробки й ін.); ККчип - код для керування комутацією усередині чипа (блока інтелектуальної пам'яті); ККм/чип - код для керування передачею межчиповою мережею усередині секторного набору БІП; ЧТв·адр - поле адреси для читання віддаленого, віртуального адресного обігу за межі системи; ПДм·чип - поле адреси для передачі блоків даних між чипами різних секторних наборів БІП; Пдоп - додаткові (допоміжні) поля, необхідні для надійного транспортування, виявлення помилок, маршрутизації й керування контекстом; ПДзак - заключний елемент пакета - поле, що визначає наступні дії після закінчення виконання даного пакета, наприклад можуть бути створені один або більше дочірніх пакетів. Пакет може змінюватися по довжині, таким чином, забезпечуючи ефективну обробку простих операцій з маленькими пакетами й ефективним використанням смуги пропускання для переміщення більших блоків даних. Інтерфейси пакета (послідовно-паралельні) представлені каналами для активного керованого повідомленням обчислення між БІП по кільцевих шинах. Пакети також можуть використовуватися для виконання операцій типу віддаленого завантаження або зберігання, а також для виклику методів обробки на іншої аналогічний БІП системи пам'яті, переміщаючи тим самим за допомогою пакетів методи обробки ближче до даних за менший час, ніж дані (як звичайно) передаються до них. Пакети дозволяють здійснювати розбивку або розщеплення операцій, забезпечуючи тим самим припустимий час очікування для всієї системи. Стосовно пропонованої системи інтелектуальної пам'яті (фіг. 1) керуючий пакет, крім зазначених вище полів, містить поля й ознаки, що відбивають характер і послідовність дій, що забезпечують настроювання ресурсів системи (П настр) перед запуском її на рішення конкретного завдання, а також при необхідності перебудову ресурсів у процесі роботи. Слід зазначити, що склад полів керуючого пакета й розрядність кожного поля визначається типом і функціональними можливостями інтелектуальної системи пам'яті (ІСП), а також особливостями розв'язуваних за допомогою ІСП завдань. При цьому довжина (кількість розрядів) керуючого пакета може дорівнювати довжині рядка збережених у БІП даних (наприклад, 256 біт), і тому пакети можуть бути збережені в рядку широких регістрів і оброблені безпосередньо арифметико-логічним пристроєм БІП. У відповідність із функціями, які визначені полями керуючого пакета, методами використання ІСП і режимами її роботи, системний контролер пам'яті 1 містить з'єднані відповідними зв'язками мікропрограмний автомат (або мікропроцесор) з локальною пам'яттю, набір широких регістрів для тимчасового зберігання й аналізу керуючого пакета, схему для аналізу вступника коду адреси для визначення "свого" обігу або обігу за межі пам'яті ІСП, а також набір інтерфейсних схем для підключення системного контролера пам'яті через перший ввід/вивід до системного вводу/виводу керуючих сигналів 10, через другий ввід/вивід - до системного вводу/виводу даних 9, через третій ввід/вивід - до системного вводу/виводу 8 локальної шини 7, через четвертий ввід/вивід - до кільцевої шини даних 4 першого сектора, й через п'ятий ввід/вивід - до кільцевої шини керуючих сигналів 5 першого сектора. Системний блок керування кільцевою шиною 6 призначений для керування кільцевою шиною при передачах по ній інформації, що надходить на кільцеву шину із системного блока службових функцій 15 і системного контролера пам'яті 1 у БІП при виконанні операції запису, або на кільцеву шину з БІП будь-якого секторного набору при виконанні операції читання й передачі отриманих даних на перший сектор кільцевої шини й далі на відповідні вводи/виводи системного контролера 1 і системного блока службових функцій 15. При цьому системний блок 6 виконує наступні функції: - фіксація (наприклад, у вигляді відповідних індексів або табличного опису) компонентів і зв'язків кільцевої шини із указанням кількості секторних роздільників і секторів з виділенням першого сектора кільцевої шини для зв'язку із системним контролером пам'яті 1 і системним блоком службових функцій 15, а інших секторів - з відповідними секторними наборами БІП 13; - керування широкомовним режимом передачі, коли всі секторні роздільники відкриті для передачі по кільцевій шині інформації від кожного попереднього сектора до кожного наступного й навпаки; 8 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 60 - керування адресним режимом передачі інформації, коли відкриті секторні роздільники тільки по шляху передачі інформації або з одного секторного набору БІП в інший, або із секторного набору БІП у перший сектор кільцевої шини й далі на відповідні входи блоків 1 і 15; - керування режимом секторного блокування, коли один або кілька секторів кільцевої шини згідно з адресною зоною секторних наборів БІП блокуються секторними роздільниками 11 від інших секторів шини, надаючи тим самим можливість виділеним (заблокованим) секторним наборам БІП паралельно виконувати приписані їм ділянки алгоритмів. При реалізації зазначених функцій системний блок керування кільцевою шиною 6 використовує наступні поля керуючого пакета, виділені системним контролером пам'яті 1 і передані на його другі вводи/виводи через перший сектор кільцевої шини керування: КР кш, ПРреж, КЗсп, ККм/чип, Пдм·чип, Пдоп та їх комбінації. Таким чином, виходячи з набору функцій, що підлягають реалізації, системний блок керування кільцевою шиною містить наступні компоненти, з'єднані відповідними зв'язками: - таблицю параметрів кільцевої шини, що ідентифікують структуру кільцевої шини із указанням розрядності шини даних, шини керування, кількості секторів, на які розділена кільцева шина, кількості секторних роздільників, кількості секторних наборів БІП і кількості БІП у кожному секторі із указанням адресного простору ємності пам'яті кожного БІП і сектора в цілому; - набір регістрів КЕШ-пам'яті для зберігання кодів полів КРкш, ПРреж, КЗсп, ККм/чип, Пдм·чип, Пдоп і їхніх комбінацій; - вузол аналізу й обробки кодів полів регістрів КЕШ-пам'яті, а також вхідних керуючих сигналів, що надходять на другі вводи/виводи системного блока керування 6 з кільцевої шини керування 5 першого сектора; - вузол формування кодів керуючих сигналів по кодах адреси й оброблених кодів полів керуючого пакета для реалізації перерахованих вище режимів роботи кільцевої шини, при цьому коди керуючих сигналів надходять із третього вводу/виводу системного блока керування кільцевою шиною 6 на (n+1)-і вводи/виводи вузла керування секторними роздільниками 14, а коди адреси - з першого сектора кільцевої шини даних 4 на перші вводи/виводи системного блока керування кільцевою шиною 6; - інтерфейсні схеми для зв'язку системного блока керування 6 з кільцевою шиною даних і кільцевою шиною керування першого сектора кільцевої шини. Секторні роздільники 11 призначені для передачі даних і керуючих сигналів попереднього сектора кільцевої шини через вводи/виводи 1 і 3 секторного роздільника на наступний сектор з вводів/виводів 2 і 4 секторного роздільника й у зворотному напрямку залежно від двійкового коду керуючого сигналу (01 або 10), що зберігається в регістрі 2R. При значенні коду керуючого сигналу 00 передача інформації з кільцевої шини через секторний роздільник 11 заборонена, тим самим є можливість блокування вибраного сектора 12 кільцевої шини 3 із двох сторін, забезпечуючи тим самим обробку даних відповідним секторним набором 13 незалежно від інших секторних наборів. Вузол керування секторними роздільниками 14 призначений для прийому керуючої інформації з (n+1) вводу/виводу із блока керування кільцевою шиною 6, що записується в регістри й далі передається по n вводах/виводах у секторні роздільники 11, про стан відповідних секторів кільцевої шини й напрямку передачі даних у секторах. Він також приймає інформацію про стан секторів БІП із тригерів стану секторних роздільників 11 і записує її у свої тригери для наступної передачі по (n+1) вводу/виводу блока керування кільцевою шиною для наступного аналізу стану системи. Блок службових функцій системи пам'яті 15 призначений для розподілу ресурсів інтелектуальної системи пам'яті в цілому, включаючи розподіл усього адресного простору пам'яті по сумарній пам'яті секторних наборів 13, відповідного розміщення даних, поділ програм користувача по секторних наборах на паралельно виконувані частини й завантаження засобів обробки секторних наборів 13. При цьому блок службових функцій 15 може працювати у двох основних режимах: режим 1 і режим 2. У режимі 1 блок 15 здійснює вихідне настроювання системних ресурсів для оптимального рішення користувацького завдання. У режимі 2 блок 15 здійснює перерозподіл ресурсів у процесі роботи системи. При цьому алгоритми реалізації перерахованих вище функцій розподілу ресурсів за допомогою блока 15 у загальному випадку ґрунтуються на відомих способах. Наприклад, способи розподілу пам'яті РІМ-систем, які наведені в публікації: Яковлев Ю.С., Тихонов Б.М. О распределении памяти в компьютерных системах // Управляющие системы и машины. - № 5. - 2006. - с. 40-47. Основні способи розміщення даних описані в публікації: Яковлев Ю.С., Тихонов Б.М. Об оптимизации размещения данных в РІМ-системе // Математичні машини і системи. - № 3. - 2006. - с. 24-35. Способи поділу додатків (програм користувача) на паралельно реалізовані фрагменти в РІМ 9 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 60 системі, описані в публікації: Яковлев Ю.С., Елисеева Е.В. Математическая модель и стратегия распределения приложений для интеллектуальной памяти распределенных компьютерных систем // Математичні машини і системи. - № 4, - 2009. - с. 3-17. Однак, якщо всі ці способи орієнтовані на чисто програмну реалізацію за допомогою спеціальних програмних пакетів, то стосовно пропонованої системи пам'яті (фіг. 1) кожна з функцій розподілу ресурсів розділяється на дві частини: одна частина, що стосується аналізу алгоритму розв'язуваного завдання й визначення його параметрів (типи й частота зустрічі команд, кількість одинарних і вкладених циклів, типи й характер взаємозв'язку операторів (сильнозв'язані, слабозв'язані й незв'язані й інші параметри)) реалізується хост-машиною, і отримані параметри надходять через системний ввід/вивід 8, локальну шину 7, на ввід/вивід 3 блока службових функцій 3, де запам'ятовуються в спеціально відведеній для цього області пам'яті, що входить до складу блока 3. Друга частина реалізації службових функцій, що стосується безпосередньо алгоритмів розподілу пам'яті, розміщення даних і поділу додатків, перекладена на апаратно-програмні засоби спеціально виділених для цієї мети вузлів, що входять у блок 15. Такий поділ дозволяє більш оперативно реагувати на ефективність використання ресурсів при реалізації режиму 2 і в першу чергу - на баланс завантаження процесорів у кожному секторі 13, що позитивно позначається на підвищенні продуктивності системи в цілому. Більш докладно схема блока службових функцій буде представлена при описі фіг. 6. На фіг. 2 показана схема блока інтелектуальної пам'яті БІП 2. Порівняння фіг. 1 і фіг. 2 показує, що загальний вигляд схеми, типи вузлів і блоків їхнього призначення й зв'язки між ними й з кільцевою шиною фактично є подібними, за винятком, того, що схема на фіг. 2 призначена для реалізації на одному кристалі (чипі) відповідно до принципів побудови РІМ-систем, а схема на фіг. 1 орієнтована на просторову реалізацію з використанням окремо виконаних модулів, блоків і інших конструктивів. Тому до складу схеми на фіг. 2 уведений ведучий процесор 27, з'єднаний через ввід/вивід 3 з локальною шиною 29, і в кожному секторному наборі 24 використовують замість БІП 2 банки пам'яті 23, кожний з яких включає свій процесор пам'яті (процесорне ядро - ПЯ), при цьому перший ввід/вивід кожного банку пам'яті секторного набору 24 з'єднаний з відповідним сектором 20 кільцевої шини даних 17, а другі вводи/виводи банків пам'яті одного сектора з'єднані між собою й підключені до другого вводу/виводу секторного контролера 25, перший ввід/вивід якого з'єднаний з відповідним сектором кільцевої шини керування 18. Оскільки на фіг. 2 у кожному секторі 24 (крім першого сектора) використовуються банки пам'яті 23 замість БІП 2 у секторі 13 на фіг. 1, сумарна ємність пам'яті секторного набору 24 (фіг. 2) істотно менше сумарної ємності пам'яті секторного набору 13 (фіг. 1). Цей фактор повинен бути врахований при розподілі ресурсів блоком 30 (фіг. 1) між секторними наборами 24 (фіг. 2). Секторний контролер 25 призначений для керування всіма режимами роботи банків пам'яті 23, а також для аналізу, формування й видачі сигналів завантаження ПЯ й звільнення банків пам'яті в кожному секторі й видачі цих сигналів через перший ввід/вивід контролера 25 на кільцеву шину керування першого сектора для подальшого їхнього використання блоком керування 21 і вузлом керування секторними роздільниками 22. Призначення, склад і взаємозв'язки інших блоків і вузлів фіг. 2 ідентичні призначенню, складу, взаємозв'язкам вузлів і блоків, наведених на фіг. 1. На фіг. 3 показаний варіант виконання секторного набору БІП з використанням локальної шини даних, що може підвищити продуктивність сектора за рахунок створення можливості паралельних передач даних як по сектору кільцевої шини, так і по локальній шині. На фіг. 4 (фіг. 4А й 4В) показана блок-схема вузла керування секторними роздільниками (ВКСР) 14 (фіг. 1), що містить n 2-розрядних регістрів і n тригерів. Їхня кількість визначається кількістю секторних роздільників у схемі на фіг. 1. Кількість 2-розрядних регістрів і тригерів у лінійках 35 і 36 визначається розрядністю (n+1) вводу/виводу у вузлі керування секторними роздільниками 14 - 2w, плюс 4 керуючих сигнали (2w+1)÷(2w+4). Оскільки регістри 2-розрядні їх у лінійці 35 - w, а тригери однорозрядні їх - 2w. Кількість схем "І" у першому 37, третьому 38 і четвертому 39 наборах і схем "2І-АБО" у лінійках 41 дорівнює розрядності (n+1) вводу/виводу 2w, кількість схем "І" у другому наборі 40 дорівнює n. Кількість вводів/виводів у вузлі керування секторними роздільниками 14 дорівнює (n+1). Перші входи схем "І" у першому наборі 37 з'єднані з відповідними елементами (n+1) вводу/виводу, другі входи з'єднані з (2w+1) керуючим елементом (n+1) вводу/виводу. Виходи непарних схем "І" у першому наборі 37 з'єднані з першими входами регістрів першої лінійки 35, виходи парних схем "І" з'єднані із другими входами регістрів. Виходи регістрів кожної лінійки 35 10 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 60 з'єднані із входами регістрів наступної лінійки. Перші входи схем "І" у другому наборі 40 з'єднані з відповідними третіми виходами регістрів всіх лінійок, другі входи схем "І" з'єднані з (2w+2) керуючим елементом (n+1) вводу/виводу, виходи схем "І" другого набору 40 з'єднані з відповідним вводом/виводом у вузлі керування секторними роздільниками від 1 до n 14. Перші входи схем "І" третього набору 38 і перші входи схем "2І-АБО" у лінійках 41 з'єднані з відповідним вводом/виводом у вузлі керування секторними роздільниками від 1 до n, другі входи з'єднані з (2w+3) керуючим елементом (n+1) вводу/виводу. Виходи схем "І" третього набору 38 з'єднані із входами тригерів першої лінійки 36. Виходи тригерів лінійок 36 від 1 до ((n/2w)-1) з'єднані із третіми входами схем "2І-АБО" у лінійках 41, четверті входи схем "2І-АБО" з'єднані з (2w+4) керуючим елементом (n+1) вводу/виводу. Виходи тригерів (n/2w) лінійки 36 з'єднані з відповідними першими входами схем "І" четвертого набору 39, другі входи схем "І" з'єднані з (2w+4) керуючим елементом (n+1) вводу/виводу. Виходи схем "І" четвертого набору 39 з'єднані з відповідними елементами від 1 до 2w (n+1) вводу/виводу. Перший набір 37 схем "І" керує передачею даних із блока керування кільцевою шиною (БККШ) 6 у вузол керування секторними роздільниками (ВКСР) 14. Другий набір 40 схем "І" керує передачею даних з вузла керування секторними роздільниками в секторні роздільники (СР). Третій набір 38 схем "І" керує передачею даних із секторних роздільників у набори тригерів 36 секторних роздільників. Четвертий набір 39 схем "І" керує передачею даних із тригерів (n/2w) лінійки 36 у блок керування кільцевою шиною через (n+1) ввід/вивід вузла керування секторними роздільниками. Лінійки регістрів 35 приймають інформацію з БККШ 6 і потім передають через набір схем "І" 40 у регістри секторного роздільника. Лінійки тригерів 36 приймають інформацію із тригерів стану 46 секторних роздільників 11 і потім відправляють через четвертий набір схем "І" 39 і (n+1) ввід/вивід вузла керування секторними роздільниками в БККШ 6. Робота ВКСР 14 полягає в наступному: при наявності керуючого сигналу (2w+1) із блока керування кільцевою шиною (БККШ) дані з (n+1) вводу/виводу по 2w елементах записуються в першу лінійку регістрів 35. У наступному такті інформація з першої лінійки переміщується в другу, а в першу записується наступна порція даних і т. д. до заповнення всіх n/2w лінійок, на що потрібно n/2w тактів. Після заповнення всіх лінійок тригерів з БККШ надходить сигнал (2w+2) і через другий набір 40 схем "І" дані з регістрів надходять на n вводів/виводів ВКСР і далі записуються в другий регістр R2 секторного роздільника 11 (при паралельній передачі за один такт, при послідовній за два). При надходженні сигналу (2w+3) з БККШ, дані із тригерів стану секторних роздільників через схеми "І" третього набору 37 і схеми "2І-АБО" 41 паралельно записуються в тригера лінійок 36 ВКСР за один такт. Після цього надходить сигнал (2w+4) з БККШ і інформація із тригерів n/2w лінійки 36 по 2w розрядах надходить через (n+1) ввід/вивід у БККШ, паралельно відбувається переміщення даних у тригерах убік n/2w лінійки. Після n/2w тактів інформація буде передана в БККШ для подальшого аналізу. На фіг. 5 показано блок-схему секторного роздільника 11 (фіг. 1). Вона містить набір 44 з (d+e) схем "2І-АБО", набір 45 з 2(d+e) схем "І", перший регістр R1 42 з (d+e) розрядів, де d розрядність кільцевої шини даних і е - розрядність кільцевої шини керування, другий дворозрядний регістр R2 43 і тригер стану 46. Перші входи перших схем "І" набору схем "2ІАБО" 44 від 1 до d і від (d+1) до (d+e) підключені до першого й третього вводу/виводу секторного роздільника. Другі входи перших схем "І" набору схем "2І-АБО" 44 від 1 до (d+e) і другі входи всіх парних схем "І" набору 45 з'єднані з першим виходом регістра R2 43. Перші входи других схем "І" набору схем "2І-АБО" 44 від 1 до d і від (d+1) до (d+e) підключені до другого й четвертого вводу/виводу секторного роздільника. Другі входи других схем "І" набору схем "2І-АБО" 44 від 1 до (d+e) і другі входи всіх непарних схем "І" набору 45 з'єднані із другим виходом регістра R2 43, вхід якого з'єднаний з п'ятим вводом/виводом секторного роздільника. Вхід тригера стану 46 з'єднаний із четвертим вводом/виводом секторного роздільника, вихід його з'єднаний з п'ятим вводом/виводом секторного роздільника. Набір схем "2І-АБО" 44 керує подачею даних на входи регістра Rl 42 або з першого й третього вводів/виводів або другого й четвертого вводів/виводів секторного роздільника залежно від стану регістра R2 43. Регістр R1 42 зберігає один такт інформації, що надходить із вводів/виводів секторного роздільника. Набір схем "І" 45 керує подачею даних з виходів регістра R1 42 або на другий й четвертий ввід/вивід або на перший й третій ввід/вивід секторного роздільника залежно від стану регістра R2 43. Регістр R2 43 приймає інформацію з п'ятого вводу/виводу секторного роздільника з ВКСР і керує передачею даних між вводами/виводами. Тригер стану 46 приймає інформацію з 4 вводу/виводу секторного роздільника про стан набору БІП - вільний або зайнятий. Цей стан передається через п'ятий ввід/вивід секторного роздільника в ВКСР. Регістр R2 43 залежно від інформації, що надійшла по вводу/виводу 5 секторного роздільника, може мати комбінацію 00, 01 і 10. Стан 11 є забороненим. При стані 10 відкриті 11 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 перші схеми "І" схем "2І-АБО" й через них дані з 1 і 3 вводів/виводів секторного роздільника записуються в перший регістр R1 42. У цьому стані відкриті парні схеми "І" і через них інформація в наступному такті надходить на 2 і 4 вводи/виводи секторного роздільника. У стані 01 відкриті другі схеми "І" схем "2І-АБО" і дані з 2 і 4 вводу/виводу секторного роздільника записуються в перший регістр R1 42 і в наступному такті надходять на 1 і 3 вводи/виводи. Стан 00 блокує передачу даних між секторами кільцевої шини. На фіг. 6 зображена схема блока службових функцій 15 (фіг. 1), що містить вузол керування 47 службовими функціями системи пам'яті, вузол розподілу адресного простору 48 всієї пам'яті системи по блоках інтелектуальної пам'яті БІП 2, вузол розміщення даних 49 по розподілених адресних просторах БІП, вузол поділу програми користувача 50 на частини й розміщення їх по процесорах БІП, перший інтерфейс 51 для вводу/виводу даних і кодів адреси, другий інтерфейс 52 для вводу/виводу керуючих сигналів, перший ввід/вивід блока службових функцій, з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід, з'єднаний з першим сектором кільцевої шини керування, третій ввід/вивід, з'єднаний з локальною шиною 7, при цьому перший ввід/вивід блока службових функцій з'єднаний з першим вводом/виводом даних першого інтерфейсу 51, другий ввід/вивід якого з'єднаний з першим вводом/виводом даних вузла розподілу пам'яті 48, другий ввід/вивід керуючих сигналів якого підключений відповідно до перших вводів/виводів керуючих сигналів вузла розміщення даних, вузла поділу додатків і до першого вводу/виводу другого інтерфейсу 52, другий ввід/вивід якого з'єднаний із другим вводом/виводом блока службових функцій і з першим вводом/виводом вузла керування службовими функціями 47, другі вводи/виводи якого з'єднані із третім вводом/виводом блока службових функцій, при цьому третій ввід/вивід вузла керування службовими функціями 47 з'єднаний із третім вводом/виводом вузла розподілу пам'яті 48, четвертий ввід/вивід керуючих сигналів якого з'єднаний із четвертим вводом/виводом вузла керування службовими функціями 47, п'ятий ввід/вивід даних якого з'єднаний із другим вводом/виводом вузла розміщення даних 49, третій ввід/вивід керуючих сигналів якого з'єднаний із шостим вводом/виводом вузла керування 47, сьомий ввід/вивід даних якого з'єднаний із другим вводом/виводом вузла поділу додатків 50, третій ввід/вивід керуючих сигналів якого з'єднаний з відповідним восьмим вводом/виводом вузла керування службовими функціями 47, четвертий ввід/вивід даних вузла розміщення даних 49 і четвертий ввід/вивід даних вузла поділу додатків 50 з'єднані із третім вводом/виводом даних першого інтерфейсу 51. Пристрій ІСП, зображений на фіг. 1, працює в такий спосіб. При першому запуску ІСП спочатку обнуляють уміст всіх регістрів (коло скидання на фіг. 1 не показані). Потім виконують настроювання секторних роздільників 11 кільцевої шини 3 ІСП на заданий режим роботи, і для режиму 2 (режим РІМ-системи) настроювання ресурсів під параметри реалізованого користувацького завдання. Для цього через системний ввід/вивід 8 від хост-машини й локальну шину 7 на треті вводи/виводи блока контролера системи пам'яті 1 і блока службових функцій 15 надходить керуючий пакет, сформований хост-машиною або системою подібного типу через системні вводи/виводи 9 і 10 на відповідні вводи/виводи 2 і 1 контролера 1 і далі через ввід/вивід 3 блока 1 і локальну шину 7 на ввід/вивід 3 блока 15. Пакет запам'ятовують у блоках 1 і 15, де відбувається аналіз змістовної сутності кожного його поля. Якщо код поля ПРреж вказує на звичайний класичний режим використання ІСП із реалізацією тільки стандартних для пам'яті операцій запису, зберігання й читання даних, контролер пам'яті 1 по кодах полів ПРреж, ПРрес, КРкш, СДПоп виробляє відповідний керуючий код, що із вводу/виводу 5 цього блока через перший сектор керуючої шини 5 надходить на другий ввід/вивід блока 6 керування кільцевою шиною. Блок 6 виробляє набір керуючих сигналів (2w+1), (2w+2), (2w+3), (2w+4) і ін., які надходять на (n+1)-й ввід/вивід вузла керування секторними роздільниками 14 (фіг. 4, фіг. 5). При цьому блок 14 видає на свої виводи, кожний з яких підключений до відповідного п'ятого входу секторного роздільника 11, кодову комбінацію 01 (передача даних по кільцевій шині через секторний роздільник в одному напрямку, наприклад за годинниковою стрілкою) або 10 (передача проти годинниковий стрілці). При кодовій комбінації 00 будь-яка передача даних через кільцевий роздільник блокується. Таким чином, забезпечена можливість як широкомовної передачі інформації з кільцевої шини даних 4 і кільцевої шини керування 5 у двох напрямках, так і можливість передачі інформації до заблокованого (вибраного) сектора, наприклад, з метою запису даних і керуючої інформації в БІП 2 вибраного секторного набору 13. Інформація для запису (коди адреси й дані) і відповідні керуючі сигнали надходять або із вводів/виводів 4 і 5 контролера пам'яті 1, або із вводів/виводів 1 і 2 блока службових функцій 15 через перший сектор кільцевої шини 3. При цьому код адреси й дані можуть бути також при необхідності позначені ідентифікаторами поля ПДі керуючого пакета. 12 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 60 Інформація в вибраному секторі 12 кільцевої шини 3 (фіг. 1) надходить на вводи/виводи 1 і 2 вибраного згідно з кодом адреси БІП 2, і через вводи/виводи 32 і 33 (фіг. 2) контролера БІП 31, його вводи/виводи 4 і 5, перший сектор відповідних кільцевих шин 17 і 18 надходить на перший ввід/вивід відповідного банку пам'яті 23 (код адреси й дані) і перший ввід/вивід секторного контролера керування 23, що формує набір керуючих сигналів, необхідний для виконання операцій запису або читання. Цей набір сигналів надходить із вводу/виводу 2 контролера 25 на другий ввід/вивід вибраного банку пам'яті 23. Операцію читання даних з будь-якого банку пам'яті 23 будь-якого сектора БІП 24 виконують аналогічно операції запису, при цьому лічені дані по тій же схемі ланцюжка проходження даних при записі (тільки у зворотному порядку) можуть бути передані або на хост-машину через локальну шину 7 і ввід/вивід 8, або на зовнішні пристрої через контролер системи пам'яті 1 і системні вводи/виводи 9 і 10. При цьому як при виконанні операції читання, так і при виконанні операції запису склад реалізованих функцій і робота блока керування 21 кільцевою шиною БІП, вузла керування 22 секторними роздільниками БІП і безпосередньо секторних роздільників 19 кільцевої шини 16 БІП (фіг.2) ідентичні складу реалізованих функцій і роботі відповідних вузлів і блоків 6, 11 і 14 системи пам'яті, наведеної на фіг. 1. При застосуванні запропонованої інтелектуальної системи пам'яті як ефективного засобу обробки інформації в місці її зберігання, тобто в режимі роботи РІМ-системи ("Процесор-впам'яті") спочатку здійснюють вихідне настроювання ресурсів на розв'язуване користувачем завдання. Для цього через системний ввід/вивід 8, локальну шину 7, на третій ввід/вивід блока 15 (фіг. 1) надходить інформація про параметри вирішуваної користувацької задачі (типи циклів і їх кількість, необхідні операції і їх частота зустрічі, типи взаємозв'язку операторів та ін.), яку запам'ятовують на відповідних регістрах блока 15. Ця інформація заздалегідь готується хостмашиною, використовуючи для цього відповідний програмний пакет. Після цього по тому ж ланцюгу від хост-машини на локальну шину 7 надходить керуючий пакет, коди полів якого ПРреж, ПРрес, КЗсп, ПДзак записують у відповідні регістри блока 15, а коди полів ПР реж, КРкш, ККчип, ККм/чип, ПДм·чип, Пдоп, ПДзак СДпоп - в контролер системи пам'яті 1. Залежно від значення коду поля КЗсп процеси розподілу пам'яті, розміщення даних і розділення додатків може здійснюватися за допомогою спеціальних сервісних програм, реалізованих апаратно-програмним способом у відповідних вузлах 48, 49 і 50 (фіг. 6), або інтуїтивно самим користувачем, використовуючи для цього або хост-машину, або системні входи 9 і 10 через контролер пам'яті 1. Результати виконання вказаних службових функцій представляють у вигляді таблиць у відповідних вузлах: у вузлі 48 - таблиця розподілу всього адресного простору пам'яті по секторних наборах 13 і по БІП кожного набору; у вузлі 49 - таблиця ідентифікаторів розміщення даних по БІП кожного секторного набору, і у вузлі 50 - таблиця ідентифікаторів розділення додатків по БІП секторного набору 13. Після цього дані таблиць і розділені по БІП фрагменти додатків передають в кожен відповідний блок службових функцій 30 БІП (фіг. 2) по ланцюгах: перший ввід/вивід блока 15 (фіг. 1), перший сектор кільцевої шини 4, секторні роздільники 11, ввід/вивід БІП 32 (фіг. 2), четвертий ввід/вивід блока 31, перший сектор кільцевої шини 17, перший ввід/вивід блока службових функцій БІП 30 (фіг. 2). При цьому процес керування секторними роздільниками 19 на фіг. 2 виконується аналогічно описаному вище процесу керування секторними роздільниками при записі (читанні) інформації в БІП. Склад і функції блока службових функцій БІП 30 (фіг. 2) аналогічні складу і функціям блока службових функцій 15 (фіг. 6). Відмінність полягає в тому, що блок 30 реалізує службові функції стосовно банків пам'яті 23 кожного сектора 24 (фіг. 2), а блок 15 (фіг. 1) - стосовно всього масиву пам'яті кожного БІП. Така ієрархія реалізації службових функцій продиктована особливостями архітектурно-структурної організації РІМ-систем, оскільки процесори пам'яті (ПЯ) кожного банку пам'яті БІП орієнтовані на виконання операцій, що часто зустрічаються в алгоритмі, з масовими зверненнями до банків пам'яті. Тому оптимальний розподіл пам'яті і розміщення даних усередині БІП має велике значення для забезпечення високої продуктивності системи в цілому. Розділені фрагменти додатків, таблиці розподілу пам'яті, розміщення даних по банках пам'яті отримують на другому рівні реалізації службових функцій за допомогою блока 30 (фіг. 2) на підставі даних таблиць і фрагментів додатків після реалізації службових функцій першого рівня за допомогою блока 15 (фіг. 1). При цьому фрагменти додатків передають по відповідних зв'язках в КЕШ-пам'ять 28 ведучого процесора 27 і у відповідні банки пам'яті кожного БІП всіх секторів. На основі аналізу поля СДпоп контролер пам'яті 31 виробляє сигнали ініціалізації керуючих процесів обробки інформації, які з вводу/виводу 5 через перший сектор кільцевої шини керування надходять на другий ввід/вивід ведучого процесора 27, а також через секторні роздільники 19 надходять на перший ввід/вивід контролера 25 кожного сектора, керуючі сигнали 13 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 з другого вводу/виводу якого надходять на другі входи/виходи банків пам'яті 23, запускаючи в роботу відповідні процесори (ПЯ) банків пам'яті 23. Оскільки в пропонованому пристрої є можливість блокування будь-яких вибраних секторів кільцевої шини від впливу інших за допомогою секторних роздільників 19, то обробка фрагментів користувацьких завдань у вибраних секторах може здійснюватися одночасно, що також підвищує продуктивність системи. Результат обробки фрагмента завдання в кожному БІП по відповідних зв'язках (фіг. 2) передають на контролер 31 і через ввід/вивід 32 БІП на відповідний сектор 12 кільцевої шини даних (фіг. 1), і далі через секторні роздільники 11 на перший сектор кільцевої шини даних 4, з нього через контролер системи пам'яті 1 на дев'ятий ввід/вивід системи пам'яті до зовнішнього пристрою або зовнішньої системи. Після виконання приписаного кожному сектору фрагмента завдання, контролер сектора 25 через ввід/вивід 1 видає на відповідний сектор кільцевої шини керування сигнал про закінчення завантаження, який через третій і потім через п'ятий ввід/вивід секторного роздільника 19 надходить на відповідний ввід/вивід вузла 22, з (n+1) вводу/виводу якого відповідний керуючий сигнал надходить на третій ввід/вивід блока керування кільцевою шиною 21, сигнал з першого вводу/виводу якого через перший сектор кільцевої шини даних надходить на перший ввід/вивід блока службових функцій, ініціюючи процес перерозподілу ресурсів БІП. При цьому решта секторних наборів банків пам'яті одночасно може обробляти інформацію, використовуючи блокування відповідних секторів. Аналогічну процедуру виконують на першому рівні (фіг. 1) для перерозподілу ресурсів між секторами і БІП кожного сектора (фіг. 1). Наведений вище опис схеми і роботи системипам'яті, її блоків і зв'язків дозволяє пристрою, що заявляється, підвищити швидкодію системи пам'яті і збільшити межі її масштабування за рахунок введення секторних роздільників, які розділяють кільцеві шини на сектори, блока керування секторними роздільниками і блока службових функцій. При великій кількості блоків пам'яті, підключених до загальної шини, значно зростає її довжина і, отже, ємність, що істотно впливає на частоту роботи шини у бік її зниження. Введення секторних роздільників в кільцеву шину в місцях, де починає позначатися вплив ємності на частоту її роботи, дозволяє уникнути зниження пропускної здатності шини. Точки включення секторних роздільників залежать від характеристик конкретної шини. Включення роздільників типу ring stop з кожним блоком пам'яті, що підключається до кільцевої шини, вносить велике число затримок при розповсюдженні сигналу по шині до віддалених блоків, так при n1 блоках пам'яті затримка сигналу дорівнює τ×n1, де τ затримка в роздільнику. При використанні запропонованої у винаході блок-схеми побудови кільцевої шини число роздільників n2 значно менше і, отже, τ×n1>τ×n2. Можливість блокування за допомогою секторних роздільників кожного сектора кільцевої шини від впливу інших секторів, що залишилися, дозволяє реалізувати паралельні обчислення в секторних наборах заблокованих секторів, що також істотно збільшує продуктивність системи в цілому. Таким чином, додавання нових секторів кільцевої шини разом з секторними наборами БІП не може істотно збільшити ємність кільцевої шини, при цьому кожен БІП в доданому секторному наборі "бачить" БІП тільки свого секторного набору, тим самим збільшуючи межі масштабованості системи в цілому. Введення спеціально виділеного апаратний-програмного блока службових функцій до складу системи замість реалізації цих функцій тільки відомими програмними способами дозволяє на початку роботи системи або в будь-який інший момент її функціонування настроїти (або підстроїти) ресурси системи під рішення конкретної задачі, що також істотно підвищує продуктивність системи в цілому. Таким чином, наведений вище опис системи пам'яті, її блоків і зв'язків дозволяє пристрою, що заявляється, підвищити швидкодію системи пам'яті і збільшити межі її масштабування за рахунок введення секторних роздільників, які розділяють кільцеві шини на сектори, блока керування секторними роздільниками і блока службових функцій. ФОРМУЛА ВИНАХОДУ 55 60 1. Інтелектуальна розподілена система пам'яті з кільцевою шиною, що містить системний контролер пам'яті, множину N блоків інтелектуальної пам'яті, кільцеву шину, що складається з кільцевої шини даних і кільцевої шини керування, блок керування кільцевою шиною, локальну шину даних, системний ввід/вивід даних, системний ввід/вивід керуючих сигналів, при цьому перший ввід/вивід системного контролера з'єднаний із системним вводом/виводом керуючих сигналів, другий ввід/вивід з'єднаний із системним вводом/виводом даних, третій ввід/вивід 14 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 60 з'єднаний з локальною шиною даних, яка відрізняється тим, що в кільцеву шину введені 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, перший ввід/вивід блока службових функцій з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід з'єднаний з першим сектором кільцевої шини керування, третій ввід/вивід з'єднаний з локальною шиною даних, четвертий ввід/вивід системного контролера з'єднаний з першим сектором кільцевої шини даних, п'ятий ввід/вивід з'єднаний з першим сектором кільцевої шини керування. 2. Інтелектуальна розподілена система пам'яті з кільцевою шиною за п. 1, яка відрізняється тим, що блок інтелектуальної пам'яті (БІП) містить кільцеву шину, що складається з кільцевої шини даних і кільцевої шини керування, розділену s керованими секторними роздільниками, загальними для кільцевої шини даних і кільцевої шини керування, на s секторів, блок керування кільцевою шиною БІП, вузол керування секторними роздільниками БІП, множину із Т банків інтелектуальної пам'яті, розділену на (s-1) секторних наборів, де кожний секторний набір містить T/(s-1) банків інтелектуальної пам'яті, контролер сектора, локальну шину керування, ведучий процесор з кеш-пам'яттю, локальну шину ведучого процесора, блок службових функцій БІП, контролер БІП, ввід/вивід даних БІП, ввід/вивід керуючих сигналів БІП, при цьому перший ввід/вивід r-го секторного роздільника з'єднаний з r-м сектором кільцевої шини даних, другий ввід/вивід з'єднаний з (r+1)-м сектором кільцевої шини даних, третій ввід/вивід з'єднаний з r-м сектором кільцевої шини керування, четвертий ввід/вивід з'єднаний з (r+1)-м сектором кільцевої шини керування, де 1≤r≤s, перший ввід/вивід блока керування кільцевою шиною БІП з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід з'єднаний з першим сектором кільцевої шини керування, третій ввід/вивід з'єднаний з (s+1) вводом/виводом вузла керування секторними роздільниками БІП, кожний p-й ввід/вивід вузла керування секторними роздільниками з'єднаний з п'ятим вводом/виводом відповідного p-го секторного роздільника, де 1≤p≤s, перший ввід/вивід кожного q-гo банку інтелектуальної пам'яті, де 1≤q≤T/(s-1), у кожному v-му секторному наборі з'єднаний з відповідним (v+1)-м сектором кільцевої шини даних, перший ввід/вивід кожного контролера в кожному v-му секторі з'єднаний з відповідним (v+1)-м сектором кільцевої шини керування, другі вводи/виводи всіх банків інтелектуальної пам'яті й другий ввід/вивід контролера сектора в кожному v-му секторі з'єднані відповідно з локальною шиною сектора, де 1≤v≤s-1, перший ввід/вивід ведучого процесора з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід з'єднаний з першим сектором кільцевої шини керування, третій ввід/вивід з'єднаний з локальною шиною ведучого процесора, перший ввід/вивід блока службових функцій з'єднаний з першим сектором кільцевої шини даних, другий ввід/вивід з'єднаний з першим сектором кільцевою шиною керування, третій ввід/вивід з'єднаний з локальною шиною ведучого процесора, перший ввід/вивід контролера БІП з'єднаний з вводом/виводом керуючих сигналів БІП, другий ввід/вивід з'єднаний з вводом/виводом даних БІП, третій ввід/вивід з'єднаний з локальною шиною даних ведучого процесора, четвертий ввід/вивід з'єднаний з першим сектором кільцевої шини даних, п'ятий ввід/вивід з'єднаний з першим сектором кільцевої шини керування. 3. Інтелектуальна розподілена система пам'яті з кільцевою шиною за п. 1, яка відрізняється тим, що кожний секторний набір блоків інтелектуальної пам'яті (БІП) додатково містить локальну шину даних, причому перший ввід/вивід кожного блока інтелектуальної пам'яті з'єднаний з відповідним сектором кільцевої шини даних, другий ввід/вивід кожного блока інтелектуальної пам'яті з'єднаний з відповідним сектором кільцевої шини керування, треті вводи/виводи кожного блока інтелектуальної пам'яті з'єднані з локальною шиною даних. 15 UA 99164 C2 5 10 15 20 25 30 35 40 45 50 55 60 4. Інтелектуальна розподілена система пам'яті з кільцевою шиною за п. 1 або п. 2, яка відрізняється тим, що вузол керування секторними роздільниками містить n дворозрядних регістрів, розділених на n/2w лінійок, кожна лінійка містить w регістрів, де n - кількість секторних роздільників, розрядність (n+1) вводу/виводу вузла керування секторними роздільниками дорівнює (2w+4), n тригерів, розділених на n/2w лінійок, кожна лінійка містить 2w тригерів, перший, третій і четвертий набори з 2w схем "І", другий набір з n схем "І", набір з (n-4w) схем "2ІАБО", розділених на (n-4w)/2w лінійок, (n+1) вводів/виводів вузла керування секторними роздільниками, причому перші входи кожної α-схеми першого набору схем "І" з'єднані з αелементом (n+1) вводу/виводу вузла керування секторними роздільниками, де 1≤α≤2w, другі входи з'єднані з (2w+1) елементом (n+1) вводу/виводу вузла керування секторними роздільниками, вихід кожної (2α-1) схеми "І" першого набору з'єднаний з першим входом α-го регістра першої лінійки тригерів, вихід кожної 2α-схеми "І" першого набору з'єднаний із другим входом α-го регістра, де 1≤α≤w, перший і другий виходи α-го регістра γ-ї лінійки з'єднані з першим і другим входами α-го регістра (γ+1) лінійки, де 1≤γ

Дивитися

Додаткова інформація

Назва патенту англійською

Intellectual distributed memory system with ring bus

Автори англійською

Palahin Oleksandr Vasyliovych, Yakovliev Yurii Serhiyovych, Tykhonov Borys Mykhailovych, Yeliseieva Olena Volodymyrivna

Назва патенту російською

Интеллектуальная распределительная система памяти с кольцевой шиной

Автори російською

Палагин Александр Васильевич, Яковлев Юрий Сергеевич, Тихонов Борис Михайлович, Елисеева Елена Владимировна

МПК / Мітки

МПК: G06F 15/16, G06F 13/42

Мітки: шиною, розподілена, інтелектуальна, кільцевою, пам'яті, система

Код посилання

<a href="https://ua.patents.su/23-99164-intelektualna-rozpodilena-sistema-pamyati-z-kilcevoyu-shinoyu.html" target="_blank" rel="follow" title="База патентів України">Інтелектуальна розподілена система пам’яті з кільцевою шиною</a>

Подібні патенти