Студопедия — Тема: Типова архітектура ЕОМ
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Тема: Типова архітектура ЕОМ






Ієрархічний принцип побудови ЕОМ

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

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

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

 

Функції

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

• обробка даних;

• збереження даних;

• переміщення даних;

• керування.

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

 

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

Структура

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

Чотири основних компоненти комп'ютера:

Центральний процесор (ЦП) керує функціонуванням усієї системи і виконує функції обробки інформації. (Дуже часто в найменуванні цього компонента прикметник "центральний" опускається.)

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

Пристрої вводу-виводу переміщають дані між комп'ютером і навколишнім середовищем в обидва боки.

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

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

До складу ЦП входять:

пристрій керування, на який покладаються функції керування іншими компонентами ЦП і, отже, усім комп'ютером;

арифметичний і логічний пристрій (АЛП), що виконує всі операції, пов'язані зі змістовною обробкою інформації;

• регістри,що зберігають оперативну інформацію під час виконання процесором поточної операції;

• внутрішні зв'язки ЦП— деякий механізм, що забезпечує спільну роботу трьох інших компонентів ЦП.

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

 

 

Системи та класифікація команд

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

•код операції — визначає, які саме перетворення повинен виконати процесор з переданими йому елементами даних;

• посилання на операнд-джерело — у процесі виконання машинної команди одні дані перетворяться в інші; ті дані, що перетворяться, — операнды (може бути один операнд чи два) — повинні бути якимсь чином специфіковані;

• посилання на результат — визначають, що зробити з результатом перетворення операндів (найчастіше, куди його помістити);

Типи команд

Розглянемо оператор мови високого рівня, наприклад BASIC чи FORTRAN, якому потрібно буде представити у вигляді послідовності машинних команд:

X = X + Y

Цей оператор вимагає, щоб значення, яке зберігається по символічній адресі Y, було додано до значення, яке зберігається по символічній адресі X, а результат поміщений за адресою X. Яка послідовність машинних команд задасть таку ж операцію? Припустимо, що символічним адресам X і Y відповідають комірки пам'яті 513 і 514; тоді дану операцію можна виконати за допомогою послідовності з трьох команд:

1. Завантажити в регістр процесора вміст комірки пам'яті 513.

2. Додати до вмісту регістра вміст комірки пам'яті 514.

3. Зберегти результат — вміст регістра — у комірці пам'яті 513.

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

Можна розділити машинні команди на наступні категорії:

команди перетворення даних — виконання арифметичних і логічних операцій над операндами;

команди збереження даних — керування пам'яттю;

команди переміщення — виконання операцій вводу-виводу;

команди керування — перевірка результатів і керування черговістю виконання команд програми.

Адресна частина команди

Ще на ранньому етапі розвитку обчислювальної техніки з'явилася класифікація обчислювальних машин в залежності від кількості адресних компонентів у форматі машинної команди — машини поділялися на одноадресні, двохадресні і трьохадресні. Яка максимальна кількість адрес, що може знадобитися в складі однієї машинної команди? Зовсім очевидно, що в арифметичних і логічних командах потрібно специфіцировати якимось чином адреси операндів. Арифметичні і логічні операції поділяються на унарні (операції над одним операндом) і бінарні (над двома операндами). Таким чином, для специфікації операндів нам буде потрібно не більше двох адрес. Результат операції потрібно десь зберегти —третя адреса. І нарешті, після завершення виконання поточної команди буде потрібно звідкись витягти наступну команду — це буде четверта адреса.

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

На мал. 2.4 представлені послідовності команд трьох видів (одно-, двох- і трьохадресні), необхідні для виконання обчислень у наступному прикладі:

Y = (A-B)/(C+D*E)

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

Оскільки трьохадресний формат вимагає, щоб у кожній команді вистачало місця для трьох полів адреси, довжина такої команди виявляється досить великою. Тому такий формат використовується рідко. У двохадресних командах бінарних арифметичних і логічних операцій одне поле адреси має подвійне призначення — воно специфіцирує адресу одного з операндів і адресу результату. Так, команда SUB Y,У задає обчислення значення Y-B і зберігає результат за адресою У. Довжина двохадресної команди менше трьохадресної, але в цього формату є інший недолік — іноді, щоб не "зіпсувати" значення операндів, приходиться переписувати їх за допомогою команди MOVE у вільні комірки пам'яті (програмісти називають їх тимчасовими)і в цих комірках зберігати проміжні результати. У підсумку кількість команд, необхідних для реалізації тих же обчислень, збільшується. У нашому випадку програма обчислення В = (У) / (C+D*E) буде включати шість двохадресних команд.

Ще більш короткий формат мають одноадресні команди. Адреса другого операнда для бінарних операцій задається неявно. Такий формат часто застосовувався в обчислювальних машинах першого покоління, у яких для неявно заданого сховища другого операнда і результату використовувався спеціальний регістр процесора — акумулятор (АС).У нашому прикладі програма обчислення тестового вираження за допомогою набору одноадресних команд включає вісім команд.

Можна реалізувати деякі обчислювальні операції навіть за допомогою нулъадресныхкоманд, у яких поле адреси взагалі відсутнє. Але для того щоб такі команди можна було виконувати, потрібна спеціальна форма організації пам'яті — стековая організація. Стек являє собою список, що працює за принципом "останнім увійшов — першим вийшов" (LIFO — Last-In-First-Out). Положення вершини стека завжди відомо, і, як правило, у комп'ютерах зі стековой організацією пам'яті верхні дві комірки стека являють собою регістри процесора. Таким чином, нульадресні команди неявно звертаються за операндами до двох верхніх комірок стека.

У табл. 2.1 підсумовані відомості про інтерпретацію нуль-, одно-, двох- і трьохадресних команд.

Таблиця 2.1. Інтерпретація команд перетворення з різною кількістю адрес в адресній частині

Кількість адрес Символічне представлення Інтерпретація
  ОР А,В,С А В ОР С
  ОР А,В А А ОР В
  ОР А А АС ОР А
  ОР Т Т ОР (Т-1)

Умовні позначки:

АС — акумулятор; Т — верхня комірка стека; А, У, З — комірка оперативної пам'яті або регістри процесора.

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

 

Проектування набору машинних команд

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

Найбільш важливими, фундаментальними питаннями проектування набору команд є наступні:

•набір операцій, реалізованих на апаратному рівні процесором відповідно до машинних команд, — кількість операцій, ступінь їхньої складності;

•типи даних, над якими виконуються операції на рівні машинних команд;

•формат команд — довжина коду команди, кількість адресних полів, розміри окремих полів і т.д.;

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

•режими адресації — способи (чи спосіб) інтерпретації вмісту полів адресної частини команд набору.

Ці питання взаємозалежні, і вирішувати їх необхідно в сукупності.

 

Контрольні питання:

1. Базові функції комп’ютера.

2. Основні типи операцій, які виконує комп’ютер.

3. Основні компоненти комп’ютера, характеристика їх функцій.

4. Структура центрального процесора, його компоненти.

5. Структура машинної команди.

6. Категорії машинних команд.

7. Одно-, дво-, трьох адресні команди, їх символічне представлення.

8. Поняття стека.

9. Питання, які вирішуються при проектуванні набору команд.







Дата добавления: 2015-04-16; просмотров: 1066. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

Разновидности сальников для насосов и правильный уход за ними   Сальники, используемые в насосном оборудовании, служат для герметизации пространства образованного кожухом и рабочим валом, выходящим через корпус наружу...

Дренирование желчных протоков Показаниями к дренированию желчных протоков являются декомпрессия на фоне внутрипротоковой гипертензии, интраоперационная холангиография, контроль за динамикой восстановления пассажа желчи в 12-перстную кишку...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия