Файл: Мельник А. Архітектура комп\'ютера.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 6814

Скачиваний: 22

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

131

  1. Lindholm, Tim, & Yellin, Frank. The Java Virtual Machine Specification. Online atjava.sun.com/ docs/books/vmspec/html/VMSpecTOC. cod. html.

  2. Messmer, H. The Indispensable PC Hardware Book. Reading, MA: Addison-Wesley, 1993.

  3. Meyer, J., & Downing, T. Java Virtual Machine. Sebastopol, CA: O'Reilly & Associates, 1991.

  4. Miller, M. A. The 6800 Family, Architecture Programming and Applications, 2nd ed., Columbus, OH: Charles E. Merrill, 1992.

  5. D. Patterson, J. Hennessy. Computer Architecture. A Quantitative Approach. Morgan Kaufmann Publishers, Inc. 1996.

  6. Patterson, D. A., & Hennessy, J. L. Computer Organization and Design, Tlie Hardware/Software Interface, 2nd ed , San Mateo, CA: Morgan Kaufmann, 1997.

  7. Rau, B. Ramakrishna, & Fisher, Joseph A. "Instruction-Level Parallel Processing: History, Over­view and Perspective". Journal of Supercomputing 7 (1), Jan. 1993, pp. 9-50.

  8. Sohi, G. "Instruction Issue Logic for High-Performance Interruptible, Multiple Functional Unit, Pipelined Computers". IEEE Transactions on Computers, March 1990.

  9. SPARC International, Inc., The SPARC Architecture Manual: Version 9, Upper Saddle River, NJ: Prentice Hall, 1994.

  10. Stallings, W. Computer Organization and Architecture, 5th ed., New York, NY: Macmillan Publi­shing Company, 2000.

  11. Stern, Nancy. From EN1AC to UNIVAC: An Appraisal of the Eckert-Mauchly Computers. Herndon, VA: Digital Press, 1981.

  12. Struble, G. W. Assembler Language Programming: The IBM System/360 and 370, 2nd ed., Reading, MA: Addison-Wesley, 1975.

  13. Tanenbaum, Andrew. Structured Computer Organization, 4th ed., Upper Saddle River, NJ: Pren­tice Hall, 1999.

  14. Wall, David W. Limits of Instruction-Level Parallelism. DEC-WRL Research Report 93/6, Nov. 1993.

  15. Wray, W. C, 8c Greenfield, J. D. Using Microprocessors and Microcomputers, the Motorola Family. Englewood Cliffs, NJ: Prentice Hall, 1994.

3.11. Питання до розділу З

  1. Як організовується зв язок між процесором і основною пам яттю?

  2. Який порядок виконання команд в комп ютері?

  3. Як кодуються команди в комп ютері?

  4. Що таке асемблерна мова і для чого використовується асемблер?

  5. Як класифікуються команди за типами операцій?

  6. Назвіть команди обробки даних

  7. Назвіть базові операції зсуву

  8. Назвіть команди переміщення даних

  9. Поясніть принципи організації послідовного виконання команд і розгалуження


  1. Назвіть команди передачі керування

  2. Назвіть команди переходу

  3. Назвіть команди пропуску

  4. Назвіть команди звертання до підпрограм

  5. Поясніть принципи конвеєрного виконання команд

  6. Якою є продуктивність 4-ярусного конвеєра з тактом 20 не при виконанні 100 команд?

  7. Назвіть можливі конфлікти, які можуть сповільнити конвеєр

  8. Які використовуються формати команд при роботі з основною пам яттю?

  9. Які формати команд використовуються при роботі з регістрами процесора?


132

  1. Які головні критерії вибору формату команд?

  2. Поясніть різницю між акумуляторною архітектурою, стековою архітектурою та архітек­турою на основі регістрів загального призначення

21. Поясніть різницю між архітектурами системи команд типу регістр регістр, регістр
пам'ять і пам'ять пам'ять

  1. Які переваги та недоліки команд з фіксованим та зі змінним форматом? Який формат є вживанішим в сучасних комп'ютерах і чому?

  2. Яким чином знаходяться дані в пам'яті коли в команді відсутня адресна частина?

  3. Яка програма має більше команд: та, що складається з безадресних команд, одноадресних команд, чи з двоадресних команд? Чому?

  4. Що таке спосіб адресації?

  5. Які є способи адресації пам'яті? їх призначення?

  6. Як організовується стекова пам ять?

  7. Поясніть порядок організації обчислень при використанні стекової адресації

  8. Наведіть приклади використання інфіксної, префіксної та постфіксної форм запису ариф­метичних виразів


  1. Наведіть приклади безпосередньої, прямої, непрямої, відносної та базової адресацій

  2. Чим відрізняється індексна адресація від базової?

  3. Чому необхідна велика кількість різних способів адресації?

  4. Які формати команд використовуються в системі IBM 370? їх відмінності

  5. Які формати команд використовуються в машині Cyber-70?

  6. Які формати команд використовуються в комп'ютері DLX?

  7. Дайте класифікацію архітектур комп'ютера за складом системи команд

  8. Яка різниця між комп'ютерами із складною та простою системами команд?

  9. Які особливості має комп'ютер з доповненою системою команд?

  10. Які переваги має комп'ютер з орієнтованою системою команд?


Розділ 4

Процетр універсадьного комп'ютера

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

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

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

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

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

4.1. Процесор комп'ютера із складною системою команд

4.1.1. Одношинна структура процесора

Почнемо розгляд процесора з аналізу його структури та організації роботи. Однією з найпростіших структур процесора є одношинна структура. Одношинну структуру про­цесора і його зв'язки з іншими пристроями комп'ютера показано на рис. 4.1. Як бачимо, до складу процесора входять пристрій керування, арифметико-логічний пристрій АЛП з вхідним PrY та вихідним PrZ регістрами, і регістрова пам'ять, до складу якої входять регістр каманд РгК, регістр даних РгД, регістр адреси РгА, програмний лічильник ПЛ, та регістро-


134

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

РгА зберігає адресу даного або команди при зверненні до основної пам'яті. РгК збе­рігає команду після її зчитування з основної пам'яті. РгД зберігає операнд при його за­пису або зчитуванні з основної пам'яті. ПЛ - програмний лічильник, який підраховує команди та зберігає адресу поточної команди.

Регістри загального призначення Pr0-Pr(n-1)регістрового файла є програмно доступ­ними. Вони можуть використовуватися програмістом в якості адресних регістрів, ін­дексних регістрів при виконанні операцій модифікації адрес або в якості регістрів для зберігання проміжних результатів обчислень. Більшість комп'ютерів мають в складі про­цесора тригери для зберігання бітів стану процесора, або як їх ще називають, прапорців. Кожен прапорець має спеціальне призначення. Частина прапорців вказує на результати арифметичних і логічних операцій: додатній результат (Р), від'ємний результат (N), ну­льовий результат (Z), перенос (С), арифметичне переповнення (V) тощо.

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


135

4.1.2. Основні операції процесора

Можна виділити дві фази виконання команди в процесорі: фаза вибірки та фаза ви­конання. Фаза вибірки передбачає вибірку вмісту комірки основної пам'яті, в якій збе­рігається команда, за значенням програмного лічильника ПЛ і засилання команди в РгК (РгК := [[ПЛ]]), а також прирощення ПЛ на одиницю: [ПЛ] := [ПЛ] + 1. Фаза виконання команди передбачає її дешифрування та виконання операцій, вказаних в коді операції ко­манди. Для того, щоб побачити, як обидві фази виконуються в процесорі, розглянемо його основні операції, до виконання яких задіяні представлені на рис. 4.1 елементи.

4.1.2.1. Вибірка слова з пам'яті

Нехай адреса комірки основної пам'яті знаходиться в регістрі Ргі, а дані потрібно розмістити в регістрі Рг2.

Для вибірки із основної пам'яті необхідно виконати наступну послідовність операцій:

  1. РгА := Ргі (запис до регістра адреси РгА вмісту регістра Ргі).

  2. Зчитування (виконання операції зчитування команди з комірки основної пам'яті до регістра РгД шляхом подання сигналу Read на вхід керування режимом роботи основ­ної пам'яті та сигналу запису до регістра РгД).

  3. Чекання на сигнал підтвердження зчитування.

  4. Рг2 := РгД (запис до регістра Рг2 даного з регістра РгД).

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

4.1.2.2. Запам'ятовування слова в пам'яті

Нехай слово, яке запам'ятовується в основній пам'яті, знаходиться в регістрі Рг2, а адреса - в регістрі Ргі. Тоді послідовність операцій буде наступною:

  1. РгА := Ргі (запис до регістра адреси РгА вмісту регістра Ргі).

  1. РгД := Рг2 (запис до регістра даних РгД вмісту регістра Рг2), запис (виконання опе­рації запису слова з регістра РгД до комірки основної пам'яті шляхом подання сигналу Write на вхід керування режимом роботи основної пам'яті).

  2. Чекання на сигнал підтвердження запису (при асинхронному принципі обміну між процесором і основною пам'яттю).

4.1.2.3. Обмін даними між регістрами

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