Відповіді до теоретичних питань

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

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

Рік:
2024
Тип роботи:
Державний іспит
Предмет:
Архітектура комп'ютерів

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

Архітектура комп’ютерів частина 2 1. Задачі та комп’ютерні ресурси Наступним рисунком подано задачі, які моделюють комп’ютерні системи, та необхідні для цього моделювання комп’ютерні ресурси. Видно, що місткість пам’яті досягає одного терабайта (1000 гігабайтів) за умови, що швидкодія має бути один терафлопс (1000 гігафлопсів = 1000 000 мегафлопсів). Вмістиме рисуноку об’єктивно засвідчує існування суперечності “швидкодія системи / місткість пам’яті». Зрозуміло, що межа обсягу потрібних комп’ютерних ресурсів є рухомою. Надати ресурси, що вимагають задачі, за допомогою стандартних однопроцесорних систем неможливо. Це спричинює використання мультипроцесорів, які визначають магістральний напрямок удосконалення однопроцесорних систем, тобто уніпроцесорів. При цьому, яскравим прикладом уніпроцесорів є сучасні персональні комп’ютери. Зауважимо, що на перший план комп’ютерного моделювання (змоделював – значить опанував) висунулися задачі хімії та біології. Часто-густо біохімічні задачі належать до так званого класу «некоректних» задач. Треба зауважити і про те, що за сучасною проблематикою питома вага «нечисельних» та «некоректних» задач постійно зростає і вже перевищує відповідну вагу класичних «чисельних» задач, що стандартно програмуються не менш класичною мовою FORTRAN. 2. Загальна класифікація комп’ютерних систем Будь-яка класифікація, за дефініцією, не є повною, або ж досконалою, що є наслідком відомих теорем Гьоделя про неповноту формальних систем. Проте відмова від класифікацій спричинює втрату системності, тоді як систематизація є основним інструментом структуризації інформації, тобто отримання нового знання на основі первинної невпорядкованої інформації. Треба підкреслити те, що комп’ютер не спроможний подати нову інформацію як таку, проте в спосіб систематизації вже наданої йому інформації він може отримати нове знання. Як приклад, нагадаємо, що тривимірну інтегральну схему винайшов саме комп’ютер, а не людина. Аби унаочнити місце нашого курсу у велетенській галузі комп’ютерних засобів скористаємося узагальненою класифікацію японських учених, фундаторів інтелектуальних комп’ютерних систем п’ятого покоління. Згідно їхньої класифікації (1979 рік) усі комп’ютерні засоби можна поділити на: - засоби обробки чисел, - засоби обробки сигналів (цифрові сигнальні процесори/комп’ютери), - засоби обробки символів (мовні та об’єктні машини, наприклад, LISP-машини, PROLOG-машини, SmallTalk-машини, Java-машини тощо). Предметом дослідження нашого курсу є архітектури комп’ютерів обробки чисел. 3. Продуктивність комп’ютерних систем Припустимо, що використано дві різні робочі станції, що виконують ту ж саму програму. За умови, коли перша робоча станція виконала програму за менший час у порівнянні з другою, можна казати, що ця перша робоча станція є скорішою. Тут ідеться про так званий час відгуку (response time чи execution time), тобто проміжок часу поміж стартом та завершенням виконання деякого програмного завдання (task). Менеджери обчислювальних центрів зацікавлені у збільшенні перепускної спроможності (throughput, продуктивність) – загальної кількості обчислювальної роботи, яку виконано за фіксований часовий інтервал. Проте обидві щойно зазначені характеристики є взаємно залежними. Адже заміна процесора на більш швидкий призведе до покращення як першої, так і другої характеристики. Це дозволяє визначити продуктивність (performance) наступним чином: Продуктивність X = 1/Час_виконання_X. Тоді порівняння характеристик двох робочих станцій X i Y можна виконати за наступними правилами. Якщо Продуктивність _X > Продуктивність _Y, тоді 1/ Час_виконання _X > 1/ Час_виконання _Y, Час_виконання _Y > Час_виконання _X Тобто, час виконання Y перевищує час виконання Х. Часто-густо кажуть про те, щo продуктивність X перевищує продуктивність Y в n разів. Формально це можна записати як: Продуктивність _X/ Продуктивність _Y = n. Зараз треба детальніше розглянути питання про складові часу виконання. Найпростіше визначити час виконання через сумарний час виконання завдання. Цей сумарний час складається з часу доступу до диска, часу звернення до пам’яті, часу активності уводу-виводу, додаткових витрати часу на спрацювання модулів операційної системи, витрат процесорного часу тощо. Зауважимо, що саме витрати процесорного часу є найважливішими в контексті порівняння ефективності архітектур. Вони мають назву CPU execution time чи CPU time. В межах витрат процесорного часу також треба розрізняти дві складові компоненти, а саме, процесорний час користувача (user CPU time) та системний процесорний час (system CPU time). Зауважимо, що відокремлене вимірювання цих двох складових є неординарним завданням, але яке є реалізованим в ОС Unix засобами команди time у дуже зручний з погляду користувача спосіб. Нехай виклик команди time cпричинив наступний відгук: 90,7u 12,9s 2:39 65%. Отримане треба тлумачити так. User CPU time = 90,7 sec, System CPU time = 12,9 sec, загальний час виконання завдання = 2 хвилини 39 секунд. Питома вага процесорного часу у загальному часі виконання завдання склала (90,7 + 12.9) / 159 = 65 відсотків. Зауважимо, що більше від третини загального часу втрачено на допоміжні дії комп’ютерної системи. Привернемо увагу до того, що у подальшому викладенні термін “команда” належатиме виключно командам операційної системи, а термін “інструкція” – лише командам процесорів. Продуктивність як головний чинник еволюції комп’ютерних систем Залежність зростання продуктивності (performance) від напрямку еволюції комп’ютерних систем подано наступним рисунком. Еволюція продуктивності міні-комп'ютерівю. Це зумовило перевагу мікросистем. [Hennessy and Jouppi, 1991]. Зазначимо, що мейнфрейм (mainframe спочатку був виключно назвою рами конструкції металевої шафи, що містить апаратуру машини; потім саме цим словом почали називати вже перші машини системи ІВМ 360) – це машина загального призначення, або ж, просто велика машина. 4. Комп’ютерна архітектура рівня машинних інструкцій Кожній комп’ютерній системі притамана ієрархічна низка впорядкованих архітектур. Можна казати про макроархітектури операційних систем, про архітектуру рівня машинних інструкцій, що знаходиться на межі програмних та апаратних засобів, про внутрішні мікроархітектури процесорів тощо. В контексті нашого курсу принципового значення набуває так звана архітектура рівня машинних інструкцій, що розташована, наближено. у середині вище зазначеної ієрархії архітектур. Архітектура комп’ютерної системи рівня машинних інструкцій (Instruction Set Architecture - ISA) – це абстрактне сприйняття машини (або ж означення фізичної системи, а в нас – це комплекс апаратних засобів та мікрокод) програмістом, який програмує цю машину мовою асемблер, або розробником фази генерування машинного коду деякого компілятора (тобто, системним програмістом). Нагадаємо, що асемблер визначають як мову класу “один в один”, тобто, як таку мову програмування, де кожному унікальному оператору мови відповідає унікальна машинна інструкція. Архітектура рівня машинних інструкцій розмежовує програмну та апаратну частини машини та визначає програмний інтерфейс із боку апаратних засобів до (системних) програм. Важливо, що архітектура визначає принципи організації обчислювальної системи. При цьому вона не відбиває керування та пересилання даних у межах процесора, конструктивні особливості логічних електронних схем та специфіку технології виробництва цих схем. Архітектура комп’ютера, передусім, подає:1) видимі програмісту об’єкти, що містять дані (регістри, пам’ять, порти уводу-виводу тощо), 2) оператори зміни вмісту об’єктів (множини інструкцій), 3) інформацію про комбінування щойно зазначених операторів із метою (програмного) створення нових функцій на основі вже наданих. Зрозуміло, що архітектуру рівня машинних інструкцій можна визначити як ті ресурси машини (множину інструкцій, структура, місткість та організацію пам’яті, навіть структуру та організацію кеш-пам’яті, як у процесорі Ітаніум), які є наданими до використання системному програмісту. Комп’ютерний архітектор приймає рішення за трьома напрямками: - визначення форм подання машинних програм та правил інтерпретації цих програм машиною, - уставлення форматів інструкцій, які використовують при програмуванні, - уставлення форм і форматів подання даних. Сам термін “архітектура комп’ютерної системи” виник у 1964 році із випуском першої комп’ютерної системи третього покоління ІВМ 360 (потім серія 370), що містила низку програмно сумісних здолу догори машин, від найменш потужних до надпотужних класу ІВМ 360/91. Тобто, усвідомлення важливості означення та реалізації єдиної у межах цілої родини комп’ютерів ISA-архітектури стало саме тим фактором, що принципово відмежував напівпровідникові машини другого покоління (найбільшою тут була перша конвеєрна машина Stretch фірми IBM, понад 400 тис. транзисторів та напівпровідникових діодів) від інтегральних комп’ютерних систем третього покоління. Єдиний документ “Принципи функціонування системи ІВМ 360/370” визначив архітектуру усіх процесорів цієї системи, від малих до великих, а два виключення, що містили машинно-залежні документи, стосувалися наступних суто технічних, а не архітектурних питань: - способів повідомлень з боку апаратури системним програмним засобам про збої у роботі апаратури, - означень командних слів каналів підсистеми уводу-виводу інформації. Результати реалізації деякої комп’ютерної архітектури рівня машинних інструкцій подають наявними апаратними засобами, які функціонують за визначеними архітектурою правилами. Деяка родина машин може мати незмінну архітектуру рівня машинних інструкцій (тоді усі машини є програмно, або ж більш сильно, бінарно сумісними), але разом із цим, окремі машини цієї родини можуть містити кардинально розбіжні апаратні засоби. Наприклад, так званий паралелізм чи/або конвеєризація є методами, які з різною глибиною можна застосовувати в межах деякої єдиної архітектури рівня машинних інструкцій. 5. Класичні комп’ютерні архітектури. Їхній кількісний розгляд. Наступним рисунком зліва направо подані наступні комп'ютерні архітектури: - стекова (машини PDP-11/VAX-11 фірми DEC), - акумуляторна (перші машини, мінімальне число регістрів), - регістр-пам'ять (IBM/360/370), - регістр-регістр/завантажити-зберігти (сучасні RISC машини). Класичні комп’ютерні архітектури (Hennessy & Patterson, 3-d Edition, 2002) Застосовано позначення: TOS – верхівка стека, ALU – АЛП (арифметико-логічний пристрій). На стековій архітектурі грунтувалися так звані міні-ЕОМ PDP-11/VAX-11 фірми DEC (Digital), які використовували американські університети за часів створення мови Сі та операційної системи UNIX в 60-70 роки минулого сторіччя. Можна навіть казати, що мова Сі є варіантом асемблерного запису машинних інструкцій цих комп'ютерів. Термін "міні" застосовували, аби підкреслити, що апаратна частина цих комп'ютерів була мінімальною, відповідно, і ціна їх була значно меншою від ціни мейнфреймів, комп'ютерів загального призначення родини IBM/360. Проте неможливість реалізації швидкого стека потрібної місткості змусило DEC перейти до нової архітектури Alpha, а відсутність достатнього числа аплікацій під цю нову архітектуру спричинило серьозні обмеження на її поширення і, як наслідок, юридичну смерть цієї фірми. 6. СISC, RISC та гібридні інструкції. 7. Принстонська та гарвардська архітектури. Пригадаємо принципи, що закладено до принстонської (університет міста Princeton, США, де працював Нойман) архітектури та гарвардської (університет міста Harvard, США) архітектури. Перша архітектура має спільну головну пам’ять, де зберігаються коди даних та коди програм. Відрізнення одних кодів від інших виконують контекстно. Друга архітектура містить дві відокремлені пам’яті, одну – для даних, іншу – для програм. Необхідність використання гарвардської архітектури можна пояснити так. Ядро комп’ютера Ноймана утворено процесором та головною пам’яттю. Бажано аби обидві компоненти ядра не пригальмовували один одного, тобто працювали з рівною швидкодію. На практиці вузол пам’яті є значно (на два/три порядки) повільнішим від процесора і ця прірва у швидкодії з прогресом технологій лише зростає. Подолати прірву можна структурними методами, збільшуючи смугу (пропускання) пам’яті. Саме цей підхід реалізує гарвардська архітектура з двома запам’ятовувальними пристроями. Зрозуміло, що тут паралельно виконують операції вибирання інструкцій програми, з одного боку, а з другого – вибирання та запис кодів даних і результатів обчислень. Проте швидкі машини гарвардської архітектури не дозволяють розроблювати для себе програми. Це за них виконують засобами кросових технологій машини принстонської архітектури. Зрозуміло, що бажано створити машину з дуальною архітектурою, яка водночас запозичує нову якість – швидкодію від гарвардської архітектури та стандартну парадигму розробки програм від принстонської архітектури. Злиття двох архітектур виконують на рівні внутрішньої кеш-пам’яті процесора, у спосіб поділу кеша на кеш даних та кеш інструкцій. Зазначене ілюструє поданий вище рисунок. Злиттям архітектур програмісту надано зручність програмних технологій принстонської архітектури, а процесор відчуває гарвардську архітектуру та значно менше пригальмовується з боку головної пам’яті. Реально ситуація є більш складною, оскільки замість суто гарвардської архітектури застосовують її модифікацію, коли пам’ять програм містить частину кодів даних. 8. Витрати процесорного часу. Витрати часу процесора на опрацювання деякої програми визначають за формулою: Тут: CPUTime – шуканий час, CPIi (clocks per instruction) – кількість тактових імпульсів на виконання і-того типу інструкції, ICi (instruction count) - число інструкцій і-того типу у тестовій програмі, ClockCycleTime – тривалість одного тактового інтервалу. Аби зменшити ClockCycleTime треба покращити технологію реалізації апаратних засобів та організацію цих апаратних засобів у машині. СРІ зменшують покращеною організацією машини й утіленням раціональної комп’ютерної архітектури рівня машинних інструкцій. Значення ІС залежить від архітектури рівня машинного інструкцій та застосованої технології компілювання програми (стандартної або ж оптимізованої). Зрозуміло, що витрати процесорного часу є функцією багатьох змінних, їх мінімізують як евристичними, так і формальними методами. 9. Паралелізм і конвеєризація (перекриття). Перекриття проти конвеєризації . Аби підвищити продуктивність універсальних комп’ютерних систем використовують наступне: - розпаралелювання, - конвеєризацію (у сенсі перекриття виконання сусідніх інструкцій програми в часі, або ж часове розпаралелення), - підвищення тактової частоти (фактор технології), - оптимізацію частини апаратно-програмних засобів під задачу, точніше під конкретний алгоритм. Розбіжність паралелізму і конвеєризації проілюструємо наступним рисунком. Паралельний та конвеєрний варіанти прискорення обчислення функції Тут обчислення функції у конвеєрній системі поділяють на покрокове обчислення підфункій, на які поділено цільову функцію. В паралельній системі апаратно реалізують декілька апаратних пристроїв обчислення цільової функції. При цьому в паралельних та конвеєрних системах існує актуальна задача завантаження роботою надлишкових (з погляду стандартної організації обчислення) апаратних засобів. Несуперечливим є одночасне застосування розпаралелювання і конвеєризації. Наприклад, суперкомп’ютер CDC 6600 (1964 рік) спроектували як паралельний, а його вдосконалену версію CDC 7600 зробили вже паралельно-конвеєрною. Принципові відмінності паралельної та конвеєрної організації обчислень подано наступною таблицею. Цікаво, що майже від початку випуску універсальних комп’ютерних систем, усі вони були більше чи менше конвеєризованими (працювали з перекриттям). Прикладом є навіть перший комерційний комп’ютер UNIVAC I, за допомогою якого передбачено перемогу генерала Дуайда Ейзенхауера над Гаррі Труменом (став президентом по смерті Франкліна Рузвельта, саме він наказав використати ядерну зброю проти Японії в 1945 році) на президентських перегонах США у 1952 році. Всі сучасні уніпроцесори використовують і паралелелізм, і перекриття (конвеєризацію). Перекриття проти конвеєризації Конвеєризація має місце тоді, коли істиною є наступне: - кожне обчислення базової функції є відносно незалежним від попереднього обчислення, - кожне обчислення вимагає наближено того ж самого ланцюжка підфункцій, - підфункції щільно пов’язані поміж собою, - час обчислення різних підфункцій є майже рівним. Перекриття має місце тоді, коли істиною є наступне: - окремі обчислення мають поміж собою залежності, - кожне обчислення може вимагати відмінного ланцюжка підфункцій, - за своїм призначенням підфункції достатньо різнорідні, - час, необхідний для виконання дій на деякій сходинці не є постійним; він є функцією як самої сходинки, так і функцією даних, що пересуваються цією сходинкою. Практична розбіжність поміж паралельною обробкою, конвеєрною обробкою та перекриттям може бути досить нечіткою. Проте, до універсальних систем краще пасує термін перекриття виконання інструкцій одинарного потоку ніж термін конвеєрного опрацювання цих інструкцій. 10. Тести продуктивності комп’ютерних систем. засобом тестування порівняльної продуктивності комп’ютерних систем є так звані синтетичні тести утиліт Norton Utilities. Сама тестова програма має назву System Benchmark, копію її екрану подано наступним рисунком. Тут відбито, в скільки разів певна реальна система (її результати позначено рожевим, і це є система Пентіум 166 ММХ) є скоршою у порівнянні із еталонною системою на основі першого 32-х розрядного процесора Інтел 386SX 16 МГц. Проте репрезентативність порівняння ПК за допомогою цих штучно утворених (синтетичних) тестів не завжди є прийнятливою. Саме через це професіонали комп’ютерного дизайну використовують наступні, впритул наближені до реальності тестові системи: - Business Application Performance Corporation (BARC); - Standard Performance Evaluation Cooperative (SPEC); - Intеl ICOMP Index. BARCО. Це консорціум індустріальних публікацій незалежних тестових лабораторій, розробників комп’ютерів, напівпровідникової техніки і програмного забезпечення. Зараз членами концорціумів є Adaptec, Amdahl corporation, Compaq, Dell, Hewlett-Packard, IBM, Intel, Microsoft, Motorola, NEC тощо. Проголошений у грудні 1999 року набір тестів SYSmark 2000 функціoнує під керуванням усіх 32-х бітових версій ОС Windows і дозволяє визначити продуктивність комп’ютера в режимі імітації реального його функціонування. До складу тестів залучено 12 аплікацій із спільною назвою Internet Content Creation and Productivity. При тестуванні виконуються наступні офісні аплікації: - Corel Draw v 9; - Microsoft Exel 2000; - Dragon System Naturally Speaking Preferred 4; - Netscape Communicator 4.61; - Corel Paradox 9; - Microsoft PowerPoint 2000; - Microsoft Word 2000; - Деякі аплікації для створення Web-узлів. Отримані за тестуванням коефіцієнти відбивають порівняльну продуктивність комп’ютера. При цьому за базову прийнято систему Інтел Пентіум III 450 MHz, 440BX, 128MB DIMM, Diamond Viper V770 Ultra, 32 MB, 1024x768 16 bpp, Windows 98 SE. Базова конфігурація (взірцева система) має за означенням індекс 100. Якщо за результатами тестування проголошено індекс 200 для деякої іншої тестованої системи, то визнають, що вона удвічі випереджує за продуктивності калібраційну систему. Існують і інші тести від BARC, але вони є менш відомими. ICOMP. Цей індекс відбиває зважені коефіцієнти продуктивності для чотирьох наступних категорій – продуктивність, мультимедія, тривимірна графіка (3D) і інтернет. Коефіцієнти визначають на основі наступних індустріальних стандартів – CPU mark (20%), Wintune (20%), Advanced CPU Integer Test (20%), Multimedia Mark + WinBench + Lighting and Transformation Test (20%), WinBench FPU Winmark (5%), Jmark Processor Test (10 %). В дужках позначено питому вагу у результуючій суміші індекси від виконання відповідних тестів. Як правило, за допомогою індекса ICOMP порівнюють поміж собою продуктивність процесорів від фірми Інтел. 11. Операційні системи та апаратні засоби. Можна сформулювати наступні вимоги з боку операційних систем щодо адекватності підпорядкованих ним апаратних засобів: 1. Великий, іноді навіть надвеликий (сотні терабайт) адресувальний простір. 2. Розвинена і стійка апаратна підтримка програмного механізму керування та захисту віртуальної пам'яті. 3. Підтримка швидкого контекстного перемкнення поміж процесами. 4. Розвинена апаратна частина реалізації переривань, виключень (exceptions) і пасток (traps). 5. Безумовна підтримка стандартів, у тому числі стандартів IEEE на формати рухомої коми, інтерфейси уводу-виводу, підтримка мов високого рівня і, навіть, підтримка вибраних функцій ОС. 12. Архітектура і закон Амдаля. Графічна інтерпретація закону Амдаля. Формулювання закону Амдаля є наступним. Загальне прискорення, що обумовлено уведенням швидкодіючого пристрою, обмежене часткою часу, протягом якої швидкодіючий пристрій використовують.Закон Амдаля (видатний конструктор мейнфреймів) аналітично формулюють так: Тут: ExecutionTime – час виконання програми чи її фрагмента, new, old – новий, старий (“після” або “до” прискорення ) час, Frac – частка часу опрацювання, в якій використовується прискорене обладнання, Speedup(enhan) – прискорення нової апаратури в порівнянні зі старою, Speedup(overall) – досягнете прискорення опрацювання (загальне). Наприклад, нове обладнання в 10 разів є швидшим від старого, але нове обладнання використовують лише у 40 відсотках загального часового інтервалу опрацювання. Тоді досягають прискорення Частка (покращеного) = 0.4. Прискорення (покращеного) = 10. Прискорення (загальне) = (1/(0.6 + 0.4/10)) = 1/0.64 = 1.56. Якщо питома вага використання прискореного зросте до 0.9, тоді Прискорення (загальне) = 1/0.19 = 5.1. Висновок: використовувати швидке обладнання з малим “питомим” навантаженням є не раціональним (наприклад, неконвеєрний характер поділювача з рухомою комою не є об’єктом головної турботи при вирішенні питання про прискорення процесора). Графічна інтерпретація закону Амдаля. Нехай час опрацювання деякої задачі складає 100 умовних часових одиниць. При цьому одна частка обладнання працює 80 часових одиниць, а інша частка обладнання – 20 часових одиниць. Є можливість прискорити роботу другої частки обладнання в 4 рази. Яке загальне прискорення опрацювання отримаємо? Відповідь визначимо не за допомогою аналітичного виразу закону Амдаля, а спрощено, як на рисунку. Імовірно, що не вартує витрачати гроші на модернізацію тої частки обладнання, яку використовують епізодично. Адже в нас загальне прискорення обмежене числом 1.2 раза. 13. Технологія і закон Мура. За емпіричним законом (1965 рік, однин із засновників фірми Інтел Годона Мура (Gordon Moore) “кожні 18 місяців кількість транзисторів в інтегральній схемі подвоюється, і це має тривати, принаймі декілька наступних років”. Навіть у 2002 році високопоставлені особи (VIP) з Інтел запевняють, що закон Мура мусить “працювати”, принаймі, до 2017 року, і що треба зробити все, аби цей закон “працював” швидше”. Часто-густо закон Мура трактують дещо вільно, із заміною слів “число транзисторів” на слово “продуктивність”. Від цього закон ще жодного разу не втратив коректності. Адже ми знаємо як швидко морально застарівають технічно справні персональні комп’ютери! Подамо далі вибрані відомості про сучасний стан напівпровідникових технологій, аби визначити чи відповідає темп їхнього розвитку закону Мура. Проаналізуємо подану таблицею інформацію. 1. Інтел впроваджує нове покоління технологій кожні два роки, починаючи від 1989 року. 2. Інтел на основі досягнень власного підрозділу з наукових досліджень гарпнтує узятий темп зміни технологій принаймі протягом наступного десятиліття. 3. При цьому кожна нова технологія зменшує геометричні розміри мінімум із множником (шкалою) ~ 0.7x, збільшує ~ 2.0 рази щільність пакування транзисторів в мікросхемі та приблизно в 1.5 рази пришвидшує швидкість перемикання троанзистора. Отже, доходимо висновка, що дія емпіричного закона Мура триває і має тривати, принаймі, ще десятиліття. Подивимося на порівняння розмірів сучасного 90нм транзистора фірми Інтел із вірусом грипа. Ці розміри є практично збіжними. Зауважимо, що зараз (2002 рік) Інтел розпочала дослідження з випуску так званого терагерцного транзистора, тобто напівпровідникового прилада, що має функціонувати із тактовою частотою 1000 ТГц = 1 000 000 МГц = 1 000 000 000 000 Гц. Фактично в освоєній 90 нанометровій технології випуску транзисторів інтегральної схеми вже вперше у світі, як для серійної продукції, застосовано нанотехнології, бо позначений на наступному рисунку силіконовий ізолятор має фантастичну товщину в 1.2 нм. Отже, цей ізолятор має товщину в 5 атомів. Наступним рисунком подано інформацію про кристали статичної пам'яті. Такі комірки Ін тел використовує при побудові накристальної кеш-пам'яті власних процесорів. Нагадаємо, що стандартно одна комірка швидкої кеш-пам'яті містить шість транзисторів (динамічної – один, але вона є повільною). Площа комірки дорівнює одному квадратному мікрометру. Отже, на кристалі, що вже зараз містить 300 млн. транзисторів, можна реалізувати кеш на 300/6=50 мегабітів (8.5 мегабайтів) статичної кеш-пам'яті першого та другого рівнів. На рисунку, наведеному нижче, розміри кристала такої пам'яті порівнюють із розмірами монети номіналом 25 центів (так званий дайм). 14. Архітектура проти мікроархітектури. Стратегія розвитку мікроархітектури. Подамо на питання відповідь від фірми Інтел та переклад цієї відповіді українською мовою. Архітектура процесора містить опис множини інструкцій, програмно-керованих регістрів, резидентно-розташованих у пам’яті структур даних, що є доступними програмісту і які у майбутньому можна змінювати в певних межах з метою покращення. Мікроархітектура процесора подає опис реалізації процесорної архітектури в силіконі. В межах певної генерації процесорів, наприклад для ІА-32, мікроархітектуру, як правило, змінюють із переходом до наступної генерації процесора, в той час як стандартна частина архітектури ІА-32, що грунтується на інструкціях множини х86 та відомих програмно-керованих регістрах лишають незмінною. Все це потрібно для того аби забезпечити зворотню сумістність програмних кодів, які викликалися на ранішніх моделях процесорів тої самої архітектурної родини (порівняйте процесор і386, 1987 рік, та процесор Пентіум 4, 2001 рік; обидва процесора належать до архітектурної родини ІА-32 та, водночас, мають разюче відмінну мікроархітектуру). Наступним рисунком подано стратегію розвитоку мікроархітектури процесорі архітектури ІА-32 залежно від плину часу та нових актуальних комп’ютерних задач, які треба розв’язувати. Бачимо, що вимогам графічної мережевої об’єктної системи Windows відповідав вже процессор мікроархітектури і486 з родинною, ІА-32 архітектурою. Актуалізація задач мультимедіа змусила радикально змінити мікроархітектуру, чому і відповідали перші потокові процесори Пентіум ММХ потокової мікроархітектури MMX, з притаманою цьому процесорові родинною архітектурою ІА-32. Потім настав час розв’язання актуальної задачі масової реалізації візуальних обчислень (прикладом є пакет MATLAB 6.х), що і спричинло появу поновленої мікроархітектури процесорів Пентіум II/III тої самої родинної архітектури ІА-32. Нарешті, актуалізувалися задачі візуального інтернету (глобалізація усіх видів інформаційних, потокових відео та аудіо контактів, освітніх та розважальних контактів на планеті), чому відповідає новітня мікроархітектура під назвою Intel Net-Burst micro-architecture. Її реалізовано у процесорах Пентіум 4, знову таки із притаманою цим процесорам родинною архітектурою ІА-32. Стосовно того, що буде далі, то мусимо зауважити, що із плином часу на перший план має висунутися найактуальніша задача реалізації глобально розподіленого штучного інтелекту заради його ефективного застосування в усіх галузях діяльності людини, аби надати цій діяльності безперечної сенсовності та раціональності. Вже можна побачити перші проростки у формі використання через інтернет систем автоматизованого проектування комп’ютерних засобів, коли відповідні програмні засоби інстальвано лише на фірмових серверах (технології класів Citrix та Elize від фірми ІВМ). 15. RISC архітектура і CISC архітектура. RISC архітектура заступила класичну (потім її переназвали як CISC) архітектуру на тому етапі розвитку напівпровідникових технологій, коли відомі методи реалізації машинних інструкцій почали перешкоджати використанню того частотного діапазону, який виявився притаманим новим кристалам. Сама по собі RISC архітектура із надмірно спрощеними, але пристосованими до над швидкого виконання інструкціями лише заглибила зростаючу прірву поміж надскладною архітектурою рівня кінцевого користувача і спрощеною архітектурою рівня машинних інструкцій. Отже, RISC архітектуру треба розглядати не як стрибок до майбутнього, а як вимушений, тимчасовий, хоча і ефективний компроміс поміж можливостями комп’ютерного дизайну і досягненнями напівпровідникових технологій. В порівнянні з класичною CISC (complex instruction set computer) архітектурою RISC (reduced instruction set computer) архітектура має: 1. Одноциклові операції. 2. Архітектурний дизайн load/store. 3. Апаратне керування. 4. Зменшене число інструкцій та адресувальних режимів. 5. Фіксований формат та поділ формату на поля інструкції. 6. Зменшення впливу пригальмувань скалярного конвеєра за рахунок застосування оптимізуючих компіляторів, що спроможні раціонально диспетчеризувати виконуваний машинний код. 16. Формати інструкцій скалярного RISC процесора. Множина інструкцій RISC процесора. Формати інструкцій подано наступним рисунком. Пояснення щодо форматів інструкцій. 1. I - тип інструкції опрацьовує безпосередній операнд (Immediate ). 2. R - тип інструкції отримує пару операндів із джерельних регістрів (Registers) регістрового файла процесора та повертає результат знов таки до регістру призначення цього файла. 3. J – тип є інструкцією безумовного переходу (jump). 4. Opcode є полем коду операції, довжина 6 бітів. 5. rs1,rs2 є полями з довжиною 5 бітів, що визначають номери регістрів-джерел операндів (register of source) та програмно обираються серед регістрів R0..R31 регістрового файла. 6. rd є п'яти бітовим полем номера регістра призначення, приймача результату дії (register of destination), регістр призначення також обирають із множини R0..R31 регістрового файла. 7. Immediate - це 16-ти бітове поле, що містить безпосередній операнд; при цьому найлівіший розряд immediate розглядають як знаковий; при використанні безпосередній операнд знаково розширюють вліво за правилами доповняльного коду до 32-х бітів. 8. Function - це поле, що визначає функцію, яка розширює на 211 – 1 = 2047 комбінацій обмежену кількість дозволених кодів операції. 9. Offset added to PC - це 26-ти бітова константа, яку додають до вмістимого регістру наступної адреси при виконанні інструкції безумовного переходу. Особливості поданих форматів інструкцій: 1. Довжина усіх форматів – 32 біти. 2. Реалізовано дизайн архітектури load/store. 3. Реалізовано фіксовану систему поділу форматів на поля. 4. Усі інструкції з погляду їхньої обробки поділено на три групи: - АЛП операції, - операції load/store, - операції керування виконанням програми. Формати АЛП операцій є три адресувальними, а саме, OP RX,RY,RZ. Вони є майже збіжними з форматами інструкцій М88X00 RICS-мікропроцесора фірми Motorola. Останній разом із IBM801 та AMD29000 у середині 80-х років утворив історично першу трійку серійних RICS-процесорів . Інструкції керування виконанням програми, до яких належать умовні й безумовні переходи, і деякі інші інструкції, наприклад, TRAP (остання тимчасово, на короткий термін ніби "передовіряє" керування системою деякому модулю операційної системи), а також інструкція повернення з виключення (обробка особливої ситуації, що може виникнути при виконанні операції) RFE (Return From Exception). Інструкції обробки чисел з рухомою комою, за допомогою яких виконується додавання, віднімання, множення, ділення й низка інших операцій над відповідними кодами, як правило, у двох варіантах, із стандартною та подвійною точністю. Пересилання даних поміж регістрами та пам'яттю даних, або поміж регістрами цілих операндів і регістрів операндів із рухомою комою та спеціальними регістрами; адресування пам'яті виконують за допомогою лише однієї адресувальної моди (mode), де 16-бітовий зсув, що міститься у форматі інструкції, додають до вмістимого одного з регістрів загального призначення (тобто регістра, що містить базову адресу). Ще раз пригорнемо увагу до того, що саме інструкції завантаження (load) чи збереження (store), які належать до цього типу, вивільнено від додаткової функції арифметичного, логічного чи будь-якого іншого опрацювання операндів. Це, по-перше, задовольняє необхідній умові створення множини інструкцій (машинних команд) RISC-архітектури, а, по-друге, дозволяє визнати архітектуру, що зараз розглядається як load/store. Пояснимо на ілюстративному прикладі синтаксис запису алгоритмів виконання окремих машинних інструкцій DLX (див. таблицю 2). Розглянемо запис: Regs[R19]16..31=16(DM[Regs[R8]]0 )8 ## DM [ Regs[R8]]. Запис фіксує наступне. Оновлюють лише 16 молодших (правих) бітів регістру R19. До них пересилають двобайтовий бінарний код, в якому молодший правий байт береться з пам’яті даних DM за адресою, що є збіжною з вмістимим регістру R8. Старший лівий байт утворюють вісімразовим повторюванням нульового (старшого) розряду щойно згаданого правого байта. Парою символів ## позначено операцію конкатенації (зчеплення) двох байтів до двох байтового напівслова. 17. Обґрунтування структури інформаційного тракту скалярного RISC комп’ютера Основою проектування структури інформаційного тракту (data path) є часова діаграма виконання інструкції з найбільшою складністю, до якої у класичному RISC комп’ютері належить, наприклад, інструкція завантаження слова. Розглянемо виконання інструкції завантаження слова LW R5, 16(R26). При її виконанні потрібно: - вибрати зазначену інструкцію з пам’яті (отримуємо перший цикл із назвою IF), - декодувати інструкцію/вибрати операнди (отримуємо другий цикл цикл ID), - виконати інструкцію, тобто обрахувати виконавчу адресу операнда 16 + <R26> (отримуємо третій цикл EX), - вибрати операнд із головної пам’яті (отримуємо четвертий цикл MEM), - переслати вибраний з пам’яті операнд до регістра R5 регістрового файла (отримуємо п’ятий цикл WB). Інші інструкції не вимагають реалізації усього переліченого тому, що мають меншу часову складність. Зауважимо, що тут циклом ми називаємо один тактовий інтервал. Інші інструкції не вимагають реалізації усіх перелічених тактів, бо мають меншу часову складність. Отже, коли знехтувати парадоксом пам’яті, тоді часова діаграма виконання найскладнішої машинної інструкції містить 5 тактових інтервалів рівної довжини. Менш складні інструкції також “просуваються” усіма п’ятьма тактовими інтервалами, але «зайві» для них інтервали минають транзитно, без виконання дій. 18. Багатоцикловий прототип RISC машини. Його цикли. Структуру багатоциклового (максимально наближеного до цільового конвеєрного варіанту) прототипу машини подано наступним рисунком. Скороченням PC позначено лічильник інструкцій (Program Counter). Вмістиме РС визначає адресу інструкції у пам'яті інструкцій ІМ. Комбінаційний додавач Adder обраховує адресу наступної за чергою виконання інструкції. При цьому враховано, що впорядкована послідовність інструкцій (програма) складається з чотирьох байтових і тільки чотирьох байтових інструкцій (усі інструкції мають формати з довжиною 32 біти), які розміщено в IM за адресами 0, 4, 8, C і т.д. Через це константа зсуву адреси (пересування покажчика на наступну за чергою інструкцію) дорівнює +4. Визначене за допомогою додавача значення адреси вибирання наступної інструкції зберігають у регістрі NPC (next PC). Зчитаний з ІМ бінарний код поточної інструкції записують до регістру інструкції IR. Поля щойно вибраної інструкції (рис. 6), що містять бінарні коди-ідентифікатори регістрів-операндів, є фактично адресами комірок внутрішньо процесорної пам'яті, яка емулює пул (множину) програмно досяжних (видимих програмісту) регістрів. Вмістиме зазначених полів формату інструкції надсилають на адресні входи регістрового файлу Registers чи Regs, а відповідні надісланим адресам бінарні коди регістрових операндів завантажуються до внутрішніх, програмно недосяжних, тобто службових регістрів А і В. Існує ще один тип операнда з назвою “безпосередній” (Immediate чи Imm). Його задають прямо у форматі інструкції. Як правило, довжина безпосереднього операнда не перевищує половини довжини формату інструкції. В нас безпосередній операнд матимете довжину 32/2 = 16 бітів. В той самий час бажано зафіксувати таку довжину формату даних такою, що дорівнює довжині формату інструкції ( зауважимо без пояснень, що різноманіть довжин форматів суттєво пригальмовує машину). Якщо усі формати даних, як і формати інструкцій, матимуть довжину 32 біти, тоді безпосередньому операнду не вистачатиме ще 16 бітів аби бути стандартним за довжиною. Тому знакове розширення 16 бітового безпосереднього операнда до 32-х бітів виконує комбінаційний вузол Sign Extend. Результат знакового розширення тимчасово зберігають у службовому регістрі Imm. В цілому можна нарахувати чотири можливі операнди на вході АЛП: 1) з регістрів А, В, Imm; 2) вмістиме регістру адреси наступної для виконання інструкції NPC. Наперед зазначимо, що операнд-адресу NPC опрацьовують в АЛП при виконанні інструкцій умовного переходу, коли на додаток до натуральної потрібна ще одна адреса, яку утворюють додаванням до вмістимого NPC деякої константи переходу. Вибирання двох операндів АЛП із чотирьох можливих виконують за допомогою мультиплексорів операндів mux. Результат операції АЛП тимчасово запам'ятовують у проміжному службовому регістрі ALUoutput (ALUout). Якщо результатом операції є число, тоді його заносять до комірки регістрового файлу. Якщо результатом операції є адреса, тоді цю адресу надсилають до (верхнього на рисунку) мультиплексора вибору адреси mux. За допомогою зазначеного мультиплексора вибирають адресу переходу (чергова чи перехід), яку і надсилають до лічильника інструкцій PC аби коректно продовжити виконання програми. Керування мультиплексором вибору адреси наступної інструкції покладено на вузол Zero?, де вмістиме службового регістра А порівнюють із нулем (дорівнює нулю, більше нуля, менше нуля і т.д., в залежності від виду виконуваної у поточний час операції умовного переходу). Результат порівняння є бінарним логічним значенням (так або ні). Саме цей бінарний результат керує роботою мультиплексора вибирання адреси наступної інструкції. Результат-адресу з виходу АЛП надсилають до пам’яті даних як отриману адресу комірки цієї пам’яті (для інструкцій збереження/завантаження). Результатом на виході правого на рисунку мультиплексора може бути або вмістиме пам’яті даних (при виконанні інструкції завантаження LW слова з пам’яті даних до регістру регістрового файла), або результат виконання арифметичної, зсувної, логічної чи іншої операції в АЛП (наприклад, при виконанні інструкцій ADD, SUB і т.д.). Такий результат засобами мікропрограмування зберігають в регістрі регістрового файла. Отже, зазначений мультиплексор, керований регістром поточної інструкції, комутує на вхід регістрового файла потрібну інформацію. 19. Конвеєрна структура iнформацiйного тракту. Конвеєрний Datapath DLX структуровано наступними сходинками конвеєра, а саме: IF, ID, EХ, MEM, WB. Апаратура кожної сходинки реалізує притамані їй мікрооперації. Наприклад, на першій сходинці виконують вибирання інструкції з пам’яті інструкцій IM за вмістими...
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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