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

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

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

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

Добавлен: 24.12.2021

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

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

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

395

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

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

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

10.6. Література для подальшого читання

Обґрунтування потреби в ієрархії пам'яті і сам термін, а також принципи керування двома рівнями пам'яті вперше запропоновано в роботі [17]. Віртуальна пам'ять була ре­алізована в комп'ютерах системи IBM 370, в якій вперше був використаний буфер швид­кого перетворення адреси, інформацію про що можна знайти в роботі [6].

Питання побудови кеш пам'яті, організацію взаємодії між рівнями ієрархічної пам'я­ті, принципи обміну інформацією між рівнями ієрархічної пам'яті, характеристики, які використовуються для оцінки ефективності ієрархічної пам'яті, різноманітність методів відображення основної пам'яті на кеш пам'ять, методи забезпечення узгодженості вміс­ту основної і кеш пам'яті, та які чинники впливають на вибір ємності кеш пам'яті і роз­мір блоку, розглянуті в роботах [1-5,7,11-16,18-34].

Питання сторінкової організації пам'яті, зокрема як це було зроблено в системі Ат­лас, та захисту в ній інформації на прикладі систем IBM 360, Intel 80286 та Multics описа­ні в роботах [10, 35-37].

10.7. Література до розділу 10

  1. Agarwal, A. [1987]. Analysis of Cache Performance for Operating Systems and Multiprogramming, Ph.D. Thesis, Stanford Univ., Tech. Rep. No. CSL-TR-87-332 (May).

  2. Agarwal, A. and S. D. Pudar [1993J. "Column-associative caches: A technique for reducing the miss rate of direct-mapped caches," 20th Annual Int'l Symposium on Computer Architecture ISCA '20, San Diego, Calif., May 16-19. Computer Architecture News 21:2 (May), 179-90.


396

  1. BaER, J.-L. AND W.-H. Wang f 1988]. "On the inclusion property for multi-level cache hierarchi­es", Proc. 15th Annual Symposium on Computer Architecture (May-June), Honolulu, 73-80.

  2. Bhandarkar, D. P. [1995], Alpha Architecture Implementations, Digital Press, Newton, Mass.

  3. BORG, A., R. E. KESSLER, AND D. W. WALL [1990]. "Generation and analysis of very long add­ress traces", Proc. 17th Annual Int'l Symposium on Computer Architecture (Cat. No. 90CH2887-8), Seattle, May 28-31, IEEE Computer Society Press, Los Alamitos, Calif., 270-9.

  4. CASE, R. P. AND A. PADEGS [1978]. "The architecture of the IBM System/370", Communications of'the ACM 21:1, 73-96. Also appears in D. P. Siewjorek, C. G. Bell, and A. Newell, Computer Structures: Principles and Examples (1982), McGraw-Hill, New York, 830-855.

  5. Clark, D. W. [1983]. "Cache performance of the VAX-W780", ACM Trans, on Computer Systems 1:1,24-37.

  6. Conti, C, D. H. GIBSON, AND S. H. P1TKOWSKY [1968J. "Structural aspects of the Sys­tem/360 Model 85, Part I: General organization", IBM Systems J. 7:1, 2-14.

  7. CRAWFORD, J. H. AND P. P. GELSINGER [1987]. Programming the 80386, Sybex, Alameda, Calif:


  1. FABRY, R. S. [1974]. "Capability based addressing", Comm. ACM 17:7 (July), 403-412.

  2. FARKAS, K. I. AND N. P. JOUPP1 [1994]. "Complexity/performance tradeoffs with non-bloc­king loads'; Proc. 21st Annual Int'l Symposium on Computer Architecture, Chicago (April).

  3. Gao, Q. S. [1993]. "The Chinese remainder theorem and the prime memory system", 20th Annual Int'l Symposium on Computer Architecture ISCA '20, San Diego, May 16-19, 1993. Computer Architect­ure News 21;:2 (May), 337—40.

  4. Gee, J. D., M. D. Hill, D. N Pnevmatikatos, and A. J. Smith [1993]. "Cache performance of the SPEC92 benchmark suite", IEEE Micro 13:4 (August), 17-27.

  5. HILL, M. D [1987]. Aspects of Cache Memory and Instruction Buffer Performance, Ph.D. Thesis, University of Calif, at Berkeley, Computer Science Division, Tech. Rep. UCB/CSD 87/381 (November).

  6. Hill, M. D. [1988]. "A case for direct mapped caches", Computer 21:12 (December), 25-40.

  7. JOUPPI, N. P. [1990]. "Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers", Proc. 17th Annual Int'l Symposium on Computer Architecture (Cat. No. 90CH2887-8), Seattle, May 28-31, 1990. IEEE Computer Society Press, Los Alamitos, Calif, 364-73.

  8. Kilburn, T, D. B. G. Edwards, M. J. Lanigan, and E H. Sumner [1962], "One-level storage system", IRE Trans, on Electronic Computers EC-11 (April) 223-235. Also appears in D. P. Siewiorek, C. G. Bell, and A. Newell, Computer Structures: Principles and Examples (1982), McGraw-Hill, New York, 135-148.

  9. Kroft, D. [1981]. "Lockup-free instruction fetch/prefetch cache organization", Proc. Eighth Ann­ual Symposium on Computer Architecture (May 12-14), Minneapolis, 81-87.

  10. Lam, M. S., E. Е. Rothberg, and M. E. Wolf [1991]. "The cache performance and optimizatio­ns of blocked algorithms", Fourth Int'l Conf. on Architectural Support for Programming Languages and Operating Systems, Santa Clara, Calif, April 8-11. SIGPLAN Notices 26:4 (April), 63-74.

  11. Lebeck, A. R. and D. A. WOOD [1994]. "Cache profiling and the SPEC benchmarks: A case study" Computer 27-Л0 (October), 15-26.

  12. Liptay, J. S. [1968]. "Structural aspects of the System/360 Model 85, Part II: The cache", IBM Systems J. 7:1, 15-21.

  13. McFarling, S. [1989]. "Program optimization for instruction caches", Proc. Third Int'l Conf. on Architectural Support for Programming Languages and Operating Systems (April 3-6), Boston, 183-191.

  14. Mowry, T. C, S. Lam, and A. Gupta [1992]. "Design and evaluation of a compiler algorithm for prefetching", Fifth Int'l Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS-V), Boston, October 12-15 , SIGPLAN Notices 27:9 (September), 62-73.


397

  1. Palacharla, S. and R. E. KesSLER [1994]. "Evaluating stream buffers as a secondary cache replacement", Proc. 21st Annual Int'l Symposium on Computer Architecture, Chicago, April 18-21, IEEE Computer Society Press, Los Alamitos, Calif., 24-33.

  2. PRZYBYLSKI, S. A. [1990]. Cache Design: A Performance-Directed Approach, Morgan Kauf-mann Publishers, San Mateo, Calif.

  3. PRZYBYLSKI, S. A., M. Horowitz, AND J. L. Hennessy [1988], "Performance tradeoffs in cache design", Proc. 15th Annual Symposium on Computer Architecture (May-June), Honolulu, 290-298.

  4. Saavedra-Barrera, R. H. [1992]. CPU Performance Evaluation and Execution Time Prediction Using Narrow Spectrum Benchmarking, Ph.D. Dissertation, University of Calif., Berkeley (May).

  5. Samples, A. D. AND P. N. Hilfinger [1988]. "Code reorganization for instruction caches", Tech. Rep. UCB/CSD 88/447 (October), University of Calif., Berkeley.

  6. Sites, R. L. (ED.) [1992]. Alpha Architecture Reference Manual, Digital Press, Burlington, Mass.

  7. Smith, A. J. [1982]. "Cache memories", Computing Surveys 14:3 (September), 473-530.

  8. Smith, J. E. and J. R. Goodman [1983]. "A study of instruction cache organizations and replace­ment policies", Proc. 10th Annual Symposium on Computer Architecture (June 5-7), Stockholm, 132-137.

  9. STRECKER, W. D. [1976]. "Cache memories for the PDP-11?," Proc. Third Annual Symposium on Computer Architecture (January), Pittsburgh, 155-158.

  10. Torrellas, J., A. Gupta, and J. Hennessy [1992], "Characterizing the caching and synchro­nization performance of a multiprocessor operating system", Fifth Int'l Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS-V), Boston, October 12-15, SIGPLAN Notices27:9 (September), 162-74.

  11. Wang, W.-H., J.-L. Baer, and H. M. Levy [1989]. "Organization and performance of a two-level virtual-real cache hierarchy", Proc. 16th Annual Symposium on Computer Architecture (May 28-June 1), Jerusalem, 140-148.

  12. Wilkes, M. [1965]. "Slave memories and dynamic storage allocation", IEEE Trans. Electronic Computers EC-14:2 (April), 270-271.

  13. Wilkes, M. V. [1982]. "Hardware support for memory protection: Capability implementati­ons", Proc. Symposium on Architectural Support for Programming Languages and Operating Sys­tems (March 1-3), Palo Alto, Calif., 107-116.

  14. Wulf, W. A., R. Levin, and S. P. HARBISON [1981], Hydra/C.mmp: An Experimental Compu­ter System, McGraw-Hill, New York.

10.8. Питання до розділу 10

  1. Чим пояснюється різниця між продуктивністю процесора та пам'яті?

  2. Що показує аналіз зміни з роками швидкодії статичної і динамічної напівпровідникової та дискової пам'яті і процесора?

  3. Як зростає з роками розрив між швидкодією процесора і динамічної пам'яті? На що це впливає?

  4. Як зростає з роками розрив між швидкодією динамічної і дискової пам'яті? На що це впли­ває?

  5. Чим викликана необхідність побудови системи пам'яті за ієрархічним принципом?

  6. Що включає поняття «локальність за зверненням»?

  7. Що таке просторова локальність?

  8. Що таке часова локальність?

  9. Які висновки витікають з властивості локальності?


  1. Наведіть принцип ієрархічної організації пам'яті

  2. Завдяки чому середній час доступу в ієрархічній системі пам яті визначається більш швидкодіючими видами пам'яті?


398

  1. Що в ієрархічній системі пам'яті визначають терміни «промах» і «попадання»?

  2. На які питання необхідно відповісти, щоб охарактеризувати певний рівень ієрархічної пам яті?

  3. Наведіть принципи обміну інформацією між рівнями ієрархічної пам'яті.

  4. Які характеристики використовуються для оцінки ефективності ієрархічної пам'яті?

  5. Поясніть місце кеш пам'яті в складі комп'ютера.

  6. Поясніть призначення і логіку роботи кеш пам'яті.

  7. В чому вигода від поділу кеш пам'яті першого рівня на кеш пам'ять даних та кеш пам'ять команд?

  8. Які проблеми породжує включення кеш пам'яті в ієрархію пам'яті?

  9. Чим обумовлена різноманітність методів відображення основної пам'яті на кеш пам'ять?

  10. Якій вимозі повинен відповідати «ідеальний» алгоритм заміщення вмісту кеш пам'яті?

  11. Якими методами забезпечується узгодженість вмісту основної і кеш пам'яті?

  12. Чим обумовлене введення додаткових рівнів кеш пам'яті?

  13. Які чинники впливають на вибір ємності кеш пам'яті та розміру блоку?

  14. Як співвідносяться характеристики звичайної і дискової кеш пам'яті?

  15. Якими засобами забезпечується віртуалізація пам яті?

  16. Чи існує обмеження на розмір віртуального простору?

  17. Що визначає об'єм сторінкової таблиці?

  18. Якими прийомами досягають скорочення об'єму сторінкових таблиць?

  19. Які алгоритми заміщення використовуються при завантаженні в основну пам ять нової віртуальної сторінки?

  20. Поясніть призначення буфера швидкого перетворення адреси (TLB).

  21. Чим мотивується розбиття віртуальних секторів на сторінки?

  22. Яка частина віртуальної адреси залишається незмінною при його перетворенні у фізичну адресу?

  23. Наведіть способи апаратної реалізації сторінкової таблиці.

  24. Наведіть алгоритми заміщення сторінок в основній пам'яті.

  25. Для чого призначена сегментна організація пам'яті?

  26. Дайте порівняння сторінкової та сегментної організації пам'яті.

  27. Наведіть ієрархію таблиць перетворення віртуальних адрес у фізичні.

  28. Чим обумовлена необхідність захисту пам яті?

  29. Назвіть способи захисту пам'яті.

  30. Поясніть спосіб захисту пам'яті за допомогою ключів захисту.


Розділ 11


Організіція введення-виведення

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

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

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

11.1. Під'єднаний зовнішніх пристроїв до комп'ютера

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

Пристрої введення-виведення призначені для введення інформації в комп'ютер та виведення інформації з комп'ютера.