В Я Крайовський, А О Мельник - Вплив компонент архітектури програмованого комп'ютерного пристрою на його характеристики - страница 1

Страницы:
1  2 

УДК 681.3

В.Я. Крайовський, А.О. Мельник

Національний університет "Львівська політехніка", кафедра електронно-обчислювальних машин

ВПЛИВ КОМПОНЕНТ АРХІТЕКТУРИ ПРОГРАМОВАНОГО КОМП'ЮТЕРНОГО ПРИСТРОЮ НА ЙОГО ХАРАКТЕРИСТИКИ

© Крайовський В.Я, Мельник А.О., 2008

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

The model of architecture of programmable computer device is offered in the article as multilevel array of its components and their functions, interconnections between components at all levels, array of instruction formats, array of address formats, array of data parameters, instructions set list, array of addressing modes. Description of named constituents is formalized.

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

Огляд літературних джерел. Вперше означення терміну „архітектура комп'ютера" було зроблено в 1964 році розробниками комп'ютера IBM 360 Г. Амдалем та його колегами [1]. Архітектура комп'ютера з їх точки зору - це його структура і поведінка як їх бачить програміст на асемблерній мові. Вона об'єднує таке: формати даних і команд, методи адресації, систему команд, а також загальну організацію процесора, основної пам'яті і пристроїв введення-виведення. Пізніше А. Пейджез з тієї ж фірми запропонував розуміти під архітектурою комп'ютера інтерфейс між його апаратним та програмним забезпеченням.

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

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

1. Компоненти архітектури програмованого комп'ютерного пристрою

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

CD = {CDMS, IOI, IF, AF, IND, IMD, EXD, ISA, AM, CDC}, (1) де CDMS - багаторівнева структура (структурна будова) комп'ютерного пристрою, IOI - інтерфейс вводу-виводу, IF - формати команд, AF - множина форматів адрес, IND - множина параметрів вхідних даних, IMD - множина параметрів проміжних даних, EXD - множина параметрів вихідних даних, ISA - склад (архітектура) системи команд, AM - множина способів адресації пам'яті, CDC -характеристики комп' ютерного пристрою.

Розглянемо детальніше параметри архітектури ПКП з тим, щоб визначити діапазони зміни її елементів та їх взаємозв' язок.

2. Багаторівнева структура програмованого комп'ютерного пристрою Багаторівнева структура комп'ютерного пристрою CDMS - це множина його компонентів, їх

функції та система зв' язків між ними на всіх рівнях, починаючи з цифрового логічного рівня, об'єктами якого є вентилі типу І, АБО, НІ, до рівня міжрегістрових передач, об'єктами якого є регістри, мультиплексори, лічильники, стеки регістрів, блоки постійної та оперативної пам'яті, суматори, арифметико-логічні пристрої тощо, і закінчуючи рівнем його основних вузлів, об'єктами якого є процесор, пам' ять, пристрої вводу-виводу тощо. Багаторівнева структура комп' ютерного пристрою описується так:

CDMS = {Q Є {C}, (j=0,1,2,...,P-1); Cj = Fj, Mj};

Кп™ Є {K}, (v = 0,1,2,...,P-1; l=0,1,2,...,Lj-1; m=0,1,2,...,Mj-1)}, (2)

де Cj - j-та компонента комп'ютерного пристрою, P - кількість компонент в комп'ютерному пристрої, K - множина зв'язків між компонентами комп'ютерного пристрою, причому К^"™ -

зв'язок між 1-м виходом j-ї компоненти комп'ютерного пристрою і m-м входом v-ї компоненти комп'ютерного пристрою, Lj, Mj - відповідно кількість входів та виходів j-ї компоненти комп'ютерного пристрою, Fj - функція, виконувана j-ю компонентою комп'ютерного пристрою.

3. Інтерфейс вводу-виводу програмованого комп'ютерного пристрою

Інтерфейс вводу-виводу IOI описує правило вводу даних, умови початку та закінчення обробки даних, а також правило виводу даних.

Правило вводу даних DIR задає порядок подачі вхідних даних для обробки та вказує, на які компоненти комп' ютерного пристрою ці дані подаються, і може бути описане так:

DIR = \[Ck : k = (0,1,...,CIN -1)є {IC},Kj є {K= (0,1,...,L, -1); j = (0,1,...,P-1)}, (3) де {iC} - множина вхідних умов, що задають порядок подачі вхідних даних для обробки, причому ICk - вхідна умова, в разі виконання якої на вхід подається i -й елемент вхідних даних; CIN ­кількість вхідних умов; Kj - зв'язок, що з'єднує вхід комп'ютерного пристрою з l -м входом j

компоненти комп'ютерного пристрою, на яку надходить i -й елемент вхідних даних; P - кількість компонент в комп'ютерному пристрої; Lj - кількість входів j -ї компоненти.

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

DOR = O>Ck : k = (0,l,...,COUT - {OC},KmUT є {К};mv = (0,l,...,Mv -l);v = (0,1,...,P-l)}, (4) де {OC} - множина вихідних умов, що задають порядок подачі даних на вихід, причому OCk -

вихідна умова, в разі виконання якої на вихід подається i -й елемент вихідних даних; C -кількість вихідних умов; KOUT - зв язок, що з єднує m -й вихід v -ї компоненти комп ютерного пристрою з виходом комп' ютерного пристрою, на який надходить i -й елемент вихідних даних; P - кількість компонент в комп'ютерному пристрої; Mv - кількість виходів v -ї компоненти. Множина умов початку обробки даних SR описується виразом:

SR = SC :i = (0,1,...,CS-l)s{SC}}, (5)

де {SC} - множина умов початку, в разі виконання яких розпочинається обробка даних; C S -кількість умов початку обробки даних.

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

FR = {FC, : i = (0,l,...,CF -l)e {FC}}, (6)

де {FC} - множина умов закінчення, в разі виконання яких закінчується обробка даних; CF -кількість умов закінчення обробки даних.

4. Формат команди та структура її адресного поля

Команда в комп'ютері зберігається в двійковій формі. Вона вказує тип операції, яка має бути виконаною, адреси операндів, над якими виконується операція, та адреси розміщення результатів виконання операції. Відповідно до цього команда складається з двох частин: коду операції та адресної частини. Поле коду операції займає k розрядів. Ним може бути закодовано до N = 2k різних операцій. Поле адреси (адресна частина) займає m розрядів. У ньому розміщені адреси операндів. Кожна адреса займає im розрядів, де i - номер адреси (i=l,2,...l), l - кількість адресних полів. Кожною адресою можна адресувати пам'ять ємністю 2mi слів. Отже, залежно від формату команди комп'ютери можна поділити на: комп'ютери з постійним та змінним форматом команди, комп' ютери з одноадресними, двохадресними та трьохадресними командами, комп' ютери з вузьким та широким форматом команди (залежно від кількості полів коду операції та адресних полів) тощо.

Отже, формат команди комп'ютерного пристрою описується такими параметрами:

IF = {noCr (n = ]log2Nr[); qr (q=0,l,2,3,4); mqr; r =0,l,...,R-l}, (7) де r - номер формату команди, R - кількість використовуваних в комп'ютерному пристрої форматів команд, nocr - розрядність коду операції команди r-го формату, Nr - кількість виконуваних комп'ютерним пристроєм операцій у разі використання r-го формату команди, ]log2Nr[ - більше ціле від log2Nr, qr - кількість адрес в команді r-го формату, mqr - розрядність q-ї адреси r-го формату.

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

ISAm = (r (r =0,1,...,R-1); Nr}, (8) де r - тип архітектури (стекова, акумуляторна, на основі регістрів загального призначення регістр-регістр, регістр-пам'ять, пам'ять-пам'ять), R - кількість типів архітектури ПКП, Nr - номер регістра комп'ютерного пристрою, використовуваного як акумулятор.

Структура адресного поля команди комп'ютерного пристрою описується такими параметрами:

AF = (nr (n = ]log2Nr[); r =0,1,...,R-1}, (9) де r - тип пам' яті (регістри загального призначення, індексна пам' ять, пам' ять даних, пам' ять команд тощо), R - кількість використовуваних в комп' ютерному пристрої типів пам' яті, nr -розрядність адреси r-го типу, Nr - об'єм пам'яті r-го типу, ]log2Nr[ - більше ціле від log2Nr.

5. Множина форматів даних програмованого комп'ютерного пристрою

Під даними розуміються числа, подані в деякій системі числення. У сучасних комп'ютерах дані здебільшого подані в позиційній двійковій системі числення, яка практично витіснила інші способи подання чисел, наприклад, подання в позиційній десятковій системі числення, в системі залишкових класів тощо. У комп'ютерах є три класи даних: вхідні IND, проміжні IMD та вихідні EXD, які можна охарактеризувати такою множиною параметрів: кількістю N даних, їх розрядністю n (n=1,2,3,...), способом кодування M (прямий, обернений чи доповняльний код), формою подання S (фіксована чи рухома кома), форматом T (місце розміщення знака, ціле чи дробове число, місце розміщення коми, розрядність порядку, основа порядку, використання знака порядку чи зміщення, розрядність мантиси, чи використовується нормалізація мантиси). Отже, залежно від значення параметрів n, M, S, T можна виділити відповідну архітектуру комп'ютера. Наприклад, це може бути комп'ютер для виконання операцій над 16-розрядними дробовими двійковими даними в форматі з фіксованою комою в доповняльному коді, або це може бути комп' ютер для виконання операцій над 32-розрядними двійковими даними в форматі з рухомою комою.

У загальному випадку кожне дане має свої параметри, тобто

D,r = (DP,r, n,r, M,r, S,r; i=0,1,...,Nr-1; r Є (IND v IMD v EXD}}. (10)

6. Правило обробки даних

Значення i проміжних IMD та вихідних EXD даних на m виходах j-ї компоненти комп'ютерного пристрою визначаються значеннями вхідних IND та проміжних IMD даних на їх 1-х входах та типом Fj виконуваної j компонентою операції над цими даними:

Dimr (i=0,1,...,Nr-1; m=0,1,2,...,Mj-1; r Є (IMD v EXD}) = = Fj (Dir Є ( Di1r, Di2r      Diir      DiL/ }(i=0,1,...,N-1;

1=0,1,2,...,Lj-1; r Є (IND v IMD})). (11) При цьому кожна j-та компонента С. комп'ютерного пристрою може бути описана так:

С = (Fj (Fj Є F), Lj, Mj}, (12) де Fj - функція, яка виконується j компонентою, Lj, Mj - відповідно кількість входів та виходів j-ї компоненти комп'ютерного пристрою. Подібно кожний канал зв'язку між 1-м виходом i-ї компоненти та m входом j-ї компоненти комп'ютерного пристрою Кь"4 можна описати так:

(li = 0,1,2,...,Li-1i, mi = 0,1,2,...,Mj-1) = (k^}, (13)

де k - розрядність шини. 7. Склад системи команд

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

ISAam = (d (d =0,1,...,D-1)}, (15) де d - тип архітектури, D - кількість типів архітектури ПКП.

8. Способи адресації пам'яті

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

Страницы:
1  2 


Похожие статьи

В Я Крайовський, А О Мельник - Вплив компонент архітектури програмованого комп'ютерного пристрою на його характеристики