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” у перекладі з англійської мови означає готівку.


 

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

79298. Оценка затрат на персонал 77.93 KB
  Они выступают в виде выплаты денежных вознаграждений дополнительных расходов на содержание персонала осуществляемых в соответствии с действующими законами и тарифными соглашениями или добровольных социальных услуг предприятия. В составе расходов на персонал можно выделить следующие группы: Общие расходы на рабочую силу складываются из прямых и косвенных затрат. Косвенные затраты обусловлены необходимостью возмещения дополнительных расходов по выплате страховых взносов в социальные фонды в том числе в фонды защиты от безработицы в связи...
79299. Оценка социальной и экономической эффективности проектов совершенствования системы и технологии управления персоналом 47 KB
  Социальная эффективность проектов проявляется в возможности достижения позитивных, а также избежания отрицательных с социальной точки зрения изменений в организации.
79300. Аудит персонала 14.12 KB
  Аудит персонала Аудит персонала система консультационной поддержки аналитической оценки и независимой экспертизы кадрового потенциала организации. Задачи аудита персонала: определить соответствие организационного и кадрового потенциала целям и стратегии развития организации; выявить соответствие деятельности персонала и структуру управления организации существующей нормативноправовой базе; определить эффективность работы с персоналом по решению задач стоящих перед персоналом организации ее руководством отдельными структурными...
79301. Теории управления о роли человека в организации 15.74 KB
  В связи с тем что теории управления персоналом человеческими ресурсами развивались вместе с различными школами управления последние наложили отпечаток на название первых. За более чем столетие период промышленной революции роль человека в организации существенно менялась поэтому развивались уточнялись и теории управления персоналом. В настоящее время различают три группы теорий: классические теории теории человеческих отношений и теории человеческих ресурсов.
79302. Трудовые ресурсы, персонал и трудовой потенциал организации 15.54 KB
  Работающие собственники и совладельцы организации включаются в состав персонала если они кроме причитающейся им части доходов получают соответствующую оплату за то что участвуют своим личным трудом в деятельности организации; обладание определенными качественными характеристиками профессией специальностью квалификацией компетентностью и др. обеспечение достижения целей организации путем установления адекватных им целей отдельного работника и создания условий для их эффективной реализации. К ним относятся: акционеры не работающие в...
79303. Государственная система управления трудовыми ресурсами 138.08 KB
  Государственная система управления трудовыми ресурсами Российской Федерации включает совокупность органов государственной законодательной исполнительной и судебной власти и управления централизованно регулирующих основные социальнотрудовые отношения а также методы управления и механизм их использования.
79304. Философия и концепция управления персоналом 12.89 KB
  Философия управления персоналом философскопонятийное осмысление сущности управления персоналом его возникновения связи с другими науками и направлениями науки об управлении уяснение лежащих в основе управления персоналом идей и целей. В частности философия управления персоналом рассматривает процесс управления персоналом с логической психологической социологической экономической организационной и этической точек зрения. Сущность философии управления персоналом организации заключается в том что работники имеют возможность...
79305. Принципы и методы управления персоналом 13.77 KB
  Принципы управления персоналом правила основные положения и нормы которым должны следовать руководители и специалисты в процессе управления персоналом. Управление персоналом традиционно осуществляется на основе принципов: научности; демократического централизма; плановости; первого лица; единства распорядительства; отбора подбора и расстановки кадров; сочетания единоначалия и коллегиальности централизации и децентрализации; линейного функционального и целевого управления; контроля исполнения решений и др. Современные зарубежные...
79306. Теория потребления 38.81 KB
  Потребительское поведение и полезность блага. рациональный потребитель стремится максимизировать полезность. Полезность это субъективное понятие которое характеризует степень удовольствия от покупки данного товара. Предельная полезность это добавочная полезность или удовлетворение извлекаемое потребителем из одной дополнительной единицы конкретной продукции.