22988

Декотріі принципи роботи сучасних мікропроцесорів та ЕОМ

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

Вони показують яка команда виконується до якої комірки памяті або зовнішнього пристрою звертається процесор і містять іншу важливу і вичерпну інформацію. Після того як у програмі дається сигнал €œвивільнити мікросхему€ вміст усіх регістрів переписується в область памяті що має назву сегмента стану задачі TSS Taske State Segment. При роботі у мультипрограмному режимі можуть виникати певні труднощі з використанням оперативної памяті котра стає тепер вже загальною для кількох задач. Можливі непередбачені ситуації коли одна програма...

Украинкский

2013-08-04

1.54 MB

0 чел.

Лекція № 17

Декотріі принципи роботи

сучасних мікропроцесорів та ЕОМ

Мультипрограмний режим роботи

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

Таке маневрування з прикладними програмами спрямоване на найбільш раціональне використання машинного часу процесора (так щоб у його роботі не було простоїв), здійснюється спеціальною системною програмою, що має назву супервізора або програми-диспчера.

Для того щоб краще зрозуміти, як здійснюється у мультипрограмному режимі подібний перехід від одної програми до іншої, розглянемо модельну ситуацію, коли два процесори А та В використовують загальний ресурс, але виконують дві різні програми. Припустимо, що ми бажаємо обміняти місцями програми що виконуються цими процесорами. Як це зробити?

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

Отже, нам треба лише обміняти місцями вміст регістрів обох процесорів: в процесор А передається вміст усіх регістрів процесора В, а в процесор В - відповідні дані від процесора А.

Подібно до цього здійснюється “перемикання задач”, наприклад, в процесорі 80386. Після того як у програмі дається сигнал “вивільнити мікросхему” вміст усіх регістрів переписується в область памяті, що має назву сегмента стану задачі (TSS - Taske State Segment). А у вивільнені регістри процесора завантажується вміст другого TSS, в котрім зберігалась уся інформація про другу програму, якій тепер передається керування процесором. Після цього виконується нова програма, а стара чекає виклику. Таке перемикання можна здійснювати дуже швидко. Наприклад, TSS у процесорі 80386 містить 26 подвійних слів (104 байтів). Перемикання здійснюється за 268 тактів, що при тактовій частоті у 16 МГц складає лише 17 мкс. Отже якщо один процесор обслуговує, наприклад,  одночасно кілька терміналів, то циклічне перемикання програм користувачів може відбуватися багато разів на секунду. Окремий користувач не буде відчувати, що окрім нього є ще й інші користувачі. У нього буде складатися враження, що процесор обслуговує тільки його одного.

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

Окрім цього окремим програмам надаються певні привілеї на позачергове виконання. Ці привілеї враховуються супервізором при наданні програмам машинного часу.

Кеш - память

.

Мабуть, найістотнішою характеристикою електронно - обчислювальної машини є її швидкодія. Вона визначається як процесором, так і оперативною пам’яттю, до якої процесор постійно звертається. У звязку з появою нових швидкодіючих процесорів останніх поколінь виник певний розрив між швидкодією процесора і оперативної пам’яті, котра стала тепер найповільнішою ланкою в системі процесор - пам’ять.

Справа в тому, що великі обєми памяті, що використовуються у сучасних ЕОМ, засновані на динамічних КМОН - структурах (DRAM), котрі, в принципі, не можуть бути дуже швидкодіючими. Адже в основі їх дії лежить процес зарядження та розрядження ємності, який завжди потребує певного часу. Звичайно, було б краще за все замінити КМОН - структури на більш швидкодіючі статичні ТТЛШ - пристрої (SRAM), але сучасна технологія не спроможна поки що зробити їх зрівняними  до КМОН - структур за розмірами, енергоспоживанням та вартістю.

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

Концепція кеш-пам’яті базується на передбаченні того, які саме дані вимагатиме процесор при виконанні наступних команд та опереджуючому занесенні цих даних до кеш-пам’яті. Таке завбачення адреси наступного звернення до пам’яті було б неможливим, якщо б програма зверталась до пам’яті випадковим чином. Насправді ж програми мають тенденцію звертатися до пам’яті за адресою близькою до адреси попереднього звернення. Це явище має назву локальності програми або локальності посилань. Локальність програм є саме те, що робить кеш-пам’ять можливою та ефективною.

При зверненні до пам’яті процесор звертається спершу  до контролера кеш-пам’яті і якщо в ній є інформація з потрібною адресою, то виграється кілька тактів. Це має назву кеш-потрапляння. Якщо ж потрібної адреси у кеші немає, то доводиться звертатися до основної пам’яті. На невдалому зверненні до кеш-пам’яті (кеш-промасі) втрачається кілька тактів, але тепер потрібна адреса разом з близькими до неї кількома (2 - 16) байтами записується до кеш-пам’яті. Старі ж записи з усіма зробленими у них змінами повертаються до основної пам’яті за тими адресами, які вони попередньо мали. Загальний обєм кеш-пам’яті може складати до кількох десятків або навіть сотень кілобайт.

Добре зроблений  кеш може дати майже подвійний виграш у швидкодії. Можна передбачати, що при появі у майбутньому дешевих і компактних швидкодіючих  ОЗП потреба у кеш-памяті відпаде.

Кеш-память може знаходитись як ззовні процесора і являти собою окрему ІМС, так і всередині процесора. Так наприклад, в процесорі 80486 є внутрішній кеш обємом у 8 Кбайт (так званий перший рівень кешування), а також зовнішній кеш на 256 Кбайт  (другий рівень кешування).

Обмін між кешем та основною пам’яттю може відбуватися двомам методами: при наскрізному методі запис у кеш виконується одночасно зі зміною вмісту комірок як у кеші, так і в основній пам’яті. Цей метод є характерним для внутрішніх кешів.

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

Подвоєння тактової частоти процесора

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

Це дозволяє застосувати ще один метод прискорення роботи системи - подвоєння тактової частоти процесора (і разом з ним внутрішнього кеша) порівняно з тактовою частотою усієї решти ІМС, що входять до складу ЕОМ.

Процесор працює з підвищеною частотою, лише інколи звертаючись до основної пам’яті і зовнішнього кешу, котрі працюють з допустимою для них тактовою частотою. Звичайно, помноження тактової частоти можливе лише в тих випадках, коли процесор має досить розвинену внутрішню кеш-пам’ять. Застосування помноження частоти дозволяє збільшити на 60 - 70% швидкодію і продуктивність подібних систем.

Черга   команд

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

З чергою команд ми вже зустрічалися при розгляді структурної схеми МП-86. В найпростіших процесорах 8080 та 8085 по закінченню виконання будь-якої команди процесор звертається до пам’яті за наступною командою і поки відбувається вибірка цієї команди і її рух по системній шині, сам процесор простоює.

В МП-86 передбачається випереджуюча вибірка команди. Поки процесор обробляє і виконує чергову команду і системна шина вільна, викликається наступна команда і записується у спеціальний регістр. Отже, до моменту закінчення виконання процесором попередньої команди у нього на вході стоїть вже нова наступна команда (або навіть декілька команд). В МП-86 таких регістрів шість і в них утворюється черга команд підготовлених до виконання. Як тільки два байти в регістрах черги вивільнюються, вони заповнюються наступними командами. В результаті АЛП вже не доводиться простоювати в очікуванні надходження команди.

Цей принцип так добре себе виправдав, що в мікропроцесорах наступних поколінь таких черг організується декілька. Так наприклад, після дешифратора команд створюється ще одна черга - тепер вже черга мікрокоманд готових до виконання процесором. У МП-286 це три 69-розрядні регістри мікрокоманд, а у МП-386  -  8 регістрів по 100 розрядів.

Конвеєризація    адреси

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

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

Будемо вважати що час очікування на видачу даних складатиме один такт. Тоді на одне звернення до памяті потрібно три такти: видача адреси, очікування та одержання даних (рис. 17.1а). При конвеєризації адреси на кожне звернення потрібно лише два такти (рис.17.1б).

Конвеєризація   команд

Цей же принцип можна застосувати і до команд, якщо для їх виконання  використовуються послідовно декілька апаратних блоків. Так наприклад, нехай таких ступенів виконання буде пять: вибірка команди, два ступеня дешифрування, виконання і видача даних (рис.17.2).. Будемо вважати що на проходження кожного з цих ступенів витрачається один такт. Команда проходить послідовно через пять пристроїв, кожний з яких відповідає своєму ступеню. Коли вивільнюється перший ступінь, до нього одразу надходить наступна команда. Отже, хоча на виконання кожної команди витрачається пять тактів, на вихід системи кожного такту потрапляє результат одної виконаної команди.

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

Взагалі сучасні потужні процесори поділяються на два основні класи:

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

скалярні, які обробляють команди послідовно.

Проміжними між ними є так звані суперскалярні процесори, які вважаються підкласом скалярних. Вони здатні обробляти декілька команд одночасно завдяки тому що в їх структурі є кілька жорстких конвеєрів.

Динамічне виконання

(оптимізуюча компіляція)

Але навіть при конвеєризації команд та наявності кеш-пам’яті неповна зайнятість процесора зостається проблемою.

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

  ;завантаження робочого регістра R1 з кеша

   ;додавання R1 i R2 

   ;інкремент R5

 R6  ;віднімання R3 з R6 .

При виконанні першої з команд (завантаження робочого регістру R1 з кеша) може відбутися кеш-промах. Звичайний процесор буде змушений простоювати, аж поки шинний інтерфейс не прочитає потрібні дані з основної пам’яті і не завантажить їх у кеш. Тільки тоді можна буде виконати команди (1) та (2).  Але наступні команди (3) та (4) можна виконувати, бо регістри R3,R5 та R6 уже завантажені і для цього не потрібний кеш з його даними. Отже процесор може, не чекаючи виконання команд (1) та (2) виконати команди (3) та (4) і надіслати їх результати на тимчасове зберігання в область пам’яті що має назву пула команд. Там вони перебуватимуть доти, доки не виникне потреба повернути їх в порядку природної черговості програми. Отже процесор виконує команди не в порядку їх запису у програмі, а у відповідності до їх готовності для обробки. У сучасних процесорах такий “перегляд вперед” відбувається на 20 - 30 команд відносно існуючого на даний момент стану лічильника команд. Такий “перегляд вперед” здійснюється за допомогою оптимізуючих компіляторів, які аналізують вхідні коди і частково змінюють порядок виконання команд.

Динамічне виконання  є ще одним засобом узгодження швидкодії процесора і пам’яті (на цей раз кеш-пам’яті), що дозволяє істотно збільшити швидкодію ЕОМ в цілому. Цей метод вже давно застосовувався у великих машинах і RISC-процесорах. Зараз він знайшов застосування і в процесорах останніх поколінь.

 

1 Слово “cash” у перекладі з англійської мови означає готівку.


 

А также другие работы, которые могут Вас заинтересовать

21486. Категорії моральної свідомості і моральної самосвідомості 97.5 KB
  Вони виражають особливість моральнісного життя суспільства, особистості і виступають критерієм оцінки самих різноманітних вчинків, оскільки синтезують знання про реальність моральнісного життя з одного боку і бажане й належне з іншого. В історії філософії першу систему категорій запропонував Аристотель. Категорії тлумачились ним, як форми і структури упорядкування буття і найзагальніші ідеї
21487. Правовые и этические проблемы анестезиологии и реанимации 35 KB
  Для осущетсвления своевременной и полной коррекции метаболических сдвигов необходимы следующие мероприятия: общий анализ крови и мочи определение ЦВД исследование сыворотки крови на калий натрий хлориды осмотичность цельной крови на рО2 рСО2 рН азот мочевины гематокрит глюкозу. Из обычных лабораторных показателей наиболее показательны данные красной крови Эр Нв Нt и показатели общего белка. Если показатели красной крови свидетельствуют о явлениях гемоконцентрации необходимо стремиться к снижению этих показателей то уровень...
21488. ПРАКТИЧЕСКИЕ РЕКОМЕНДАЦИИ ДЛЯ ПРОВЕДЕНИЯ СЕАНСОВ ГБО ПРИ НЕКОТОРЫХ КРИТИЧЕСКИХ СОСТОЯНИЯХ 46.8 KB
  В процессе проведения компрессии обычно наблюдается увеличение сукровичного пятна на повязках связанное с усилением оттока раневого отделяемого. Для осущетсвления своевременной и полной коррекции метаболических сдвигов необходимы следующие мероприятия: общий анализ крови и мочи определение ЦВД исследование сыворотки крови на калий натрий хлориды осмотичность цельной крови на рО2 рСО2 рН азот мочевины гематокрит глюкозу. Из обычных лабораторных показателей наиболее показательны данные красной крови Эр Нв Нt и показатели...
21489. ПРОЕКТ ПРОТОКОЛА ЛЕЧЕНИЯ БОЛЬНЫХ С ЧЕРЕПНО-МОЗГОВОЙ ТРАВМОЙ 56.5 KB
  Основной Целью данного протокола является улучшение результатов лечения больных с ЧМТ за счет внедрения в практику наиболее эффективных методик лечения данной категории больных. Одним из основных критериев адекватности терапии является качество жизни (уровень социальной адаптации) пациента после выписки из стационара. Параллельно с основной цепью предполагается решение следующих задач...
21490. Побудова і технологічне планування приміщень магазинів 55.69 KB
  Торгові приміщення є основними в магазині. До таких приміщень відносяться: торгові зали магазинів; відділ замовлень; зал кафетерію; приміщення або площі додаткового обслуговування покупців (місця відпочинку покупців, приміщення для розкрою тканин і ін.).
21491. Реаниматологическая помощь при термической травме 21 KB
  При комбинированной травме показаниями к проведению ВЧВВ легких через микротрахеостому у таких пострадавших должны быть: 1) поражение дыхательных путей продуктами горения легкой степени + ожог верхних дыхательных путей
21492. СЕПСИС И СЕПТИЧЕСКИЙ ШОК 120 KB
  Кандидат медицинских наук старший преподаватель подполковник медицинской службы Журавлев В.:Медицина1991. 5 2Введение Сепсис остается сложной медицинской проблемой и на се годняшний день продолжает быть одной из ведущих причин ле тальности несмотря на современные открытия в патогенезе этого заболевания и принципах его лечения.
21493. СОДЕРЖАНИЕ ЭЛЕКТРОЛИТОВ И ОСМОТИЧЕСКАЯ КОНЦЕНТРАЦИЯ НЕКО 31.5 KB
  Например Американская коллегия врачей и общество критической медицины США придер живаются терминологии выработанной на совместной конферен ции по определению общих критериев при различных формах те чения сепсиса слайд N1: 1Определения сепсиса и связанных с ним нарушений ┌─────────────────┬───────────────────────────────────────────┐ │Термин │ Определение │ ├─────────────────┼───────────────────────────────────────────┤ │Септициемия...
21494. Организация анестезиологической и реаниматологической помощи на этапе квалифицированной медицинской помощи 175.5 KB
  Учреждения подразделения заготовки крови состав задачи VI. Из оснащения на ПМП имеются: инфузионные растворы полиглюкин физиологический раствор растворы глюкозы 5 одноразовые системы для переливания крови и кровезаменителей кровь универсальной группы ОIRh аппараты ИВЛ ДП9 и ДП10 кислородные ингаляторы КИ4 портативный аналгезер АП1 наборы для трахеотомии дренирования левралной полости а также лекарственные средства промедол морфин дипразин новоеаин трихлорэтилен и др. Сложнее восстановить проходимость...