Комп’ютеризовані системи цифрової обробки сигналів

Структура та галузі застосування систем цифрової обробки сигналів. Дискретне перетворення Фур’є. Швидкі алгоритми ортогональних тригонометричних перетворень. Особливості структурної організації пам’яті комп’ютерних систем цифрової обробки сигналів.

Рубрика Программирование, компьютеры и кибернетика
Вид лекция
Язык украинский
Дата добавления 20.03.2011
Размер файла 924,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

За обробкою даних МЦОС діляться на два класи: з фіксованою та з плаваючою крапкою. Використання МЦОС з плаваючою крапкою обумовлено декількома причинами. Для багатьох задач, пов'язаних із виконанням інтегральних і диференціальних перетворень, особливе значення має точність обчислень, забезпечити яку дозволяє експоненційний формат представлення даних. Алгоритми компресії, декомпресії, адаптивної фільтрації в ЦОС пов'язані з визначенням логарифмічних залежностей і дуже чутливі до точності представлення даних у широкому динамічному діапазоні.

Робота з даними у форматі з плаваючою крапкою істотно спрощує і прискорює обробку, підвищує надійність програми, оскільки не потребує виконання операцій округлення і нормалізації даних, відслідковування ситуацій втрати значимості і переповнення. Платою за ці додаткові "комфорт і швидкість" є висока складність функціональних пристроїв, що виконують обробку даних у форматі з плаваючою крапкою, необхідність використання більш складних технологій виробництва мікросхем, більший відсоток відбракування виробів і як наслідок висока ціна мікропроцесорів.

Найпоширеніші МЦОС виготовляють такі фірми як Motorola (56002,96002), Intel (i960), Texas Instruments (TMS320Cxx), Analog Devices (21xx, 210xx) [2,6,7]. Порівняльний аналіз основних характеристик МЦОС одного покоління різних фірм показав відсутність суттєвих відмінностей, що пояснюється близькістю архітектури та технології виготовлення. За повнотою сімейства, за наявністю інструментальних технологічних засобів і розробленого програмного забезпечення МЦОС із сімейства TMS320 переважають МЦОС інших фірм. Принципи проектування та особливості архітектури МЦОС із сімейства TMS320 є характерними і для всіх інших МЦОС. Тому архітектуру мікропроцесорів TMS320, можна розглядати як базову. В основу проектування мікропроцесорів TMS320 покладені наступні принципи: застосування модифікованої гарвардської архітектури, широке використання конвеєрного режиму роботи, наявність спеціалізованого пристрою множення, існування спеціальних команд ЦОС, короткий командний цикл.

Для мікропроцесорів серії TMS320 характерне використання апаратної реалізації ряду функцій, які звичайно виконуються програмно. Наприклад, апаратний перемножувач, який забезпечує множення двох чисел за один командний цикл. Є також апаратні паралельні зсувачі, які здійснюють зсув даних і результатів обчислень, індексні регістри, які забезпечують непряму адресацію даних в ОЗП та режим автоінкременту (декременту) при одноциклових маніпуляціях з таблицями даних.

Системи команд сімейства мікропроцесорів TMS320 є комплексними та сумісними знизу до верху. Вони містять інструкції різного функціонального призначення: універсальні - арифметичні, логічні і керуючі команди; спеціальні - призначені для розв'язання задач ЦОС. Наявність комплексної системи команд розширює області застосування МЦОС і спрощує розробку програм.

МЦОС з фіксованою крапкою. МЦОС TMS320C1x, C2x, C5x призначені для обробки чисел у форматі з фіксованою крапкою. Перше покоління мікропроцесорів TMS320С1х побудоване на базовій архітектурі мікропроцесора TMS320С10 [2,3,9], структура якого наведена на рис.9.1.

Рис.9.1 Структура мікропроцесора TMS320С10

Його адресний простір складає 4К16-розрядних слів пам'яті програм і 14416-розрядних слів пам'яті даних. Тривалість командного такту процесора складає 160-200 нс. Арифметичні функції в процесорі реалізовані апаратно. З зовнішніми пристроями процесор взаємодіє через 8-м 16-розрядних портів вводу/виводу. Передбачено можливість обробки зовнішнього переривання.

Інші мікропроцесори даного сімейства (С14 - С17) мають аналогічну архітектуру і відрізняються тривалістю командного такту, конфігурацією пам'яті, наявністю (або відсутністю) додаткових периферійних пристроїв.

Мікропроцесори сімейства TMS320C2x мають підвищену продуктивність і ширші функціональні можливості. Всі мікропроцесори сімейства можуть використовувати пам'яті програм і даних ємністю 64К слів, послідовний порт та шістнадцять паралельних портів введення/виведення. Мікропроцесори сімейства TMS320C2x мають можливість використання зовнішнього контролера прямого доступу до пам'яті (ПДП). Пристрої множення мікропроцесорів, крім операцій множення, дозволяє виконувати за один такт піднесення до квадрату. У мікропроцесори включена апаратна підтримка кратного виконання команди, реалізований режим двійкової інверсно-непрямої адресації, призначений для ефективної реалізації швидкого перетворення Фур'є.

Мікропроцесори сімейства TMS320C5x, забезпечуючи сумісність за системою команд і наслідуючи загальні архітектурні особливості побудови мікропроцесорів попереднього покоління, відрізняються більшими функціональними можливостями, підвищеною тактовою частотою, меншим енергоспоживанням. У МЦОС реалізована апаратна підтримка кільцевих буферів, є можливість одночасного створення в пам'яті даних двох незалежних кільцевих буферів. Існує можливість кратного виконання блока програми. Мікропроцесор містить одинадцять тіньових регістрів, що використовуються для швидкого зберігання/відновлення стану основних регістрів у випадку виникнення програмних або апаратних переривань. Паралельний логічний пристрій мікропроцесора дозволяє виконувати бітові і логічні операції над операндами, що утримуються в пам'яті і різних регістрах.

Мікропроцесор TMS320C5x може використовувати 244К слів пам'яті, у тому числі: 64К - пам'ять програм, 64К - пам'ять даних, 64К - 16-розрядні порти вводу/виводу, 32К - глобальна пам'ять. Для можливості роботи з повільною пам'яттю в мікропроцесор включений програмований генератор тактів чекання. При створенні мультипроцесорних систем виникає необхідність спільного використання єдиної області пам'яті. Для цього в процесорі передбачені сигнали запиту і готовності при звертанні до глобальної пам'яті, доступ до якої регулює спеціальний арбітр пам'яті. Різниці між мікропроцесорами - представниками сімейства TMS320C5x полягають, в основному, у конфігурації внутрішньокристальної пам'яті.

Крім 16-розрядних портів вводу/виводу, мікропроцесори сімейства мають 2 послідовних порти (у TMS320C52 - один), таймер, інтерфейс тестування і налагодження JTAG.

МЦОС з плаваючою крапкою. Першим представником класу мікропроцесорів із плаваючою крапкою є TMS320C30, він має гнучку систему команд, апаратну підтримку операцій із плаваючою крапкою, потужну систему адресації, розширений адресний простір і підтримку мови високого рівня - Сі [3]. Мікропроцесор виготовляється за 0,7 мікронною КМОН технологією з 3-ма рівнями металізації. Всі операції в мікропроцесорі виконуються за один такт. При тривалості такту 60 нс процесор TMS320C30 має швидкодію біля 33 млн. операцій із плаваючою крапкою в секунду. Висока продуктивність мікропроцесора на алгоритмах ЦОС забезпечується завдяки апаратному виконанню ряду специфічних функцій, що в інших мікропроцесорах реалізуються програмно або мікропрограмно. Мікропроцесор має конвеєрну регістро-орієнтовану архітектуру і може паралельно виконувати в одному такті множення і арифметико-логічні операції з числами у форматі з фіксованою або плаваючою крапкою. Структура мікропроцесора TMS320C30 наведена на рис.9.2.

Рис.9.2 Структура мікропроцесора TMS320C30

В склад мікропроцесора TMS320C30 входить: 32-розрядна шина команд і даних; 24-розрядна шина адреси; 2-а блоки ОЗП; 32-розрядний перемножувач із плаваючою крапкою; кеш-пам'ять команд ємністю 64-и слова; 8-м регістрів для операцій із підвищеною точністю; два генератори адреси; регістровий файл; 40-розрядний АЛП, який працює як із цілими числами, так і з числами у форматі з плаваючою крапкою. Вмонтований контролер ПДП дозволяє поєднувати в часі виконання обмінів даними з пам'яттю і обчислення. Наявність у TMS320C30 мультипроцесорного інтерфейсу, двох зовнішніх інтерфейсних портів, двох послідовних портів, розширеної системи переривань спрощує конструювання систем на його основі. Завдяки своїй високій продуктивності і простоті використання в обчислювальних системах TMS320C30 може застосовуватися як у якості головного процесора, так і в якості спеціалізованого співпроцесора.

Наступними представниками МЦОС із плаваючою точкою є мікропроцесори сімейства TMS320C4x. Завдяки своїй унікальній архітектурі мікропроцесори TMS320C40 одержали широке поширення в мультипроцесорних системах і практично витіснули раніше пануюче в цій технологічній ніші сімейство трансп'ютерів. Процесори TMS320C4x сумісні по системі команд із TMS320C3x, проте мають більшу продуктивність і кращі комунікаційні можливості.

У сімейство TMS320C4x входять процесори TMS320C40, TMS320C44, TMS320LC40. TMS320C40 має продуктивність 30MIPS/60MFLOPS і максимальну пропускну спроможність підсистеми вводу/виводу 384 Мбайт/с. TMS320C40 містить на кристалі шість високошвидкісних (20 Мбайт/с) комунікаційних портів і шість каналів ПДП, 2K слів пам'яті, 128-м слів програмного кеша. Дві зовнішні шини забезпечують доступ до 4Г слів.

Висока продуктивність і хороші комунікаційні властивості процесора дозволяють ефективно використовувати його для розв'яння задач обробки зображень, моделювання віртуальної реальності, розпізнавання мови, моніторингу.

Мультипроцесорні МЦОС. Подальшим розвитком сімейства МЦОС Texas Instruments є мікропроцесори принципово нової архітектури - TMS320C8х [9]. Мікропроцесори орієнтовані на ужитки, пов'язані з високопродуктивною цифровою обробкою сигналу в самих широких областях науки і техніки. Друга назва процесорів - MVP (Multimedia Video Processor) - характеризує їх високу ефективність на задачах обробки зображень, 2- і 3-вимірній графіці, у системах віртуальної реальності, компресії і декомпресії відео- і аудіоданих і ін.

Рис.9.3 Структура мікропроцесора TMS320C80

Базовим МЦОС сімейства TMS320C8х є TMS320C80 (рис. 9.3 ), який об'єднує в одній мікросхемі п'ять повнофункціональних процесорів, чотири з яких - покращені процесори ЦОС (Advanced Digital Signal Processor).

Кожний із ADSP дозволяє виконати за один командний такт декілька RISC-подібних операцій. П'ятий процесор, головний (Master Processor (MP)), являє собою 32-розрядний RISC-процесор із високопродуктивним обчислювачем із плаваючою крапкою, сумісним із стандартом IEEE 754. Крім процесорного ядра на кристалі розміщені: контролер обміну (Transfer Controller (TC)) - інтелектуальний контролер ПДП, що підтримує інтерфейс із DRAM і SRAM, відеоконтролер (Video Controller (VC)), система контролю і налагодження - порт JTAG (IEЕE 1149.1), 50Кб SRAM.

Випускається також спрощений варіант мікропроцесора TMS320C82, що відрізняється меншим обсягом пам'яті, кількістю сигнальних процесорів ADSP (2), відсутністю відеоконтролера і відповідно меншою вартістю.

Сумарна продуктивність TMS320C80 на регістрових операціях досягає 2 млрд. RISC-подібних команд в секунду. Завдяки високій продуктивності TMS320C80 може замінити при реалізації ряду ужитків більш 10 високопродуктивних МЦОС або мікропроцесорів загального призначення. Пропускна здатність шини TMS320C80 досягає 2,4 Гбайт/с - у потоці даних і 1,8 Гбайт/с - у потоці інструкцій.

TMS320C80 забезпечує високу ступінь гнучкості й адаптивності системи, побудованої на його базі, що досягається за рахунок наявності на кристалі паралельно функціонуючих процесорів ЦОС і головного RISC-процесора. Архітектура процесора TMS320C80 відноситься до класу MIMD-множинний потік даних, множинний потік команд. Процесори, що входять до складу TMS320C80 програмуються незалежно один від іншого і можуть виконувати як різні, так і одну загальну задачу. Обмін даними між процесорами здійснюється через спільну внутрішньокристальну пам'ять. Доступ до розподіленої внутрішньокристальної пам'яті забезпечує матричний комутатор (Crossbar), що виконує також функції монітора при звертанні декількох процесорів до одного сегмента пам'яті.

9.2 Трансп'ютери та однорідні обчислювальні середовища

Трансп'ютери відносяться до класу RISС-процесорів. Сімейство трансп'ютерних НВІС, включає ряд типів НВІС трансп'ютерів, а також зовнішніх запам'ятовуючих пристроїв (ЗП), призначених для підключення до трансп'ютерів. Основними типами НВІС трансп'ютерів є: трансп'ютер зі статичним ОЗП; трансп'ютер-зв'язний адаптер; трансп'ютер-контролер графічних пристроїв, трансп'ютер-контролер масової пам'яті. Кожний з цих типів може включати ряд НВІС, що різняться типом процесора, типом і конфігурацією внутрішнього ЗП, швидкодією та іншими параметрами [9].

Структура трансп'ютера IMS T424 є характерною для більшості трансп'ютерів (рис. 9.4).

Рис.9.4 Структура трансп'ютера IMS T424

Основними елементами такої структури є 32-розрядний процесор, внутрішнє ОЗП ємністю 4К байт, блок системних пристроїв, чотири блоки інтерфейсів каналів зв'язку, блок інтерфейсу зовнішнього ЗП і блок інтерфейсу периферійних пристроїв.

Трансп'ютер можна використовувати як в якості автономного однокристального обчислювального пристрою (мікро-ЕОМ), так і процесорного модуля (ПМ) для побудови високопродуктивних паралельних обчислювальних систем. При використанні трансп'ютера в якості однокристальної мікро-ЕОМ можна використовувати стандартні алгоритмічні мови високого рівня. Але трансп'ютер спеціально спроектовано таким чином, щоб забезпечити ефективну реалізацію конкретної, спеціально розробленої для нього мови паралельного програмування Occam. Дана мова дозволяє в явному вигляді програмувати функціонування паралельних систем. З одного боку, вона як асемблер забезпечує ефективне використання пам'яті і високу продуктивність при виконанні програм, а з іншого боку, подібно мовам високого рівня - велику ефективність при розробці програмного забезпечення і його високу надійність. Мова Occam є основою методології проектування паралельних систем на базі трансп'ютерів подібно тому, як булева алгебра, - основою методології проектування сучасних електронних систем на базі логічних елементів.

Задача розробки трансп'ютерних систем полегшується завдяки архітектурній відповідності між мовою Occam і трансп'ютером. Програма, яка виконується одним трансп'ютером, формально еквівалентна одному процесу мови Оссаm. З цього випливає, що систему, яка складається з деякої сукупності трансп'ютерів, можна безпосередньо описати за допомогою програми на даній мові. Основне поняття, що використовується в мові Оссаm, - це поняття процесу. Кожний процес розглядається як деякий об'єкт (чорна скринька), що характеризується своїм внутрішнім станом. Процес може змінювати свій внутрішній стан і взаємодіяти з іншими процесами шляхом обміну повідомленнями, використовуючи для цього двоточкові канали зв'язку. Під каналом розуміється мовна конструкція, що забезпечує можливість організації зв'язку між процесами, а не фізичний канал (link), що використовується для зв'язку між процесорними модулями.

Повідомлення, що відсилаються процесом, залежать від його внутрішнього стану. Цей стан, в свою чергу, змінюється при прийомі даним процесом повідомлень від інших процесів. Таке поняття процесу можна використовувати для опису поводження найрізноманітніших об'єктів, наприклад логічного елементу, мікропроцесора, станка, закладу і так далі. Процеси є скінчені, тобто кожен процес починає своє виконання, виконує ряд дій і завершується. Кожна дія може представляти собою або множину послідовних процесів, що виконуються один за одним, або множину паралельних процесів, що виконуються одночасно, або множину альтернативних процесів, тобто таких, з множини яких виконується тільки один, що є вибраний у відповідності до заданого критерію. Кожен процес може складатися з інших процесів, причому деякі з цих процесів можуть бути паралельними, тому процес може мати будь-який рівень внутрішньої паралельності і цей рівень може змінюватися в залежності від моментів початку та завершення процесів.

Всі процеси складаються з наступних примітивних (основних) процесів: присвоєння, вводу, виводу, пропуску, зупинки. Процес присвоєння обчислює значення деякого виразу і присвоює це значення деякій змінній. Процеси вводу і виводу використовуються для організації взаємодії між більш складними процесами.

Два паралельних процеси можуть підтримувати зв'язок один з одним використовуючи однонаправлений канал, який зв'язує два дані процеси. При виконанні такого зв'язку один процес посилає (виводить) повідомлення в канал, а інший процес приймає (вводить) це повідомлення з каналу. Ключова концепція мови Occam є в тому, що цей зв'язок є синхронним. Він виконується тільки в тому випадку, коли перший процес готовий виконати вивід, а другий процес - ввід. Якщо один процес готовий до виконання відповідної дії раніше ніж другий, то він повинен чекати готовності другого процесу. Таким чином, спосіб взаємодії між процесами подібний до методу “рукопотиснення”, що використовується для організації зв'язку в апаратних засобах. Якщо процес має внутрішню паралельність, то він може використовувати для зв'язку з іншими процесами одночасно декілька каналів, так як наявні в ньому паралельні процеси можуть одночасно виконувати введення і виведення для декількох каналів.

Мова Occam є для трансп'ютера мовою того ж рівня, що і ассемблер. Трансп'ютер має спеціальні засоби для реалізації концепції паралельності процесів, що є прийняті в даній мові. Цю мову можна використовувати для написання програм, що є призначені як для окремого трансп'ютера, так і для систем, що складаються із декількох трансп'ютерів, тобто мультитрансп'ютерних систем.

Однорідне обчислювальне середовище (ООС) (рис.9.5) - це двовимірна регулярна матриця процесорних елементів (ПЕ), кожен з яких фізично зв'язаний за входом-виходом з чотирма сусідами - зверху, знизу, зліва та справа (комутація).

Рис.9.5 Структури: а)- процесорного елементу, б)- ООС на основі ПЕ

Кожний ПЕ може виконувати набір бітових операцій перетворення інформації з вхідних каналів у вихідні. ООС є універсальною системою, тобто в ньому можливо реалізувати довільну обчислювальну функцію. Бітовий рівень ПЕ та повна система комутації дозволять реалізувати паралелізм та конвеєрність обчислень на найнижчому бітовому рівні. Це є суттєвою перевагою ООС при реалізації програмно налаштованих спеціалізованих паралельних комп'ютерних систем для задач ЦОС. В багатьох випадках при реалізації обчислень на ООС вимагається організація взаємодії такої системи з однорідним запам'ятовуючим середовищем, яке є матрицею регістрів зсуву, довжина котрих програмується. Промисловістю випускається ООС з 20-92 ПЕ на кристалі при продуктивності одного ПЕ біля 10млн. однобітових операцій в секунду

9.3 Спеціалізовані НВІС

За способом проектування і виготовленням, тобто налаштуванням на виконання конкретного алгоритму, спеціалізовані НВІС поділяються на два класи: замовні і напівзамовні (рис.9.6).

Рис.9.6 Класифікація спеціалізованих НВІС

Замовні НВІС - це мікросхеми, розроблені на основі стандартних або спеціально створених елементів і вузлів за схемою замовника. Всі топологічні шари замовних НВІС проектуються і виготовляються індивідуально. Існують повністю замовні (ПЗ) НВІС, схеми яких оптимізовані на рівні окремих компонентів, та НВІС побудовані на основі стандартних елементів (СЕ), які вибираються із раніше спроектованої і перевіреної бібліотеки елементів. В склад бібліотеки можуть входити прості логічні елементи типу І-НЕ, АБО-НЕ, тригери, а також складніші типу суматори, регістри, комутатори та інші. Особливістю замовних НВІС є оптимізація елементів і зв'язків на реалізацію алгоритмів, що дозволяє досягнути граничних значень параметрів для кожного рівня технології.

Напівзамовні НВІС - це мікросхеми, що складаються з двох частин: наперед спроектованої постійної та змінної - замовної, структура якої визначається замовником. До напівзамовних НВІС відносяться мікросхеми на основі базових кристалів (БК) та програмовані користувачем логічні інтегральні схеми (ПЛІС).

Проектування пристроїв на БК здійснюється за рахунок нанесення відповідних шарів з'єднань. Основними елементами БК є базові комірки, що складаються з набору некомутованих елементів-транзисторів і резисторів. На базі таких елементів реалізуються функціонально завершені вузли, які виконують елементарні функції.

В порівнянні з БК, технологія ПЛІС забезпечує рекордно малий проектно-технологічний цикл (від декількох годин до декількох днів), мінімальні витрати на проектування, максимальну гнучкість при необхідності модифікації апаратури. На даний час на світовому ринку можна виділити декілька компаній-виробників - ПЛІС-XILINX, ALTERA, LATTICE, AT&T, INTEL, які виготовляють мікросхеми з архітектурою EPLD (EPROM technology bazed complex Programmable Logic Device) - з можливістю багаторазового перепрограмування, і FPGA (Field Programmable Gate Array) - з можливістю багаторазового реконфігурування.

В якості пам'яті для зберігання конфігурації в ПЛІС EPLD використовується ППЗП з ультрафіолетовим стиранням, а у ПЛІС FРGA - статичний ОЗП.

Мікросхема FPGA являє собою матрицю логічних комірок, що з'єднані між собою логічними ключами. Статична пам'ять, яка є в мікросхемах FPGA при заповненні деякою бітовою послідовністю діє на логічні комірки і з'єднує їх через ключі, що дозволяє отримати необхідні електричні схеми ( регістри, лічильники, логічні схеми і ін., що з'єднані в необхідній послідовності). Кожна мікросхема FPGA має вхід для запису бітової послідовності, яка заповнює статичну пам'ять, а також елементи “вхід/вихід” для зв'язку з іншими мікросхемами. Таким чином, на основі однієї чи декількох мікросхем FPGA можна створювати реконфігурований процесор з перевагами спеціалізованого процесора на “жорсткій” логіці, але з можливістю шляхом зміни вмісту статичної пам'яті.

Відмінною особливістю ПЛІС архітектури FPGA різновидів XILINX XC3000, XC3100, XC4000 є наявність поля логічних блоків і блоків введення/виведення, які зв'язані між собою через комутаційні блоки. Логічні блоки, блоки введення/виведення і комутаційні поля конфігуруються при завантаженні в ПЛІС бітової послідовності, що отримана в результаті розробки схеми. В залежності від різновиду ПЛІС логічні блоки, блоки введення/виведення, комутаційні блоки мають різну ступінь складності і володіють різними функціональними можливостями.

Логічний блок - один з базових елементів архітектури ПЛІС FPGA, може виконувати будь-яку логічну функцію в залежності від заданої бітової послідовності. Шляхом завантаження іншої бітової послідовності можна змінювати виконувану функцію необмежену кількість разів. Блок введення/виведення, так само як і логічний блок, може бути налаштований на виконання будь-якого електричного з'єднання реалізованої в середині ПЛІС схеми з зовнішніми пристроями через відповідний контакт мікросхеми.

10. Особливості структурної організації пам'яті комп'ютерних систем цифрової обробки сигналів

10.1 Багатомодульна пам'ять

Одномодульна структура пам'яті з однією шиною адреси і даних характерна для процесорів з архітектурою фон Неймана. Особливістю даної структури є можливість забезпечення тільки одного звертання до пам'яті протягом одного циклу команди. Збільшити кількість звертань до пам'яті на протязі одного циклу виконання команди дозволяє багатомодульна структура пам'яті з двома або більше шинами адреси і даних. Така організація пам'яті характерна для більшості ПЦОС [2,3,6,7]. Основною перевагою даної архітектури є можливість виконання двох звертань до пам'яті протягом одного циклу виконання команди. Крім цього, таке розділення пам'яті дозволяє сумістити в часі виклик команд і їх виконання.

Подальшим розвитком даної архітектури є модифікована гарвардська архітектура, яка дозволяє обмін інформацією між пам'яттю даних і пам'яттю команд. Ця модифікація забезпечує можливість зчитування в пам'ять даних коефіцієнтів і констант, записаних в пам'яті програм і тим самим виключає використання спеціальних постійних запам'ятовуючих пристроїв. Вона також забезпечує можливість використання команд з безпосередньою адресацією та звертання до підпрограм за результатами обчислень. З метою скорочення довжини командного циклу ПЦОС гарвардська архітектура доповнюється конвеєрним режимом роботи. В залежності від типу ПЦОС конвеєр може мати від двох до чотирьох сходинок. Це означає, що процесор може одночасно опрацьовувати від двох до чотирьох команд, при чому кожна з команд буде знаходитись на різних етапах виконання. Прикладом двохмодульної організації пам'яті є гарвардська архітектура (рис. 10.1), де пам'ять розділена на два незалежні блоки (пам'ять програм і пам'ять даних), які під'єднані до процесора за допомогою двох пар шин.

Рис. 10.1 Структура пам'яті процесора з гарвардською архітектурою

Модифікована гарвардська архітектура з двома модулями пам'яті використовується в ПЦОС фірми Texas Instruments (TMS320C1x), Analog Devices (ADSP-21xx) i AT&T (DSP16xx).

Подальшого збільшення кількості звертань до пам'яті можна досягнути шляхом використання тримодульної модифікованої гарвардської архітектури. В ПЦОС з такою архітектурою пам'ять розділена на три незалежні модулі пам'яті, причому кожен з модулів має свою власну множину шин. Один з модулів пам'яті можна використовувати для зберігання команд і даних, а два інші лише для зберігання даних. Архітектура з тримодульною пам'яттю дозволяє процесору виконувати три незалежні звертання до пам'яті за один цикл команди. Одне звертання до модуля пам'яті для отримання команди, а два інші модулі - для отримання даних. Для забезпечення високої швидкодії потоки даних і команд в такій архітектурі розділені. Модифікована гарвардська архітектура з трьохмодульною пам'яттю використовується у швидкодіючих ПЦОС фірм Zilog (Z893xx), Motorola (DSP560xx, 563xx i 96008), Texas Instruments (TMS320C2x-TMS320C5x).

Велику роль в забезпеченні високої швидкодії перерахованих вище структур ПЦОС відіграє кількість внутрішніх шин і їх зв'язок з модулями пам'яті, розміщеними на кристалі і поза ним. Розподіл внутрішніх шин в ПЦОС дозволяє здійснювати паралельні виклики програм, доступ до даних і прямий доступ до пам'яті. Розглянемо організацію внутрішньокристальної пам'яті і зв'язок з шинами на прикладі ПЦОС TMS320C40 (рис. 10.2).

Рис. 10.2 Організація пам'яті процесора TMS320C40

Даний процесор має сім шин, одна з яких є шиною команд (PDATA), дві - шинами даних (DDATA, DMADATA) і чотири - шинами адрес (PADDR, DADDR1,DADDR2 i DMAADDR). Шина адреси пам'яті програм PADDR пов'язана з лічильником адреси програм, а шина команд PDATA - з регістром команд. Ці шини дозволяють вибирати одне слово команди в кожному циклі. Шини адреси - DADDR1 і DADDR2 та шина даних DDATA можуть забезпечувати два доступи до пам'яті в кожному циклі роботи. Прямий доступ до пам'яті підтримується адресною шиною DMAADDR і шиною даних DMADATA. Ці шини дозволяють здійснювати прямий доступ до пам'яті одночасно з доступом, що може здійснюватись з шин програм і даних.

Особливістю ПЦОС з двома і трьома модулями пам'яті на кристалі є відносно мала ємність їхньої пам'яті. Розширення ємності пам'яті однокристальних ПЦОС досягається шляхом під'єднання зовнішньої пам'яті. Оскільки розміщення декількох множин шин поза кристалом вимагає великої кількості виводів і додаткових апаратних витрат, то більшість однокристальних ПЦОС використовують одну множину шин (адреси, даних і управління) поза кристалом. Зовнішня пам'ять, під'єднана до однієї множини, дозволяє лише одне звертання протягом одного командного циклу. Тому команди, які вимагають декількох звертань до зовнішньої пам'яті, виконують за декілька циклів, що значно зменшує швидкодію процесора.

Серед інших шляхів збільшення кількості звертань до пам'яті, є використання швидкодіючої пам'яті, яка підтримує декілька послідовних звертань за один командний цикл. Використання швидкої пам'яті в ПЦОС з гарвардською архітектурою дозволяє отримати більшу швидкодію ніж при використанні її окремо. Прикладом такого використання є процесор ZR3800x фірми Zoran, який поряд з модулем пам'яті з одиночним доступом використовує модуль швидкодіючої пам'яті з подвійним доступом. В даному процесорі за один командний цикл може виконуватися одне звертання до пам'яті програм і два звертання до пам'яті даних.

В ПЦОС з гарвардською архітектурою збільшення кількості звертань до пам'яті за один командний цикл можливе при використанні в якості пам'яті програм і даних двох модулів швидкодіючої пам'яті. Така пам'ять дозволяє виконання чотирьох звертань за один командний цикл при умові, що звертання впорядковані таким чином, що кожен модуль обслуговує два звертання. Широке використання швидкодіючої пам'яті на кристалі стримується значним зростанням потужності споживання та його вартості. При переміщенні швидкої пам'яті або її частини за межі кристалу, необхідно вирішити питання мінімізації затримок та усунення завад, що виникатимуть при такому обміні.

10.2 Пам'ять з паралельним доступом

Радикальним шляхом збільшення кількості звертань до пам'яті за один цикл виконання команди є використання багатопортової пам'яті. Особливістю багатопортової пам'яті є незалежні множини шин адреси і даних, кількість яких відповідає кількості портів. Така пам'ять підтримує одночасний доступ до неї з всіх портів. Найбільш популярною багатопортовою пам'яттю є двохпортова пам'ять, яка дозволяє одночасно два звертання. Рідше в процесорах ЦОС використовується трьох і чотирьох-портова пам'ять. Особливістю багатопортової пам'яті є паралелізм доступу до множини даних і вирішення всіх конфліктів, що пов'язані з паралельністю доступу. В той же час, основним недоліком багатопортової пам'яті є великі апаратні витрати, які в першу чергу залежать від паралельності доступу, а в другу чергу - від ємності пам'яті.

В ПЦОС багатопортова пам'ять переважно використовується в парі з однопортовою пам'яттю. Прикладом такого поєднання служить процесор фірми Motorola DSP561xx (рис. 10.3). В даному процесорі за один командний цикл може виконуватись одне звертання до пам'яті програм і два звертання до пам'яті даних. Переміщення багатопортової пам'яті за межі кристалу викликає потребу у додатковому виведенні назовні декількох шин адреси і даних. Це в свою чергу вимагає збільшення кількості контактів, розмірів кристалу і відповідно його ціни.

Рис.10.3 Система пам'яті з використанням модуля багатопортової пам'яті

Поряд із пам'яттю загального призначення існують спеціалізовані мікросхеми пам'яті, оптимізовані для використання в пристроях визначеного класу. У комп'ютерній індустрії найчастіше використовується спеціалізована пам'ять у відеоконтролерах.

10.3 Кеш-память

Використання в складі ПЦОС швидкодіючої кеш-пам'яті програм дозволяє підвищити його швидкодію шляхом уникнення звертань до менш швидкодіючої пам'яті програм при зчитуванні даних і команд. В ПЦОС використовуються простіші і менші за ємністю кеш-пам'яті ніж в універсальних процесорах. Типи кеш-пам'яті, що використовуються в ПЦОС відрізняються за функціонуванням і ємністю.

Найпростішим типом кеш-пам'яті є буфер повторення однієї інструкції. Це є кеш на одне слово команди з використанням спеціальної команди повторення. Команда, яка буде виконуватись декілька разів завантажується в буфер перед її першим виконанням. Виконання даної команди здійснюється шляхом її зчитування з кеш-пам'яті, що дозволяє звільнити пам'ять програм для доступу до даних. Даний тип кеш-пам'яті використовується в процесорах TMS320C2x і TMS320C5x [], де він дозволяє при повторному виконанні команди забезпечити продуктивність, яка може бути досягнута при трьох звертаннях до пам'яті за один командний цикл. Очевидним недоліком використання буферу повторення є те, що він працює тільки з однією командою. Якщо для деяких алгоритмів цей метод використання кеш-пам'яті є ефективним, то для алгоритмів з повторенням блоків команд він є недоцільним.

Концепція буферу повторення може бути вдосконалена шляхом його розширення на запам'ятовування кодів декількох команд. Прикладом такої конфігурації кеш-пам'яті може бути буфер повторення на 16 команд процесора DSP16xx (ATT&T). В даному процесорі при першому виконанні блоку команд, він копіюється в буфер, а при кожному його повторі, команди читаються з буфера, звільняючи таким чином процесор від додаткових звертань до пам'яті. Такий тип кеш-пам'яті є ефективним при виконанні алгоритмів ЦОС, так як більшість з них використовують цикли з декількох команд.

Завдання узгодження буферу повторення декількох команд вирішує проста односекторна кеш-пам'ять команд. Ця кеш-пам'ять дозволяє зберігати деяку кількість команд, які найчастіше використовуються. Односекторна кеш-пам'ять команд завантажується кожною командою, що виконується і відстежує адрес команд в кеші. Коли процесор звертається за командою, то при наявності її в кеш-пам'яті, вона зчитується, а при її відсутності - вміст кеш-пам'яті стає недійсним. Дана кеш-пам'ять є ефективною при доступі до єдиної неперервної ділянки пам'яті програм. Прикладом ПЦОС з використання односекторної кеш-пам'яті є процесор ZR3800x фірми Zoran. Як і буфери повторення для декількох команд, так і односекторна кеш-пам'яті використовується для вирішення задач повторного виконання невеликих груп команд.

Більш гнучкою структурою є кеш-пам'ять з декількома незалежними секторами. Кеш такого типу функціонує подібно до простої односекторної кеш-пам'яті, але може зберігати дві або і більше незалежні ділянки пам'яті програм. Такий тип кеш-пам'яті використовується в високопродуктивних ПЦОС. Так в процесорі TMS320C3x [] ця пам'ять складається з двох секторів ємністю 32 слова. Кожен сектор може використовуватися для зберігання команд з незалежних ділянок пам'яті програм об'ємом 32 слова. Дана кеш-пам'ять працює наступним чином: при попаданні адреси в один з секторів кеш-пам'яті (співпадіння кешу), слово зчитується з кешу, а при не співпадінні адреси - генерується сигнал промаху сектору. В цьому випадку весь вміст одного з секторів оновлюється за алгоритмом LRU (least recently used), за яким вибирається той сектор, до якого довгий час не було звертань.

В деяких ПЦОС для управління кеш-пам'яттю використовуються спеціальні команди або біти управління, які дозволяють програмісту заблокувати вміст кешу в деякій точці виконання програми або заборонити кеш-пам'ять взагалі. Ці можливості дозволяють програмісту здійснювати ручний контроль за кеш-пам'яттю, який в деяких випадках дозволяє підвищити продуктивність ПЦОС.

10.4 Особливості доступу до пам'яті

Доступ до пам'яті з використанням станів очікування. Пам'ять ПЦОС є багаторівневою, що передбачає спільне використання різних за швидкодією, ємністю і вартістю пристроїв пам'яті [2,3]. Ємність пам'яті на кожному із рівнів збільшується в напрямку від процесора, а швидкодія - в протилежному напрямку. Для організації ефективного обміну з повільною зовнішньою пам'яттю в ПЦОС використовуються генератор станів очікування, який керується за допомогою відповідних маніпуляцій з регістрами управління шинами. В даних регістрах є два поля, одне з яких використовується для вибору режиму генерації стану очікування, а друге - для завантаження внутрішнього таймера, який формує внутрішній сигнал готовності. В процесорі ЦОС TMS320C3x можуть використовуватись чотири режими генерації стану очікування: зовнішній сигнал готовності - RDY, внутрішній сигнал готовності - RDYwtcnt, логічне “І” сигналів - RDY i - RDYwtcnt, логічне “АБО” сигналів - RDY i-RDYwtcnt.

Всі чотири режими можуть використовуватись для генерації внутрішнього сигналу RDYint, який керує доступом. До того часу доки цей сигнал дорівнює “1”, біжучий зовнішній доступ затримується, а при встановлені його в “0”, біжучий доступ завершується.

Окрім звертання до повільної пам'яті стани очікування можуть виникати при спільному використанні шин, при спробі процесора здійснити одночасний доступ до пам'яті, яка не підтримує множинний доступ та при реалізації конвеєра команд. Тривалість стану очікування відносно тривалості командного циклу може змінюватись в діапазоні від четвертини командного циклу до декількох командних циклів. Менша тривалість стану очікування дає змогу мінімізувати час доступу до зовнішньої пам'яті.

Спеціалізовані команди доступу до пам'яті. В більшості ПЦОС використовуються спеціалізовані команди запису даних в пам'ять паралельно до читання команд і даних. Для виконання такого доступу в процесорах ЦОС використовується внутрішній паралелізм, що забезпечується декількома множинами шин адреси і даних. Внутрішній паралелізм підтримується відповідним набором команд, які характерні для алгоритмів ЦОС. До даного набору команд можна віднести такі: одночасне читання пам'яті даних і пам'яті програм, обчислення з читанням з пам'яті, обчислення з записом в пам'ять, обчислення з одночасним читанням даних і команд. Однією з найчастіше використовуваних операцій в ЦОС є операція обчислення суми добутків, що виконується таким чином: завантажити два операнди, перемножити операнди і додати добуток до суми попередніх добутків.

Прямий доступ до пам'яті. Прямий доступ до пам'яті (ПДП) - це режим вводу-виводу даних в пам'ять без участі процесора. Для здійснення операцій передачі даних між пам'яттю і пристроями вводу-виводу на кристалі у більшості ПЦОС розташований контролер ПДП, який дозволяє виконувати дані операції без зниження продуктивності процесора. Переважно контролер ПДП процесорів ЦОС дозволяє звертання до будь-якої комірки адресного простору процесора. Крім цього, такі контролери характеризуються високою швидкодією. Наприклад, контролер ПДП процесора TMS320C4x в комбінації з внутрішньокристальною пам'яттю дозволяє виконувати на протязі командного циклу одне звертання до пам'яті.

Подальший розвиток ПДП-контролерів процесорів ЦОС направлений на забезпечення декількох паралельних передач. Такі контролери ПДП повинні мати декілька каналів, кожний з яких може забезпечувати обмін і з повільною зовнішньою пам'яттю та пристроями вводу-виводу. Для забезпечення багатоканального обміну в склад контролера повинні входити генератори адреси, регістри управління та лічильники передач. Кількість каналів, які може обслуговувати контролер ПДП в процесорах різних фірм є різною. Наприклад, контролер ПДП процесора TMS320C40 обслуговує 6 каналів, а процесор ADSP2106x - 10 каналів, причому кожен з каналів може використовуватися для обміну типу пам'ять-пам'ять і пам'ять-периферія.

Режими доступу до пам'яті. Для доступу до комірки пам'яті, необхідно спочатку на шині адреси виставити адресу необхідної комірки. Ядро пам'яті являє собою прямокутний масив комірок, кожна з який визначається своїми координатами у цій прямокутній матриці - рядком і стовпцем. При виборі необхідного рядка і стовпця здійснюється доступ до комірки, що знаходиться на їхньому перетині.

Адреси рядка і стовпця передаються по шині адреси паралельно і повинні бути встановлені до приходу синхроімпульсу. Як тільки він надходить, адреса запам'ятовується у внутрішньому регістрі мікросхеми і декодується, розділяючись на адреси стовпця і рядки. Дані, зчитані з комірки, передаються у вихідний регістр і встановлюються на шині даних, після чого можуть бути зчитані контролером.

Основна відмінність між мікросхемами пам'яті полягає в тому, яким способом дані передаються з комірки на шину даних. Існують чотири фундаментальних режими доступу до пам'яті: послідовний (Flow thru), конвеєрний (Pipeline), регістровий (Register to Latch), пакетний (Burst). За винятком останнього режиму, головна відмінність між цими типами доступу полягає в моменті появи даних на виході стосовно синхроімпульсу. Пакетний режим може використовуватися разом із послідовним і конвеєрним.

10.5 Організація пам'яті комп'ютерних систем цифрової обробки сигналів

Параметри комп'ютерних систем ЦОС в значні мірі визначаються параметрами пам'яті - ємністю, швидкодією та шириною доступу до даних. Задача опису всіх можливих структур є нерозв'язною. Тому доцільним є виділення і дослідження узагальнених базових структур, на основі яких можуть бути синтезовані системи пам'яті для конкретних застосувань. За організацією пам'яті комп'ютерні системи ЦОС можна розділити на три класи: системи із розподіленою локальною пам'яттю; системи із зосередженою спільною пам'яттю; системи із зосереджено-розподіленою пам'яттю [5,9]. Особливістю комп'ютерних систем ЦОС з розподіленою пам'яттю є те, що кожний процесор такої системи має свою локальну пам'ять, доступ до якої є швидким і простим. У таких комп'ютерних системах взаємодія між процесорами є повільною та здійснюється за допомогою передачі повідомлень. В комп'ютерних системах ЦОС з зосередженою загальною пам'яттю взаємодія між процесорами та пам'яттю є складною і здійснюється через систему жорстких або програмованих каналів зв'язку. Найефективнішими за організацією обмінів є комп'ютерні системи ЦОС із зосереджено-розподіленою пам'яттю.

Рис. 10.4. Базові структури пам'яті: а) з послідовним доступом до даних; б) з незалежним доступом до т елементів даних

Аналіз ширини і часових стратегій доступу та зв'язків пам'яті з процесорами, операційними пристроями і пристроями вводу-виводу дозволив виділити наступні базові структури пам'яті [9]:

на основі одновимірного з лінійною адресацією блока пам'яті, в якій забезпечується послідовний доступ до елементів даних (рис.10.4 а);

основою якої є т окремих одновимірних з лінійною адресацією блоків пам'яті, в якій реалізується незалежний доступом до т елементів даних (рис.10.4б);

на основі одновимірного з лінійною адресацією блока пам'яті, в якій реалізується паралельна адресація і доступ до даних (рис.10.5 а);

з паралельною адресацію і доступом до даних із загального поля пам'яті, реалізованого на основі т одновимірних з лінійною адресацією блоків пам'яті (рис.10.5 б).

На рис.10.4 і 10.5 наведені базові структури пам'яті комп'ютерних систем ЦОС, де - А, D і y є відповідно шини адреси, даних і управління; П - пам'ять. В основу організації першої базової структури пам'яті (рис.2.16 а) покладено принципи одновимірності та лінійності адресного простору пам'яті. Для даної пам'яті при звертанні мінімальним неподільним елементом даних є n- розрядне слово.

Рис. 10.5 Базові структури пам'яті з паралельним доступом

а) на основі одновимірної пам'яті б) на основі двовимірної пам'яті

Друга базова структура пам'яті (рис.10.4 б) реалізується на т окремих блоках пам'яті, кожен з яких має власне запам'ятовуюче середовище з незалежною адресацією. Така структура пам'яті дозволяє реалізувати одну із наступних часових стратегій звертання до блоків: послідовну, з перекриттям у часі та паралельну.

Основою третьої базової структури пам'яті (рис.10.5а) є спільне одновимірне поле пам'яті з лінійною адресацією. Паралельний доступ до множини елементів даних у такій структурі забезпечується шляхом паралельно-послідовного масштабування доступу та часового розподілу ресурсів спільного поля пам'яті.

Особливістю четвертої базові структури пам'яті (рис.10.5б) є двовимірне спільне поля пам'яті, яке реалізується на основі т блоків пам'яті з незалежною адресацією. В такій структурі всі питання, що пов'язані із встановленням фізичного зв'язку та забезпеченням паралельного доступу, вирішуються в самій пам'яті за допомогою комутуючої мережі.

Третя і четверта базові структури пам'яті відповідають вимогам, що висуваються до паралельної пам'яті, оскільки забезпечують паралельний доступ до множини даних.

В більшості випадків вхідні дані в задачах ЦОС мають просторово-часову організацію, яка визначається природою їх отримання. Для вводу і обробки даних з просторово-часовою організацією використовується як пам'ять з послідовним, так і паралельним доступом. Аналіз структур даних, алгоритмів розв'язання задач і архітектур процесорів та систем дозволив сформувати наступні вимоги до пам'яті КС реального часу [2,3,9]:

бути адаптованою до інтенсивності надходження потоків даних, структури і алгоритмів обробки даних;

забезпечувати можливість зміни ширини та часу доступу до пам'яті;

забезпечувати можливість зміни величини затримки на необхідне число тактів та частоти переключення каналів видачі даних;

забезпечувати можливість налаштування генераторів адрес на формування необхідної послідовності адрес.

Один з напрямків підвищення швидкодії КС є широке використання паралельної пам'яті на різних рівнях обробки. Створення пам'яті, у якій принципи паралелізму реалізовані на всіх рівнях ієрархії, є недоцільним, що пояснюється кількома причинами. Перша - висока вартість і великі апаратні затрати. Друга причина - відсутність зовнішньої пам'яті паралельного типу. Крім цього, велику роль відіграє і те, що вартість паралельної пам'яті в більшій мірі залежить від паралельності доступу, ніж від ємності.

Рис.10.6 Ієрархічна багаторівнева структура пам'яті комп'ютерних систем ЦОС

Раціональним на теперішній час бачиться організація пам'яті систем цифрової обробки сигналів ієрархічною багаторівневою на базі пристроїв з паралельним і послідовним доступом (рис.10.6), причому оперативну пам'ять, кеш і регістрову пам'ять доцільно реалізовувати у вигляді паралельної пам'яті.

10.6 Принципи побудови пам'яті комп'ютерних систем ЦОС

Об'єкти, процеси і явища реального світу, які аналізуються, моделюються або синтезуються на комп'ютерних систем ЦОС у своїй дискретній моделі практично завжди описуються певним чином організованою сукупністю даних. В більшості випадків вхідні дані мають просторово-часову організацію, яка визначається природою їх отримання.

Пам'ять комп'ютерних систем ЦОС повинна відповідати таким вимогам:

мати організацію, що орієнтована на роботу з векторами і матрицями даних;

забезпечити одночасне введення вхідного масиву даних і виведення раніше прийнятого масиву, дані в якому розміщені у відповідності до алгоритму розв'язання задачі;

забезпечувати введення і виведення даних як з однаковою, так і з різною тактовою частотою;

виконувати функції переставляння та затримки даних на необхідне число тактів;

забезпечувати багатоканальне введення та виведення даних, причому число входів і виходів може бути різним;

бути адаптованою до структури даних і специфіки задач, які розв'язуються.

Для забезпечення вищевказаних вимог при проектуванні пам'яті комп'ютерних систем ЦОС небхідно спиратися на наступні принципи:

ієрархічності і багаторівневості побудови пам'яті великої ємності з широким використанням кешування і механізмів управління сигналами очікування;

просторового і функціонального розділення внутрішньої пам'яті з широким використанням різних за швидкодією і шириною доступу модулів пам'яті;

багатоканального доступу до пам'яті з метою забезпечення декількох звертань на протязі одного командного циклу;

апаратної реалізації складних алгоритмів генерації послідовності адрес з використанням модульної арифметики;

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

11. Інтерфейси комп'ютерних систем ЦОС

Інтерфейси комп'ютерних систем ЦОС за функціональним призначенням діляться на зовнішні, призначені для введення-виведення даних і зв'язку з ведучим комп'ютером та внутрішні - для з'єднань між процесорними елементами (ПЕ), процесорами і пам'яттю у середині системи. У більшості випадків для зв'язку ПЦОС з ведучим комп'ютером використовується послідовні інтерфейси RS-232С, RS-422А, RS-423А, RS-485 або магістралі (шини) VME, FUSTBUS, Futurebus, SCSI, ISA, PCI, FireWire []. Причому послідовні інтерфейси в основному використовується для зв'язку комп'ютера з простими процесорними модулями (Starter Kit), а шини ISA, PCI - для зв'язку ПЦОС з персональним комп'ютером. Для введення-виведення даних в ПЦОС використовуються АЦП, ЦАП, паралельні, послідовні порти введення-виведення та канали ПДП [2,3,9].

В системах ЦОС для обміну між елементами використовуються мережі обміну, які за топологією зв'язків діляться на три типи: шинні, статичні та динамічні. Мережі з шинною організацією в основному використовуються при реалізації багатопроцесорних систем. Статичні та динамічні мережі забезпечують локальні та глобальні зв'язки між елементами системи. Особливістю статичних мереж є жорстко фіксовані з'єднання, а динамічних - можливість підключення різних виходів до одного і того ж входу.

В систолічних процесорах часто для забезпечення ефективного обміну між процесорними елементами використовуються лінки (комутаційні порти), в яких управління передачею даних здійснюється шляхом запису відповідних кодів в регістри стану і керування. При цьому у процесі передачі використовується буферизація даних, які передаються і приймаються.

Ефективність систем ЦОС в значні мірі визначається інтерфейсами зовнішньої пам'яті ПЦОС, які можна розділити за трьома основними ознаками: кількістю портів пам'яті, інтелектуальністю і гнучкістю інтерфейсу та часовими параметрами. Більшість ПЦОС використовують один зовнішній порт пам'яті, який складається з шин: адреси, даних і управління. Інтерфейс зовнішньої пам'яті для ПЦОС з багатошинною і багатомодульною пам'яттю повинен забезпечувати їх зовнішнє розширення. Приклад типового інтерфейсу зовнішньої пам'яті для ПЦОС з трьома незалежними множинами шин зображений на рис.11.1. Даний інтерфейс дозволяє нарощувати пам'ять програм і даних шляхом підключення до ПЦОС зовнішніх модулів пам'яті та комутацією на його лінії однієї із трьох внутрішніх множин шин.

Рис.11.1 Типовий інтерфейс зовнішньої пам'яті

Недоліком такого інтерфейсу є неможливість множинного доступу до модулів зовнішньої пам'яті на протязі одного командного циклу, що веде до зменшення продуктивності ПЦОС при виконанні програм з доступом до зовнішньої пам'яті. Забезпечення паралельного доступу до зовнішньої пам'яті протягом одного командного циклу можливе шляхом збільшення кількості портів зовнішньої пам'яті. Збільшення кількості портів зовнішньої пам'яті вимагає збільшення вартості ПЦОС. Прикладом процесорів ЦОС з двома зовнішніми портами є процесори ADSP-21020 (Analog Devices), DSP 96002 (Motorola), TMS 320C30 i TMS 320C40 (Texas Instruments), де один із портів є портом зовнішньої глобальної, а другий - локальної пам'яті. Шини кожного з портів можуть використовуватися для звертання до зовнішньої пам'яті програм і даних з синхронним або асинхронним доступом.

Гнучкість та інтелектуальність інтерфейсів зовнішньої пам'яті визначається кількістю і функціями сигналів шини управління, які забезпечують можливість роботи з широким діапазоном пристроїв зовнішньої пам'яті без спеціального обладнання. Деякими характерними властивостями інтерфейсів зовнішньої пам'яті є можливість програмування станів очікування, та підтримка сторінкового режиму динамічної пам'яті і її регенерації.


Подобные документы

  • Сучасні системи ЦОС будуються на основі процесорів цифрових сигналів (ПЦС). Сигнальними мікропроцесорами (СМП) або процесорами цифрових сигналів є спеціалізовані процесори, призначені для виконання алгоритмів цифрової обробки сигналів у реальному часі.

    лекция [80,1 K], добавлен 13.04.2008

  • Розробка фільтру для обробки цифрових сигналів. Блок обробки реалізується на цифрових мікросхемах середньої ступені інтеграції. Аналіз вхідного сигналу, ідеального сигналу та шуму. Обґрунтування вибору фільтрів та алгоритму обробки вхідного сигналу.

    курсовая работа [504,4 K], добавлен 18.09.2010

  • Використання методів обробки сигналів, які базуються на використанні малохвильової теорії. Вимоги до алгоритмів компресії та критерії порівняння алгоритмів. Застосування вейвлет-перетворень. Критерії оцінювання оптимальності вибору малохвильових функцій.

    реферат [1,1 M], добавлен 26.05.2019

  • Області застосування методів цифрової обробки зображень. Динамічний діапазон фотоматеріалу. Графік характеристичної кривої фотоплівки. Загальне поняття про High Dynamic Range Imaging. Тональна компресія та відображення. Головні стегано-графічні методи.

    контрольная работа [1,6 M], добавлен 10.04.2014

  • Принцип роботи конвеєрних комп’ютерних систем. Опис можливостей паралельної обробки інформації обчислювальною системою. Конвеєрна обробка на кожному з рівнів. Розширення трирівневої моделі паралелізму засобами опису потенційних можливостей конвейєризації.

    лабораторная работа [44,0 K], добавлен 21.10.2014

  • Введення аналогових сигналів в комп'ютер, перетворення вимірювальної інформації. Дискретизація сигналів, синхронізація за допомогою задаючого таймеру, визначення інтервалу дискретизації. Цифро-аналогові перетворювачі, основні параметри і характеристики.

    курсовая работа [424,8 K], добавлен 19.06.2010

  • Комп'ютерні інформаційні системи. Характеристика автоматизованої системи обробки економічної інформації на підприємстві. Технологічний процес обробки інформації конкретної задачі в системі. Впровадження в дію автоматизації бухгалтерського обліку.

    контрольная работа [25,1 K], добавлен 26.07.2009

  • Теорія обчислювальних систем. Режим обробки, що визначає порядок функціонування системи. Клас оброблюваних задач і порядок їхнього надходження в систему. Порядок ідентифікації обчислювальної системи. Математично задача синтезу обчислювальної системи.

    реферат [33,7 K], добавлен 08.09.2011

  • Процеси пошуку інформацій та розробка структури даних для ефективного зберігання та обробки інформації. Як приклад розглянуто бінарне дерево. Бінарні структури широко використовуються у житті,широко використовуються в багатьох комп'ютерних завданнях.

    курсовая работа [67,7 K], добавлен 24.06.2008

  • Підхід Фліна до класифікації архітектур комп’ютерних систем. Доповнення Ванга та Бріггса до класифікації Фліна. Класифікація MIMD-архітектур Джонсона. Особливості способів компонування комп’ютерних систем Хендлера, Фенга, Шора, Базу та Шнайдера.

    реферат [233,7 K], добавлен 08.09.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.