Конспект з Архітектури

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Комп’ютерних та інформаційних технологій
Кафедра:
ЕОМ

Інформація про роботу

Рік:
2024
Тип роботи:
Відповіді до екзаменаційних білетів
Предмет:
Архітектура комп’ютерів та комп’ютерних систем

Частина тексту файла (без зображень, графіків і формул):

Передмова Комп'ютерні технології все стрімкішими темпами входять в усі сфери життя суспільства, що викликає потребу підготовки фахівців за відповідними напрямами, в першу чергу за напрямами "Комп'ютерна інженерія", "Комп'ютерні науки", "Програмна інженерія", "Прикладна математика", "Захист інформації в комп'ютерних системах та мережах", "Комп'ютеризовані системи, автоматика і управління". Однією з базових дисциплін підготовки бакалаврів за названими напрямами є дисципліна "Архітектура комп'ютера". Цей підручник повною мірою відповідає змісту міністерських програм за вищеназваними напрямами. Запропонований підручник орієнтований на студентів вищих навчальних закладів, викладачів та аспірантів комп'ютерних напрямів підготовки та покликаний прищепити талановитій молоді розуміння основних принципів побудови та організації сучасних комп'ютерів. Він також може бути корисним для фахівців в області комп'ютерних та інформаційних технологій. Підручних охоплює весь комплекс питань, пов'язаних з теорією, принципами та методами побудови й організації функціонування комп'ютерів та складається з дванадцяти розділів. В першому розділі розглянуто історичні аспекти розвитку комп'ютерів, подано основні поняття, функції та основні функціональні вузли комп'ютера, їх взаємозв'язок, а також загальну організацію роботи комп'ютера. Розглянуто характерні риси та сфери застосування різних типів комп'ютерів. Обгрунтовано місце предмета даної книги серед суміжних дисциплін та порядок його розгляду. В наступному, другому, розділі розглянуто основні елементи архітектури комп'ютера. Показано як кодуються та виконуються команди в комп'ютері. Проведена класифікація команд відповідно до ініційованих ними типів операцій та детально розглянуті команди обробки даних, переміщення даних, передачі керування, введення-виведення. Введено поняття конвеєрного виконання команд - одного з видів паралелізму нарівні команди. Розглянуто три типи архітектур комп'ютера за типом адресованої пам'яті: стекова, акумуляторна, та на основі регістрів загального користування, їх переваги і недоліки. Наведено різні способи адресації, включаючи безпосередню, пряму, непряму, базову, індексну, сторінкову і стекову. Детально розглянуто архітектури комп'ютерів з складною, з простою, з доповненою та з орієнтованою системою команд. В третьому розділі розкрито основні питання представлення даних в комп'ютері, які є важливими для розуміння матеріалу наступних розділів. Наведено правила подання даних в позиційних системах числення та переведення чисел із однієї системи числення до іншої. Описано представлення чисел зі знаком в прямому, оберненому та доповняльному кодах а також формати даних з фіксованою та з рухомою комою, включаючи стандарт ІЕЕЕ-754. Розглянуто питання кодування алфавітно-цифрової інформації кодами ASCII, EBCDIC та Unicode. В четвертому розділі розкрито основні алгоритми виконання в комп'ютері операцій обробки даних: логічних, зсуву, відношення, арифметичних, обчислення елементарних функцій, перетворення даних (перетворення із формату з фіксованою в формат з рухомою комою і навпаки, перетворення з двійково-десяткового коду в двійковий і навпаки), реорганізації масивів і визначення їх параметрів (сортування, пошук максимуму або мінімуму, вибір заданого масиву, зсув елементів масиву, стиск масиву), обробки символів та стрічок символів (пошук символу, зсув, заміна символів в стрічці, пакування стрічок символів, порівняння стрічок символів). В п'ятому розділі розглянуто принципи побудови арифметико-логічного пристрою (АЛП) сучасних комп'ютерів, який є одним з основних вузлів процесора. Розкрито структури АЛП для виконання елементарних та складних операцій. Описано багатоблокові АЛП на основі табличних, однотактових, багатотактових та конвеєрних операційних пристроїв для виконання операцій додавання, віднімання, множення, ділення та обчислення елементарних функцій над двійковими числами в форматах з фіксованою та рухомою комою. В шостому розділі розглянуто структуру та організацію роботи пристрою керування з жорсткою логікою, а також методи його проектування: на основі таблиць станів, на основі елементів часової затримки та на основі лічильників. Описано роботу та основні принципи, покладені в основу побудови пристрою мікропрограмного керування. Розглянуто питання розміщення мікрокоманд в пам'яті, формат мікро-команди і способи його оптимізації. В сьомому розділі описано місце процесора в комп'ютері, його функції та склад, розглянуто виконання основних операцій процесора. Виділено базові принципи побудови процесора комп'ютера з складною та з простою системою команд. Описано конвеєрну структуру процесора з простою системою команд та принципи побудови суперконвеєрних, су пер скалярних та векторних процесорів. У восьмому розділі розглянуто конфлікти в конвеєрі команд та методи їх усунення. Проведено аналіз методів запобігання появі трьох класів конфліктів: структурних, за даними та керування. Наведено приклади структур конвеєрних процесорів, в тому числі суперскалярних, в яких зменшено імовірність виникнення конфліктів. Розглянуто архітектури комп'ютерів, в яких відсутні конфлікти команд, а саме комп'ютерів з довгим форматом команди. В дев'ятому розділі розглянуто структуру та основні характеристики пам'яті комп'ютера. Проаналізовано можливі варіанти організації регістрових файлів процесорів та пам'яті з асоціативним доступом. Описано будову запам'ятовуючих пристроїв, які може містити основна пам'ять, способи прискорення доступу до інформації, нарощування розрядності та ємності основної пам'яті. Подано типи сучасних дискових систем та обгрунтування використання масивів магнітних дисків з над-. лишковістю, а також робота шести базових типів дискових масивів RAID: RAID О, RAID 1, ... , RAID 5 та дискових масивів, створених на їх основі. Описано роботу оптичної пам'яті та пам'яті на магнітних стрічках. Виходячи з принципу ієрархічної організації пам'яті, в десятому розділі описано організацію взаємодії між рівнями ієрархічної пам'яті. Зокрема, наведено принципи обміну інформацією між рівнями ієрархічної пам'яті, характеристики, які використовуються для оцінки ефективності ієрархічної пам'яті, пояснено місце кеш пам'яті в складі комп'ютера, призначення і логіку роботи кеш пам'яті, описано переваги поділу кеш пам'яті першого рівня на кеш пам'ять даних та кеш пам'ять команд. Обгрунтовано різноманітність методів відображення основної пам'яті на кеш пам'ять, показано якими методами забезпечується узгодженість вмісту основної і кеш пам'яті, чим обумовлене введення додаткових рівнів кеш пам'яті й які чинники впливають на вибір ємності кеш пам'яті і розміру блоку. Введено поняття статичного і динамічного розподілу пам'яті, поняття віртуальної пам'яті та сторінкової організації пам'яті. Описано алгоритми заміщення, які використовуються при завантаженні в основну пам'ять вмісту зовнішньої пам'яті, призначення буфера швидкого перетворення адреси. Розглянуто сегментну організацію пам'яті та питання захисту пам'яті. В одинадцятому розділі наведено пояснення способів розпізнавання пристроїв введення-виведення з використанням шини введення-виведення, лінії активації та прихованого пам'яттю введення-виведення. Наведено схему та описано функції ін-терфейсної схеми пристроїв введення-виведення. Наведено чотири загальних методи керування введенням-виведенням і пояснено суть, переваги та недоліки програмно керованого введення-виведення. Введено основні поняття та характеристики системи переривання програм. Наведено опис прямого доступу до пам'яті, його переваги і недоліки, описано організацію введення-виведення під керуванням периферійних процесорів. У дванадцятому розділі розглянуто питання подальшого підвищення продуктивності обробки інформації шляхом створення паралельних комп'ютерних систем. Наведено основні положення класифікації комп'ютерних систем, запропоновані Шором та Фліном, і відповідні класифікаціям структури комп'ютерних систем, зокрема з спільною та з розподіленою пам'яттю, з однорідним доступом до пам'яті та з неоднорідним доступом до пам'яті, а також лише з кеш пам'яттю. Наведено типи комунікаційних мереж багатопроцесорних систем. Головною ідеєю книги є концентроване викладення та пояснення базових концепцій побудови сучасних комп'ютерів без заглиблення в роботу конкретних комп'ютерних систем, що дає змогу зорієнтуватися у взаємозалежностях та зв'язках елементів архітектури комп'ютера з метою забезпечення її цілісного бачення і розуміння, та закласти фундамент, який дозволяє в разі потреби набути детальнішої спеціалізації. Матеріал підручника написано на основі курсів лекцій, прочитаних автором в Національному університеті "Львівська політехніка" та в кількох закордонних університетах, та на основі його багаторічної наукової діяльності Хотів би виразити щиру подяку багатьом колегам і друзям за підтримку та допомогу в цій моїй діяльності Окрема подяка доцентам кафедри ЕОМ Національного університету "Львівська політехніка'3 В. С. Глухову та В. В. Троценку за обговорення та поради, зроблені під час написання підручника. І, звичайно, велика подяка моїй дружині Тетяні та синам Віктору і Юрію за терпіння та розуміння необхідності виконання цієї роботи. Ми з вдячністю приймемо всі зауваження та побажання. Автор Розділ 1 Сучасний комп'ютер Основні поняття В цьому розділі розглядаються історичні аспекти розвитку комп'ютерів, подаються основні поняття, функції та основні функціональні вузли комп'ютера, їх взаємозв'язок, а також загальна організація роботи комп'ютера. Проводиться аналіз та даються пояснення одиниць вимірювання технічних характеристик комп'ютера та аналізуються закономірності їх зміни з розвитком елементної бази. Вводиться поняття архітектури комп'ютера та виділяються особливості архітектури Джона фон Неймана та відмінні риси комп'ютерів ненейманівських архітектур. Розглядаються характерні риси та сфери застосування різних типів комп'ютерів: персональних, робочих станцій, багатотермінальних систем, серверів, великих універсальних комп'ютерних систем, кластерів, мікроконтролерів, суперкомп'ютерів та спеціалізованих комп'ютерів. Обґрунтовується місце предмету даної книги серед суміжних дисциплін та порядок його розгляду. 1.1. Історичні аспекти розвитку комп'ютерів В 1946 році Джон фон Нейман (John von Neumann) описав архітектуру комп'ютера, яка є найпоширенішою і в даний час. В своїй науковій роботі він назвав новий пристрій обчислювальним інструментом (computing instrument), звідки логічно появилася сучасна назва комп'ютера. Ця архітектура дістала назву архітектури Джона фон Неймана, хоча в зарубіжній літературі частіше використовується термін "Instruction Set Architecture" ("архітектура системи команд"), що вказує як на рівень опису архітектури комп'ютера, так і на програмний принцип його роботи. До перших розробників та впроваджувачів цієї архітектури належать Чарльз Бебідж (Charles Babbedz), конструктор двох механічних комп'ютерів - різницевої та аналітичної машини (1822-1833 pp.), Джон Атанасов (John Atanasoff) - автор першого спеціалізованого комп'ютера ABC (1939 рік), Конрад Цузе (Konrad Cuze) (1936-1944 pp.) та Ховард Айкен (Howard Aiken) (1941-1946 pp.) конструктори перших електромеханічних комп'ютерів відповідно Z1-Z4 та Магк1-Марк2, Алан Тюрінг (Allan Turing) - один з розробників першого електронного комп'ютера Colossus (1943 рік), Преспер Екерт (Presper Eckert) та Джон Моучлі (John Mauchly) - розробники першого універсального комп'ютера ENIAC (1946 рік), який був описаний в науковій роботі Джона фон Неймана, Мауріс Уілкс (М. Wilkes) - розробник проекту комп'ютера EDSAC (1946 рік). До перших електронних комп'ютерів з програмним керуванням належить і мала електронно-лічильна машина (МЕЛМ), створена в 1951 році в Інституті електродинаміки Академії Наук України, м. Київ під керівництвом академіка С. А. Лебедева (рис. 1.1). / Рис. 1.1. Перший в СРСР універсальний електронний комп'ютер МЕЛМ (Україна, 1951) Сучасний стан технології проектування комп'ютерів базується на теоретичних роботах ряду видатних дослідників, в першу чергу С. Крея, засновника фірми Cray Research, яка випустила кілька поколінь найпотужніших в світі комп'ютерів; М. Фліна, який розробив найуживанішу класифікацію комп'ютерів, Г. Амдаля, який сформував ряд новітніх положень розвитку комп'ютерів, Р. Томасуло, який запропонував підхід до вирішення питання ефективного завантаження комп'ютера, Д. Коука, який запропонував архітектуру "Америка", на основі якої збудовано комп'ютер з спрощеною системою команд RS/6000 фірми IBM (усі вони є вихідцями з цієї фірми), Д. Хеннессі (Стенфордський університет), автора архітектури комп'ютера з спрощеною системою команд MIPS, засновника фірми MIPS (зараз це підрозділ фірми Silicon Graphics, однієї з провідних фірм по виготовленню суперкомп'ютерів), Д. Паттерсона (Каліфорнійський університет), автора архітектури комп'ютерів з спрощеною системою команд RISC І та RISC II, технології RAID збереження даних тощо. їх ідеї були апробовані шляхом створення та практичного використання комп'ютерів фірм Cray Research, IBM, Silicon Graphics, Intel, MIPS, SUN Microsystems, Digital Equipment Corporation, Transmeta та багатьох інших. 1.2. Функції, структура та характеристики комп'ютера 1.2.1. Функції та основні функціональні вузли комп'ютера Комп'ютер представляє собою електронний пристрій, який містить апаратні засоби і програмне забезпечення та автоматично, відповідно до програми, виконує алгоритм вирішення заданої задачі. Під алгоритмом розуміють точний припис, що задає обчислювальний процес вирішення задачі, а під задачею - сформульоване намагання отримати з множини вхідних даних і початкових умов та з множини можливих вихідних даних підмножину вихідних даних, що повністю задовольняють початкові умови і вхідні дані. Алгоритм характеризується множиною параметрів вхідних, проміжних та вихідних даних, правилом вводу даних, правилом початку, правилом обробки даних, правилом закінчення, правилом виводу даних. Для виконання алгоритму комп'ютер приймає вхідну інформацію в цифровій формі, обробляє її відповідно до вказівок команд програми виконання алгоритму, та видає результати обчислень. До основних функцій, які виконує комп'ютер, належать наступні: > сприйняття вхідної інформації - вхідних даних, які підлягають обробці, та програм вирішення задач (програм обробки вхідних даних); > зберігання інформації, тобто вхідних і проміжних даних та результатів обчислень, програм вирішення задач, довідникової інформації, програм операційної системи комп'ютера і т. д.; > виконання арифметичних, логічних та інших операцій; > автоматичне керування роботою складових частин комп'ютера, їх взаємодією між собою та з зовнішніми пристроями відповідно до програми; > виведення результатів обчислень. Для забезпечення виконання цих функцій до складу комп'ютера повинні входити такі основні функціональні вузли: пристрої введення інформації, пристрої виведення інформації, пам'ять та процесор, як це показано на рис. 1.2. / Рис. 1.2. Основні функціональні вузли комп'ютера Коротко зупинимось на функціях та складі кожного вузла комп'ютера. Пристрої введення-виведення виконують введення та виведення інформації. До числа пристроїв введення-виведення належать: > пристрої введення - клавіатура, миша, сканер, відеокамера і т. д.; > пристрої виведення - монітори (з електронно-променевою трубкою та рідкокристалічні), принтер, графопобудовувач і т. д. Пам'ять призначена для зберігання інформації. Типи пам'яті: > кеш пам'ять (КП) - високошвидкісна пам'ять невеликої ємності, використання якої дозволяє прискорити обмін інформацією між основною пам'яттю і процесором. > основна пам'ять (ОП) - пам'ять великої ємності, яка зберігає інформацію, що підлягає обробці в процесорі. До інформації, яка зберігається в ОП, належать вхідні дані, які підлягають обробці відповідно до виконуваного алгоритму, результати проміжних обчислень, вихідні дані, команди програми виконання алгоритму, активна частина операційної системи комп'ютера. Інформація в ОП постійно змінюється, тобто це пам'ять для короткотермінового зберігання інформації; > зовнішня пам'ять (ЗП) - пам'ять великої ємності для зберігання всієї інформації комп'ютера. Якщо при вимкненні комп'ютера інформація в ОП пропадає, тобто вона є енергозалежною, то на інформацію ЗП вимкнення комп'ютера не впливає, тобто це є енергонезалежна пам'ять для довготермінового зберігання інформації. Процесор виконує обробку інформації та керує роботою інших вузлів комп'ютера. До складу процесора входять наступні функціональні вузли: > арифметико-логічний пристрій (АЛП) - набір комбінаційних схем, які виконують арифметичні, логічні та інші операції; > регістрова пам'ять (РП) - набір програмно доступних регістрів, в яких зберігається найчастіше використовувана в процесорі інформація; > пристрій керування (ПК) - керує роботою та взаємодією функціональних вузлів комп'ютера. 1.2.2. Тенденції зміни основних характеристик апаратних засобів комп'ютера Комп'ютер складається з апаратних засобів і програмного забезпечення. Апаратні засоби є базовим рівнем комп'ютера, на якому можуть бути створені багато вищих рівнів шляхом розроблення та завантаження відповідного програмного забезпечення. Характеристики апаратних засобів в значній мірі впливають на споживчі властивості комп'ютера. Тому розглянемо, якими показниками характеризуються основні вузли комп'ютера. Одна з важливих характеристик пристроїв введення-виведення - швидкість введення та виведення інформації. Вона залежить від типу пристрою введення-виведення і лежить в широких межах: від одиниць байтів за секунду для клавіатури до сотень мільйонів байтів за секунду для відеокамери. Основні характеристики регістрового файлу процесора, кеш, основної та зовнішньої пам'яті це ємність та час доступу до даних. Ємність ЗП у десятки, а часто і у тисячі разів перевищує ємність ОП. Наприклад, у сучасних персональних комп'ютерах ємність ОП знаходиться в межах від сотень мільйонів до кількох мільярдів байтів, тоді як ємність ЗП знаходиться в межах від десятків до сотень мільярдів байтів. Розділення пам'яті на ОП та ЗП викликане сповільненням її роботи із збільшенням ємності. Так, якщо час звернення до ЗП становить тисячні частки секунди, то час звернення до ОП становить мільйонні частини секунди. Це ж саме стало причиною появи кеш пам'яті, яка має меншу ніж ОП ємність, але за часом запису-зчитування даних є значно ближчою до регістрової пам'яті процесора. Основними характеристиками процесора є його продуктивність, точність та динамічний діапазон представлення даних. Продуктивність залежить від частоти роботи процесора та його структури і вимірюється кількістю виконуваних операцій за секунду. Сучасні процесори мають продуктивність понад 1 мільярд операцій за секунду. Крім того, всі вузли комп'ютера характеризуються швидкістю обміну з іншими пристроями, надійністю, ціною, споживаною потужністю, масою, габаритами, стійкістю до зовнішніх факторів впливу (температурний діапазон, вологість, вібрація і т. д.). Значення цих характеристик в значній мірі визначаються досягненнями інтегральної технології, зокрема проектними розмірами напівпровідникових елементів кристалу, які впливають як на ємність кристалу, а відповідно на масу та габарити, так і на частотні параметри його елементів. Для того, щоб успішно проектувати комп'ютери та знати перспективи їх розвитку, необхідно знати тенденції зміни з часом перерахованих вище характеристик комп'ютера, в першу чергу характеристик його елементної бази. Продуктивність. Продуктивність комп'ютера змінюється через зміну характеристик його функціональних вузлів. Розглянемо як це відбувається на прикладі процесора. З кожним роком зростає ємність кристалу, що дозволяє розмістити на ньому все складніші схеми. Відповідно до емпіричного закону Мура, відкритого ним в 1965 році, кількість транзисторів, які вдається розмістити на кристалі мікросхеми, подвоюється кожні 12 місяців. В середині 90-х років Мур скоригував свій закон, який тепер твердить, що кількість транзисторів, які вдається розмістити на кристалі мікросхеми, подвоюється кожні 18 місяців, що підтверджує рис. 1.3, де наведено кількість транзисторів на кристалах процесорів провідних виробників світу. / Рис. 1.3. Ріст ємності кристалу з роками. З ростом ємності кристалу з'являються можливості модифікації структури процесора шляхом ускладнення його основних вузлів та введення допоміжних вузлів, які дозволяють прискорити обробку даних. Метою такої модифікації є в першу чергу підвищення продуктивності процесора. Як видно з рис. 1.3, до середини 80-х років для цього використовувався паралелізм рівня даних, тобто суміщення в часі обробки в процесорі деякої кількості даних, далі паралелізм рівня команд, тобто суміщення в часі виконання в процесорі деякої кількості різних команд. Сьогодні це паралелізм рівня потоків команд і даних. Всі названі типи паралелізму будуть розглянуті далі при розгляді організації роботи процесора. Зі зменшенням розмірів транзисторів, які реалізуються на кристалі мікросхеми, підвищується і тактова частота роботи процесора (рис. 1.4). / Рис. 1.4. Ріст тактової частоти роботи процесора (за матеріалами Intel Corp.) Щороку тактова частота роботи процесора зростає приблизно на 30 %. Узагальнюючою характеристикою швидкодії комп'ютера є його продуктивність, яка враховує як ріст тактової частоти, так і архітектурні вдосконалення. Починаючи з середини 80-х років продуктивність комп'ютерів зростає щороку приблизно на 50 %. Ємність основної пам'яті. Ємність динамічної напівпровідникової пам'яті з довільним доступом (Dynamic Random Access Memory - DRAM) зростає в чотири рази кожних три роки (рис. 1.5). / Рис. 1.5. Ріст ємності динамічної напівпровідникової пам'яті. Час читання/запису DRAM зменшується в два рази за чотири роки, тоді як в процесорі за той же час частота зростає більш як в три рази. Для узгодження швидкодії процесора та пам'яті використовуються наступні підходи та засоби: > одно- та багаторівнева кеш пам'ять; > збільшення розрядності шин обміну для передачі кількох даних паралельно; > розшарування пам'яті. Ємність зовнішньої пам'яті. Щороку ємність зовнішньої дискової пам'яті збільшується в 2 рази за рахунок підвищення щільності запису. Точність та динамічний діапазон. Ріст ємності кристалу дозволяє реалізувати в ньому складні багаторозрядні вузли комп'ютера. Сьогоднішні комп'ютери в основному є 32-та 64-розрядними з забезпеченням обробки даних як в форматі з фіксованою комою, так і в форматі з рухомою комою, яка має значно ширший діапазон представлення даних. Швидкість обміну. Підвищення швидкості обміну між вузлами комп'ютера досягається шляхом підвищення тактової частоти їх роботи, конструктивних та технологічних вдосконалень, а також шляхом створення нових стандартів обміну та введення пристроїв для їх підтримки. З розвитком елементної бази також підвищується надійність роботи комп'ютера, знижується питома ціна одиниці обладнання, а також зменшується її питома споживана потужність, маса, та габарити, покращуються експлуатаційні характеристики. 1.2.3. Оцінка продуктивності комп'ютера. 1.2.3.1. Одиниці оцінки продуктивності. Продуктивність є однією з основних характеристик комп'ютера, яка залежить як від технологічних, так і від архітектурних рішень. В процесі розвитку комп'ютерної техніки з'явилося декілька методик вимірювання продуктивності. Вони дозволяють розробникам і користувачам здійснювати вибір між альтернативами на основі кількісних показників. Припустимо, що використано два комп'ютери для виконання тієї ж програми. Якщо перший комп'ютер виконав програму за менший час у порівнянні з другим, можна говорити, що перший комп'ютер є швидшим. Час виконання програми включає час роботи процесора, час звернення до дискової пам'яті, час звернення до основної пам'яті, час введення-виведення даних і накладні витрати операційної системи. Оскільки при роботі в мультипрограмному режимі під час очікування введення-виведення для однієї програми, процесор може виконувати іншу програму, то система не обов'язково мінімізуватиме час виконання даної конкретної програми. Тому вказаний підхід до порівняння комп'ютерів не є досконалим. Іншим підходом до порівняння комп'ютерів є порівняння часу роботи процесора, необхідного для виконання заданої програми, який не включає час очікування введення-виведення або час виконання іншої програми. Час роботи процесора може бути виражений кількістю тактів синхронізації для даної програми, помноженою на тривалість такту синхронізації. Важливою та часто вживаною характеристикою є середня кількість тактів синхронізації процесора на одну команду СРІ (clock cycles per instruction). При відомій кількості виконуваних команд в програмі ця характеристика дозволяє швидко оцінити час роботи процесора, необхідний для виконання заданої програми. Досконалішою одиницею, яку можна використати для порівняння комп'ютерів, є продуктивність, тобто загальна кількість обчислювальної роботи, яку комп'ютер виконує за фіксований часовий інтервал. Якщо час виконання деякої програми позначити через Т, то продуктивність Р комп'ютера можна визначити наступним чином: Р = 1/Т. Тоді порівняння двох комп'ютерів X і Y можна виконати за наступними правилами: якщо 1/Тх > І/Ту тобто Ту > Тх, то комп'ютер X є швидшим. В сучасних комп'ютерах продуктивність вимірюється в мільйонах операцій за секунду - MIPS. Таким чином, продуктивність може бути визначена як зворотна до часу виконання величина, причому швидші комп'ютери при цьому матимуть вищий рейтинг кількості операцій за одиницю часу. Позитивними сторонами кількості операцій за одиницю часу як одиниці оцінки продуктивності комп'ютера є те, що цю характеристику легко зрозуміти, особливо покупцю, і що швидший комп'ютер характеризується більшим числом операцій за одиницю часу. Проте використання цієї одиниці як метрики для порівняння натрапляє на дві проблеми. По-перше, вона залежить від набору команд процесора, що ускладнює порівняння комп'ютерів з різними системами команд. По-друге, навіть на одному і тому ж комп'ютері вона змінюється від програми до програми. Вимірювання продуктивності комп'ютерів при вирішенні науково-технічних задач, в яких переважно використовується представлення даних в форматі з рухомою комою, завжди викликало особливий інтерес. Саме для таких обчислень вперше постало питання про вимірювання продуктивності, а за досягнутими показниками часто робилися висновки про загальний рівень розробок комп'ютерів. Зазвичай для науково-технічних завдань продуктивність комп'ютера оцінюється в кількості операцій з рухомою комою за секунду FLOPS (Floating Point Operations Per Second). В сьогоднішніх комп'ютерах це мільйони та мільярди операцій з рухомою комою за секунду - MFLOPS, GFLOPS. Потрібно відзначити, що вищеназвані одиниці вимірювання - такт (або частота) синхронізації, середня кількість тактів на команду і продуктивність комп'ютера є взаємозв'язаними. Неможливо змінити жодну з них ізольовано від іншої, оскільки базові технології, використовувані для зміни кожної з цих характеристик, взаємозв'язані: частота синхронізації визначається технологією виготовлення апаратних засобів і функціональною організацією процесора; середня кількість тактів на команду залежить від функціональної організації і архітектури системи команд; а кількість виконуваних в програмі команд визначається архітектурою системи команд і технологією компіляторів. Коли порівнюються два комп'ютери, необхідно розглядати всі три компоненти, щоб зрозуміти відносну продуктивність. 1.2.3.2. Тестові програми для оцінки продуктивності. Важливість створення пакетів тестів, що базуються на реальних прикладних програмах широкого кола користувачів і забезпечують ефективну оцінку продуктивності комп'ютерів, була усвідомлена більшістю найбільших виробників комп'ютерних засобів, які в 1988 році заснували неприбуткову корпорацію SPEC (Standard Performance Evaluation Corporation). Основною метою цієї організації є розробка і підтримка стандартизованого набору спеціально підібраних на основі досвіду тестових програм для оцінки продуктивності новітніх поколінь високопродуктивних комп'ютерів. Основним результатом роботи SPEC є набори тестів. Ці набори розробляються SPEC з використанням кодів, що поступають з різних джерел. SPEC працює над встановленням цих кодів на різні платформи, а також створює інструментальні засоби для формування з цих кодів осмислених робочих навантажень. В даний час є два базові набори тестів SPEC, що орієнтовані на інтенсивні розрахунки і вимірюють продуктивність процесора, пам'яті, а також ефективність генерації коду компілятором. Набір тестів СІNТ, що вимірює продуктивність процесора при обробці цілих чисел, складається з програм, написаних на мові С і вибраних з різних прикладних областей: теорія дробів, інтерпретатор мови LISP, розробка логічних схем, пакування текстових файлів, електронні таблиці і компіляція програм. Набір тестів CFP, що вимірює продуктивність процесора при обробці чисел з рухомою комою, складається з програм, також вибраних з різних прикладних областей: розробка аналогових схем, моделювання методом Монте-Карло, квантова хімія, оптика, робототехніка, квантова фізика, астрофізика, прогноз погоди і інші наукові та інженерні завдання. Частина програм з цього набору написана на мові С, інша частина - на Фортрані. Результати виконання кожного індивідуального тесту з цих двох наборів виражаються відношенням часу виконання однієї копії тесту на комп'ютері, що тестується, до часу її виконання на деякому еталонному комп'ютері. Іншим підходом до оцінки продуктивності комп'ютерів за допомогою тестів є розробка спеціального програмного забезпечення (синтетичних тестів), що дозволяє створювати різні робочі навантаження, відповідно до рівня системи, що тестується, і до вимог щодо її використання. Однією з незалежних організацій, яка здійснює оцінку продуктивності комп'ютерних систем за допомогою синтетичних тестів, є приватна компанія AIM Technology, яка була заснована в 1981 році. Компанія розробляє і поставляє програмне забезпечення для вимірювання продуктивності систем, а також надає послуги з тестування систем кінцевим користувачам і постачальникам комп'ютерних систем та мереж, які використовують промислові стандартні операційні системи, такі як UNIX і OS/2. Це програмне забезпечення складається з двох основних частин: генератора тестових пакетів і сумішей навантажень прикладних завдань. При кожному запуску генератора можуть виконуватися будь-які окремі або всі доступні тести у будь-якому порядку і при будь-якій кількості проходжень, дозволяючи тим самим створювати для системи практично довільне робоче навантаження. Якщо деякі необхідні тести відсутні у складі генератора тестових пакетів, то вони можуть бути туди легко додані. На основі оцінки продуктивності системи вибираються різні рівні збільшення навантаження. Це дозволяє з достатньою достовірністю зробити висновок про можливості роботи системи при даному навантаженні або при зміні навантаження. При цьому важливим є підбір сумішей навантажень, які ділять на дві категорії: замовлені і стандартні. Замовлені суміші створюють для точного моделювання особливостей середовища кінцевого користувача або постачальника устаткування. Стандартні суміші є звичайним середовищем прикладних завдань. До їх складу входять, зокрема, суміші для робочих станцій, геоінформаційних систем, ділових застосувань, керування базою даних та інші. Важливим є створення тестів та оцінка продуктивності комп'ютерів на задачах з області їх конкретного застосування. Так, наприклад, фірма BDTI надає послуги з питань аналізу продуктивності комп'ютерів, призначених для вирішення задач цифрової обробки сигналів. З розширенням використання комп'ютерів при обробці транзакцій (комерційний обмін товарами, послугами або грошима) все важливішим стає забезпечення можливості їх коректного порівняння між собою. З цією метою в 1988 році була створена Рада для оцінки продуктивності обробки транзакцій (ТРС - Transaction Processing Performance Council), яка є неприбутковою організацією. ТРС публікує специфікації тестових пакетів, які регулюють питання, пов'язані з роботою тестів. Ці специфікації гарантують, що покупці мають об'єктивні значення даних для порівняння продуктивності різних комп'ютерних систем. 1.2.4. Організація зв'язків між функціональними вузлами комп'ютера. Для забезпечення роботи комп'ютера його функціональні вузли повинні бути відповідним чином з'єднані. Обмін інформацією між вузлами комп'ютера проводиться по шинах, до складу яких входять п ліній, де п - розрядність інформаційного слова. Є три головних типи шин: шина даних, шина керування (або шина команд) та шина адрес, які використовуються відповідно для пересилання даних, команд та їх адрес. Три найуживаніших структури комп'ютера, які відрізняються організацією зв'язку між його функціональними вузлами, розглянуто нижче. В двошинній структурі комп'ютера з обміном через процесор (рис. 1.6) введення інформації з пристрою введення до основної пам'яті, та виведення інформації з основної пам'яті до пристрою виведення здійснюється через процесор. / Рис. 1.6. Двошинна структура комп'ютера з обміном через процесор. Недоліком цієї структури є те, що процесор витрачає свій час на виконання операцій введення та виведення інформації, безпосередньо працюючи з пристроями введення-виведення, які в більшості випадків є значно повільнішими порівняно з ним, що знижує ефективність роботи комп'ютера. В двошинній структурі комп'ютера з обміном через пам'ять (рис. 1.7) процесор звільнений від організації операцій введення-виведення інформації. / Рис. 1.7. Двошинна структура комп'ютера з обміном через пам'ять Оскільки основна пам'ять не має засобів керування, для організації введення-виведення тут використовується спеціальний процесор введення-виведення (часто його називають каналом або периферійним процесором), який отримує завдання на виконання операцій введення-виведення від процесора (в цьому випадку останній називають центральним процесором), та керує взаємодією пам'яті та пристроїв введення-виведення. Дана структура була використана при побудові багатьох комп'ютерів, зокрема комп'ютерів серій ІВМ/360 та ІВМ/370 фірми IBM. В одношинній структурі комп'ютера (рис. 1.8) всі його функціональні вузли з'єднані через одну спільну шину. Шина розподіляється між ними в часі, тому одночасно посилати дані на шину може тільки один вузол. / Рис. 1.8. Однотипна структура комп'ютера Для узгодження швидкодії повільних і швидких вузлів комп'ютера в одношинній структурі на виході кожного повільного вузла (в даному випадку пристрої введення та виведення) використовують буферну пам'ять, яка дозволяє швидкий обмін блоками даних. Кожний пристрій введення та виведення складається з двох частин - контролера та самого пристрою, наприклад, накопичувача на диску. Контролер є спеціалізованим комп'ютером, який керує своїм пристроєм та його доступом до спільної шини. Для керування розподілом шини між підключеними до неї пристроями використовується арбітр шини. При одночасному поступленні кількох запитів арбітр шини вирішує, чия черга є першою, і підключає до шини відповідний пристрій. Зазвичай перевага віддається пристроям введення-виведення, оскільки роботу дисків та інших пристроїв з рухомою механікою не можна переривати, щоб не втратити інформації. Наявність спільної шини суттєво спрощує реалізацію комп'ютера та дозволяє легко замінювати його склад. Тому така структура отримала широке розповсюдження. Вона була покладена в основу зокрема комп'ютерів PDP-8 та PDP-11 фірми Digital Equipment Corporation, СМ-4 Київського заводу управляючих машин, та знайшла широке застосування в мікропроцесорних системах. Для забезпечення одночасного обміну інформацією між різними пристроями в сучасних комп'ютерах використовується багатошинна організація. 1.3. Архітектура комп'ютера 1.3.1. Поняття архітектури комп'ютера Вперше означення терміну "архітектура комп'ютера" було зроблене в 1964 році розробниками комп'ютера IBM 360 Г. Амдалем та його колегами. Архітектура комп'ютера з їх точки зору - це його структура і поведінка як їх бачить програміст на асемблерній мові. Вона включає наступне: формати даних і команд, методи адресації, систему команд, а також загальну організацію процесора, основної пам'яті і пристроїв введення-виведення. Пізніше А. Пейджез з тієї ж фірми запропонував розуміти під архітектурою комп'ютера інтерфейс між його апаратним та програмним забезпеченням. Як відомо, в комп'ютері використовується двійкове представлення команд. При написанні програми крім двійкової можуть використовуватись і інші форми представлення команд: вісімкова, шістнадцяткова, символьна (мнемонічна). Використання вісімково-го і шістнадцяткового кодування дозволяє скоротити записи і спростити роботу програміста. Мнемонічне кодування спрощує процес написання, читання і відлагодження програми. Основний принцип такого кодування - кожна команда представляється 3-х або 4-х буквеним символом, який показує назву команди. Деякі приклади мнемонічного кодування: add - додати, sub - відняти, load - зчитати дані з пам'яті, store - записати дані в пам'ять. Операнди також представляються символічно. Наприклад, команда add R, Y означає додавання значення вмісту комірки пам'яті Y до вмісту регістра R. Зауважимо, що операція виконується над вмістом, а не над адресою комірки пам'яті та регістра. Таким чином, з'являється можливість написання машинних програм в символічній формі. Повний набір символічних назв і правила їх використання утворюють мову програмування, відому як асемблерна мова. Запис деякої програми на асемблерній мові представляє собою символічний запис цієї ж програми, написаної на внутрішній мові комп'ютера, тобто в формі послідовності команд, представлених в двійкових кодах. Тому і з'явилось визначення архітектури комп'ютера як інтерфейсу між його апаратним та програмним забезпеченням. З наведених вище означень можна зробити висновок про існування множини можливих варіантів архітектури комп'ютера. Розглянемо детальніше складові поняття архітектури з тим, щоб визначити ступінь зміни їх характеристик. Під даними розуміються числа, представлені в деякій системі числення. В сучасних комп'ютерах дані в більшості випадків представлені в позиційній двійковій системі числення, яка практично витіснила інші способи представлення чисел, наприклад, представлення в позиційній десятковій системі числення, в системі залишкових класів тощо. В комп'ютерах є три класи даних: вхідні, проміжні та вихідні, які можна охарактеризувати наступною множиною параметрів: кількістю N даних, їх розрядністю n (n = 1,2,3,...), способом кодування М (прямий, обернений чи доповняльний код), формою представлення S (фіксована чи рухома кома), форматом Т (місце розміщення знаку, ціле чи дробове число, місце розміщення коми, розрядність порядку, основа порядку, використання знаку порядку чи зміщення, розрядність мантиси, чи використовується нормалізація мантиси). Таким чином, залежно від значення параметрів n, M, S, T можна виділити відповідну архітектуру комп'ютера. Наприклад, це може бути комп'ютер для виконання операцій над 16-розрядними дробовими двійковими даними в форматі з фіксованою комою в доповняльному коді, або це може бути комп'ютер для виконання операцій над 32-розрядними двійковими даними в форматі з рухомою комою. Команда в комп'ютері зберігається в двійковій формі. Вона вказує тип операції, яка має бути виконаною, адреси операндів, над якими виконується операція, та адреси розміщення результатів виконання операції. Відповідно до цього команда складається з двох частин: коду операції та адресної частини. Поле коду операції займає к розрядів. Ним може бути закодовано до N - 2k різних операцій. Поле адреси (адресна частина) займає т розрядів. В ньому знаходяться адреси операндів. Кожна адреса займає т. розрядів, де і - номер адреси (і=1, 2,... 1), 1 - кількість адресних полів. Кожною адресою можна адресувати пам'ять ємністю 2mі слів. Таким чином, залежно від формату команди комп'ютери можна поділити на: комп'ютери з постійним ...
Антиботан аватар за замовчуванням

16.02.2014 20:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!