загрузка...
загрузка...
На головну

Структура і формат команд. Кодування команд.

  1.  B) соціально-стратификационная структура
  2.  I. структура сталей.
  3.  I. До-предметна структура імені
  4.  I. ДО-ПРЕДМЕТНА СТРУКТУРА ІМЕНІ 1 сторінка
  5.  I. ДО-ПРЕДМЕТНА СТРУКТУРА ІМЕНІ 2 сторінка
  6.  I. ДО-ПРЕДМЕТНА СТРУКТУРА ІМЕНІ 3 сторінка
  7.  I. ДО-ПРЕДМЕТНА СТРУКТУРА ІМЕНІ 4 сторінка

всі можливі перетворення дискретної інформації можуть бути зведені до чотирьох основних видів:

1) передача інформації в просторі;

2) зберігання інформації;

3) логічні операції;

4) арифметичні операції.

ЕОМ, що є універсальним перетворювачем дискретної інформації, виконує всі зазначені види перетворень.

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

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

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

За характером виконуваних операцій розрізняють наступні основні групи команд:

1) команди арифметичних операцій для чисел з фіксованою і плаваючою комою;

2) команди десяткової арифметики;

3) команди логічних операцій;

4) команди передачі кодів;

5) команди введення-виведення;

6) команди передачі управління;

7) команди завдання режиму роботи машини.

В команді, як правило, містяться не самі операнди, а інформація про адреси осередків пам'яті або регістрах, в яких вони знаходяться.

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

Операційна частина містить код операції, який задає вид операції. Адресна частина команди містить інформацію про адреси операндів і результату операції, а в деяких випадках інформацію про адресу наступної команди.

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

Організації пам'яті і адресації.

МП I8008 має мегабайтовий пам'ять. Для того щоб адресувати до такої кількості осередків, необхідний 20-розрядний покажчик. Оскільки покажчик команд IP, також як і всі інші регістри - покажчики BX, SI, DI, BP і SP має 16 розрядів, МП не має прямого доступу відразу до всієї пам'яті. Це завдання вирішується за допомогою сегментування.

Організація сегмента.

Кожен сегмент пам'яті містить до 64 кб (65536 байт). Початкова адреса сегмента може бути встановлений прикладної програмою і завжди повинен починатися з 16-байтових кордонів. Базова адреса сегмента виходить розподілом дійсного фізичної адреси початкової комірки сегмента на 16. Ці базові адреси міститися в сегментних регістрах, так що МП одночасно може до чотирьох однозначно визначаються сегментів. На розташування сегмента не накладається ніяких спеціальних обмежень, крім одного: він повинен бути на межі 16 байт (т. Е. Фізичну адресу початкової комірки повинен ділитися на 16). Сегменти можуть бути суміжними, розділеними, перекриватися частково або повністю. Після того як сегмент визначений, регістри- покажчики можуть бути використані для адресного звернення до будь-якого байту або слову в межах цього сегмента. При такій організації адресації МП має прямий доступ тільки до 64 кб пам'яті, а до мільйону байтів може адресуватися лише за допомогою регістрів-сегментів.

Так як МП I8088 має чотири регістри сегментів, в його пам'яті одночасно виділяються чотири адресованих сегмента: командний сегмент, сегмент даних, додатковий сегмент і стековий сегмент.

Командний сегмент являє собою 64 - кілобайтовий область пам'яті, що містить машинні команди, які вибираються УС і виконуються ІУ. Вміст покажчика команд відповідає переміщуваного адресою черговий, виконуваної в цьому сегменті, команди.

Сегмент даних являє собою 64 - кілобайтовий область пам'яті, яка зазвичай використовується для запам'ятовування програмних даних, змінних і констант.

Додатковий сегмент забезпечує додаткові 64 Кб пам'яті.

Стековий сегмент містить стекову структуру ємністю до 64 Кб.

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

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

Організація пам'яті.

Мегабайтовий пам'ять МП I8088 можна розглядати як послідовність байтів, що починається з фізичної адреси 00000Н, що закінчується адресою FFFFFH.

Команди програмні дані можуть бути записані побайтно або словами в будь-який з цих адрес. Для запам'ятовування 16 - бітового слова або 32 - бітового подвійного слова використовується наступна угода:

1. 16 - бітове слово завжди заноситься в пам'ять так, що старший байт знаходиться в комірці з великим номером. Наприклад, якщо шістнадцяткове число 0235Н записано в осередок 2800Н, то при цьому сама осередок 2800Н містить число 35Н, а число 02Н записується в осередок 2801Н.

 2. 32 - бітове подвійне слово може бути використано в якості покажчика для адресації байта або слова в будь-якому сегменті пам'яті ЕОМ. Молодше слово адреси вказує переміщуваний адреса, а старше слово - початкову клітинку (базовий адреса) сегмента. Два байти кожного слова заносяться в пам'ять згідно з умовою записи 16 - бітового слова. Так як фізичну адресу визначається 20 - бітових кодом, то УС генерує справжню адресу, відповідний адресою в сегменті, зсував базовий адреса (старше слово) вліво на 4 розряди і додаючи до нього 16 - бітовий переміщуваний адресу (молодше слово). 32 бітовий покажчик заповнений 16 - річної числом 04854000Н, яке зачеплений фізичну адресу 08В50Н (сегмент 04В5Н, зрушений на 4 розряду вліво), що дає 4В50Н, плюс переміщуваний адресу (4000Н).

Режими адресації.

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

Реєстрові операнди.

Команди, що містять тільки реєстрові операнди, є найбільш компактними і виконуються швидше за всіх інших типів команд. Це відбувається внаслідок того, що всі операції з реєстровими операндами реалізуються в ІУ ЦП без звернення до пам'яті ЕОМ. Регістри загального призначення можуть бути джерелами операндів, їх приймачами або тими і іншими одночасно. Сегментні регістри можуть використовуватися тільки або як джерела, або як приймачі операндів. Наприклад, машинна команда 20D0 (AND AL, DL) виконує операцію логічного множення AND вмісту регістрів AL і DL і поміщає результати в регістр AL. Регістр DL є джерелом операнда, а регістр AL - приймачем. Ця команда містить тільки два байта і виконується ЦП за 3 такту.

Безпосередні операнди.

Безпосередні операнди - це постійні дані, які визначаються як частина машинної команди. Дані можуть бути 8 - або 16 - бітовими. Безпосередні операнди можуть бути обрані досить швидко, так як ЦП може отримати їх прямо з черги команд без звернення до пам'яті ЕОМ. Безпосередні операнди можуть бути задані тільки як так звані операнди - джерела. Машинна команда більш компактна, якщо приймач операнда - акумулятор (регістр AL або AX).

Наприклад, машинна команда 3С02 (СНР AL, 02) порівнює вміст регістра AL з шістнадцятковим числом 02 і встановлює певні прапори відповідно до результату порівняння. Безпосереднім операндом в цій команді є шестнадцатеричная константа 02. Ця команда займає лише два байта в пам'яті і може бути повністю виконана ЦП за 4 такту.

Виконавчий адреса EA.

Переміщуваний адреса всередині сегмента, який ЦП обчислює для операнда в пам'яті, називається виконавчим адресою ЕА операнда. Так як сегмент пам'яті містить до65536 однобайтових осередків, переміщуваний адреса може бути представлений 16-ти розрядних двійковим числом без знака, що забезпечує можливість доступу до кожного байту сегмента. У тих випадках, коли для визначення операнда в пам'яті в коді машинної команди потрібні два байта, група бітів другого байта команди повідомляє ЦП, як обчислюється 16-ти бітову адресу необхідних операндів.

     байт  слово            
 Reg =  AL  AX  Rm =  BX + SI  BX + SI + зміщення  AL  AX
   CL  CX    BX + DI  BX + DI + зміщення  СL  CX
   DL  DX    BP + SI  BP + SI + зміщення  DL  DX
   BL  BX    BP + 05  BP + DI + зміщення  BL  BX
   AH  SP    SI  SI + зміщення  AH  SP
   CH  BP    DI  D + зміщення  СH  BP
   DH  SS    Direct  BP + зміщення  DH  SI
   BH  DS    BX  BX + зміщення  BH  DI

Поле Mod використовується для того, щоб розрізнити, чи відповідають операнди команд регістрів ЦП або комірок пам'яті. Величина XX має чотири можливих двійкових значення: 00, 01, 10, 11. Значеніе11 в поле Mod вказує на те, що операндами машинних команд є реєстрові операнди. Двійкові значення 00, 01, і 10 задають типи адресами відповідно з нульовим, одно- або двобайтовим зміщенням. Зсув може бути 8-ми бітових числом зі знаком або 16-ти бітовим без знака, яке включається в машинну команду, як її частина і використовується при обчисленні виконавчого адреси.

Позначення YYY відповідає трьом бітам, що створює поле Reg і використовуваним для вказівки регістра, що містить операнд. Поле Reg ідентифікує 8-ми бітовий регістр при байтових операціях і 16-ти бітовий регістр при роботі зі словами. У деяких командах ці біти використовуються також для ідентифікації групи, до якої відноситься машинна команда (наприклад команда AND в групі логічних команд).

Три біта ZZZ формують поле Rm. Разом з полем Mod воно використовується для ідентифікації певного типу адресації. У команді допустима будь-яка комбінація в полях Mod і Rm, що забезпечує різноманіття регістрів адресації в МП.

Пряма адресація.

Найпростішим типом адресації є проста; Вона не використовує не яких регістрів. Виконавчий адреса ЕА береться безпосередньо з 16-ти бітового поля зміщення машинної команди. Цей прямий адресу однозначно визначає байт або слова пам'яті, розташовані всередині сегмента.

Пряма адресація зазвичай використовується для роботи з простими змінними або константами. У МП має дотримуватися умова, згідно з яким прямий адреса не виходить за межі сегмента даних. Оскільки в програмах прямий адресу може визначатися щодо будь-якого з чотирьох доступних сегментів, для його модифікації можливе застосування префіксних команд. При використанні прямої адресації в поле Mod міститься число 00, а в поле Rm- число 110.

Нехай, наприклад, в програмі, написаній на мові асемблера, регістр сегмента даних DS містить 04В5H, а байт 1400H поточного сегмента даних - символічне ім'я LOCI. Машинна команда C606001402 (MOV LOC1.02) наказує заповнити по переміщуваного адресою 1400H сегмента даних шістнадцяткове число 02. Після змішування команди містить число 1400H і інтерпретується як виконавчий адресу ЕА. Дійсний фізичний 20-ти бітову адресу, який визначається YC, в цьому випадку відповідає 05F50H (4B50H + 1400H).

Для прямої адресації використовується два спеціальних виду адресації: відносну і абсолютну.

При відносній адресації поле зміщення представляється 8-ми бітових числом зі знаком. Виконавчий адреса ЕА при цьому визначається в результаті складання вмісту поля зсуву та регістра покажчика команду IP (рис. 9, В).

Відносну адресацію використовують для команд умовних переходів, таких, як JE (перехід по рівності), JO (перехід по переповнення). При використанні відносної адресації байт адресації (Mod / Reg / Rm) не потрібно.

При абсолютній адресації частина команд є 32 бітовий покажчик, який визначає фізичну адресу в пам'яті МП. Молодше слово покажчика розглядається при цьому як переміщуваний адреса сегмента, базовою адресою якого є старше слово покажчика (рис 9, с). При абсолютній адресації байт адресації (Mod / Reg / Rm) також не потрібно.

непряма адресація

При такій адресації в якості виконавчого адреси EA виступає вміст базового або індексних регістрів (BX, SI або DI).


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

При непрямої адресації існує один виняток: для команди JMP (перехід) і CALL (виклик процедур) В якості виконавця може виступати вміст будь-якого з 16-бітових регістрів загального призначення (AX, BX, CX, DX, SJ, DJ, BP, SP) /

Нехай, наприклад, в програмі на мові асемблера регістр DS містить число 14С5H. Якщо вмістом регістра SJ є число 28FFH, команда CG0410 (MOV [SI], 10H) заповнюємо шестнадцатеричное чісло10 в байті 28FFH сегмента даних. У цьому випадку вміст регістра SJ є виконавчим адресою. Дійсний фізичний 20-бітову адресу пам'яті, відповідний переміщуваного адресою 28FFH, при цьому дорівнює 1754FH (14C50H + 28FFH).

Непряма адресація зі зміщенням.

При такій адресації використовується адреса ЕА визначається як сума величини зсуву і вмісту одного з регістрів - базового або індексного (BX, BP, SJ, DJ) (рис.11).


Величина зміщення може бути 8-бітовим числом без знака. При використанні регістрів BX, SJ або DJ за виконавчу адресу приймається переміщуваний адреса поточного сегмента даних, базовий адреса якого визначається регістром сегмента даних DS. При використанні регістра BP за виконавчу адресу приймається переміщуваний адреса поточного стекового сегмента, базовий адреса якого міститься в регістрі сегмента стека SS. Оскільки в прикладних програмах можуть бути використані префіксние команди, існує можливість перепривласнення виконавчих адрес щодо інших сегментів пам'яті.

При використанні адресації денного типу поле Mod містить двійкове число 01 і 10 в залежності від того, чи є зміщення 8-ми 16-бітових числом. Поле Rm представляється двійковим числом 100, 101, 110 або 111 в залежності від того, який використовується регістр SJ, DJ, BP або BX відповідно.

Розглянемо приклад, в якому регістр сегмента містить код 04В5Н. Якщо регістр ВР містить число FF10Н, машинна команда С6870245 (MOV [BP + 02], 45H) запам'ятовує шістнадцяткове число 45 в байті FF12Н стекового сегмента. Величиною зміщення є 8-бітове число зі значенням (02), що займає в команді третій байт. Виконавчий адреса ЕА обчислюється в результаті складання величини зміщення з вмістом регістра ВР (FF10Н + 02Н). Це відповідає фізичній адресою 14А62Н (4В50Н + FF12Н) пам'яті, який визначається УС. Оскільки при використанні регістра ВР описана адресація забезпечує доступ до стекового сегменту, це дуже зручно для роботи з конструкціями даних, що використовують стек.

Базово-індексна адресація.

При такій адресації виконавчу адресу визначається в результаті складання вмісту базового регістра (ВХ або ВР) та індексного регістра (SJілі DJ).

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

При базово-індексної адресації поле Mod представлено числом 00. Поле Rm- двійковим числом 000, 001, 010 або 011 відповідно використовуваної адресації [BX + SJ], [BX + DJ], [BP + SJ] або [BP + DJ].

Нехай регістр сегмента даних містить код 04В5Н. Якщо регістри ВХ і SJ містять коди 1000Н і 1500Н відповідно, то машинна команда С60015 (MOV [BX + SJ], 15Н) запам'ятає шістнадцяткове число 15 в байті пам'яті, які мають адресу 2500Н в сегменті даних. Виконавчий адреса обчислюється підсумовуванням вмісту регістрів BX і SJ (1000Н + 1500Н). Ця електронна адреса відповідає дійсному фізичному адресою пам'яті 07050н (4В50Н + 2500Н), що встановлюється УС з шиною.

Базово-індексна адресація зі зміщенням.

При такій адресації виконавчу адресу визначається складанням вмісту базового регістра (ВХ або ВР), індексного регістра (SJілі DJ) і величини зміщення.


Як зазначалося вище, величина зсуву є частиною команди і може бути 8-бітовим числом зі знаком або 16-бітових числом без знака. За виконавчу адресу приймається переміщуваний адреса поточного сегмента даних або стекового сегмента в залежності від того, який з регістрів використовується - ВХ або ВР відповідно. Прикладні програми можуть містити префіксние команди, завдяки яким можна перепрісвоіть виконавчі адреси щодо інших сегментів пам'яті.

При базово-індексної адресації зі зміщенням поле Mob є двійкове число 01 або 10 в залежності від того, чи визначається зміщення 8-ми або 16-бітових числами. Поле Rm представляється точно так же, як і в разі базово-індексної адресації.

Розглянемо приклад, в якому регістр сегмента стека містить число 04С5Н. Якщо регістр ВР або SJ містить відповідно FF00Н і 0010Н, по машинній команді С642200АВ (Mov [BP + SJ + 20Н], 0BH) шістнадцяткове число 0В буде записано в осередок FF30Н стекового сегмента. Зміщенням в цьому випадку є 8-бітове число зі знаком (шістнадцяткове число 20Н). Виконавчий адреса дорівнює сумі величини зсуву і вмісту регістрів ВР і SJ (FF00H + 0010H + 20H) і відповідає дійсному фізичному адресою пам'яті 14В80н (4С50Н + FF00Н + 001Н + 20Н), що визначається УС з шиною.

Адресації рядків даних.

Строкові команди такі, як MOVS (переслати рядок), CMPS (порівняти рядок), LOPS (завантажити рядок), CTOS (записати рядок) і SCAS (скопіювати рядок), не використовують жоден з розглянутих вище типів адресації для вибірки своїх операндів. Вміст індексних регістрів (SJ і / або DJ) використовується для безпосередньої вказівки необхідного ділянки пам'яті. Регістр SJ завжди використовується як покажчик першого байта або слова рядка-джерела.


Регістр DJ використовується як покажчик першого байта або слова рядка-приймача. Команда LODS пропонує використання регістра SJ в якості покажчика джерела. Команди STOS і SCAS використовують регістр DJ як покажчик приймача. Команди MOVS і СMPS використовують обидва регістра SJ і DJ. Переміщуваний адреса, що знаходиться в регістрі DJ, завжди належить до поточного додаткового сегменту. Для команд із строковими даними можуть бути визначені і префіксние команди, які дозволяють перепрісвоіть сегмент даних (для команд LODS, MOVS і CMPS) або додатковий сегмент (для команди SCAS) іншого сегменту, розташованому в будь-якій частині пам'яті. При використанні строкової команди збільшення або зменшення вмісту регістрів SJ або DJ визначається станом (нульове або одиничне) прапора напрямки. Залежно від того, з чим працює команда з байтами або зі словами, вміст індексних регістрів збільшується / зменшується відповідно на 1 або 2.

Адресація порту вводу-виводу.

 Цей тип адресації забезпечує доступ до пристроїв введення-виведення (в / в), приєднаним в / в області пам'яті МП. Область в / в МП I 8088 на додаток до мегабайтовий пам'яті містить ще 64 КБ.

Ця область в / в не є сегментіруемом і може виконуватися як окремо, так і разом з усією пам'яттю МП. В останньому випадку зменшується мегабайтовий пам'ять на 64 КБ, але забезпечується додаткова гнучкість при програмуванні, так як всі розглянуті раніше типи адресації можуть забезпечити доступ до цієї області.

Кожен байт області в / в може бути призначений в якості адреси однозначно визначається порту в / в. Дані можуть передаватися між накопичувачем і будь-яким портом в / в, адресується всередині 64-кілобайтовий області в / в. Регістр AL використовується для передачі байта, а регістр АХ - для передачі слова. Для адресації порту в / в існують команди IN (ввести з порту) і OUT (вивести в порт). Якщо номер порту знаходиться в межах 0-255 (десяткових чисел), він може бути визначений частиною машинної команди; якщо ж номер порту перевищує 255, то для його зберігання використовують регістр DX.

Робота зі стековой пам'яттю.

Стек - це область пам'яті, спеціально виділена для тимчасового зберігання параметрів або програмних даних, необхідних для інформаційного зв'язку програм і процедур. Максимальна місткість стековой пам'яті становить 32К (32768) 16-бітових слів. Т. о. стек може повністю розміщуватися в одному сегменті пам'яті.

Оскільки існує тільки один регістр сегмента стека SS, який зберігає початковий (базовий) адреса стека, в кожен момент часу можна звертатися тільки до одного стеку. Покажчик стека SP використовується для зберігання адреси останнього члена послідовності (вершини стека), записаного в стек.

У більшості випадків програміст не повинен стежити за адресами дійсного розташування програмних даних в стек. Такі команди, як PUSH (записати дані в стек), РОР (вважати дані з стека), CALL (виклик процедури), RET (повернення з процедури) або IRET (вихід з переривання), автоматично змінюють вміст покажчика стека SP так, щоб відстежувати адреса вершини стека.

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

Команди PUSH (записати дані в стек) і РОР (вважати дані з стека) дозволяють організувати обмін даними між стеками і будь-яким з 16-бітових регістрів загального призначення або осередками пам'яті.

Процедури виклику і повернення, що використовують стек.

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

Виклик і повернення всередині сегмента. Якщо фізичну адресу комірки пам'яті, що містить команду CALL, і початкова осередок процедури лежать всередині сегмента, то для передачі управління процедурі використовується внутрисегментного команда CALL. Адреса повернення (адреса команди, наступної за командою CALL) завантажується в поточний стек (визначається покажчиком стека SP і регістром SS).

Останньою командою виконуваної перед виходом з процедури, повинна бути команда RET (шістнадцятковий машинний код - С3), за якою вміст вершини стека (що є адресою повернення) зчитується в покажчик команд IP. Це забезпечує передачу управління команді, наступній за командою CALL. У мовіасемблера процедура, виконана  внутрисегментного викликом, визначається як NEAR.

Міжсегментні виклики і повернення.

 Програма може передавати управління процедурі, що знаходиться в довільному місці пам'яті МП, використовуючи міжсегментного команду CALL. Виконуючи її, процесор автоматично здійснює такі операції (рис.17):

- Покажчик стека зменшується на 2. Вміст регістра CS, базовий адреса поточного командного сегмента, переноситься в клітинку - вершину стека;

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

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

- Слово з вершини стека (яка визначається покажчиком стека SP) зчитується в покажчик команд IP. Для визначення нової вершини стека вміст регістра SP збільшується на 2;

- Слово, що займає нову вершину стека, переписується назад регістр CS. Вміст регістра SP знову зростає на 2.

- Таким чином, управління передається команді, наступної за командою CALL.

Вкладені процедури виклику і повернення.

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

Використання стека для передачі змінної.

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


Переривання роботи мікропроцесора.

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

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

ЦП може ігнорувати вимогу замаскованого переривання і продовжувати виконувати поточну програму. Це відбувається тоді, коли прапор дозволу переривання IF регістра прапорів містить 0 (переривання неможливо) і маскуються переривання повинні чекати обслуговування ЦП-м. ЦП може або взагалі не обробити маскируемое переривання, або обробити його через якийсь час (після того як обробить поточну програму). В цьому випадку прапор дозволу переривання IF регістра прапорів стане 1.

Якщо обробляється не маскируемое переривання, то ЦП повинен негайно призупинити виконання поточної програми і відреагувати на надійшов сигнал переривання, не рахуючись з положенням прапора дозволу переривання. Немасковані переривання мають в ЕОМ найвищий пріоритет і повинні обслуговуватися МП негайно. При використанні ЕОМ в монопольному режимі немаскіруемимі переривань є фактично "катастрофи", такі, як помилка пам'яті або збій харчування. При колективному або мультипрограммном режимі користування МК-ми немаскіруемимі переривань можуть бути сигнали системного часу на припинення роботи (наприклад, для виконання іншої програми) або сигнал припинення виконання програми, яка порушила кордони, відведеної їй пам'яті (програмні помилки, що призводять до її неправильного виконання) .

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

Кожному переривання відповідає код, за яким його розрізняє МП. В системі може бути до 256 типів переривань. Переривання можуть генеруватися вимогами пристроїв введення-виведення, які не належать до ЦП. Такого типу переривання можуть бути як немасковані, так і маскуються. Переривання можуть бути внутрішніми, що виникають в прикладних програмах при певних умовах, таких як виконання команди INTO (переривання за переповненням), коли прапор переповнення OF дорівнює 1.

ЦП автоматично привласнює поточну роботу в наступних випадках:

  1. при розподілі на 0 (переривання через помилки ділення, тип 0);
  2. при заповненні команди, коли прапор пастки TF знаходиться в стані 1 (покроковий останов, переривання 1);
  3. при виконанні команди СС (16 -й код) (переривання в заданій точці програми).

зовнішні переривання

В систему, засновану на МП I8088, може входити багато з'єднаних з ним BY: принтер, термінал, ЗУ на гнучких дисках, клавіатура та ін. Ряд з них вимагає «уваги» з боку МП лише на нетривалий термін; решту часу вони можуть функціонувати без допомоги ЦП.

Розглянемо клавіатуру. Хороша друкарка вводить до 400 символів в хвилину. Це означає, що новий символ може надходити від клавіатури в ЕОМ кожні 150 мс, а МП повинен кожні 150 мс зчитувати і запам'ятовувати символ, введений з клавіатури.

Сам процес зчитування символу і запам'ятовування його в пам'ять займає 10 мкс. У цьому прикладі переваги від використання переривань очевидні. Кожен раз, коли натискається клавіша, пристрій видає в ЦП вимога на переривання. Щоб не виконував МП, він постанавливает свою роботу, і передає управління процедурі переривань, яка обслуговує клавішний пристрій, яка містить команди, необхідні для оцінювання та занесення символу в комп'ютерну пам'ять.

Коли ця процедура завершується, ЦП продовжує свою роботу з того місця програми, де його застало переривання. Завдяки механізму переривання, процесор витрачає менше 10 мкс на зчитування кожного символу, що вводиться з клавіатури. А протягом часу, що залишився від 150 мс інтервалу між двома символами, що вводяться з клавіатури, він може виконувати інші дії.

У МП є три лінії переривань, RESET, NMI і INTR, за якими ВУ можуть передавати свої запити на обслуговування з боку ЦП.

запуск ЦП

У відповідь на запит в лінії RESET ЦП виконуємо наступні дії:

- Встановлюємо прапор IF в нульовий стан. Це призводить до неможливості виконання маскуються і покрокових переривань;

- Обнуляє регістри сегментів DS, ES, SS;

- Обнуляє покажчик команд IP;

- Засилає шістнадцяткове число FFFF в регістр сегмента команд.

ЦП починає роботу зі звернення до комірки пам'яті з адресою FFFFО. Цей осередок містить команду IMP, яка передає управління процедурі ініціалізації, яка запускає МК.

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

У ПК сімейства I 8088 існує 256 векторів переривань - по одному вектору на кожен тип переривання.

 Таблиця векторів переривань ПК фірми IBM.

Таблиця векторів переривань займає +1024 молодших байта пам'яті - осередки з фізичними адресами від 0 до 03FFH - і мають 256 входів у відповідності до кількості векторів.

Кожен вхід таблиці є покажчиком подвійного слова, що містить початкову адресу процедури, яка забезпечує обслуговування вимоги на переривання даного типу. Старше 16-бітове слово кожного входу містить базову адресу сегмента, в якому знаходиться процедура. Молодше 16-бітове слово кожного входу містить переміщуваний адреса процедури обслуговування всередині сегмента. Так як кожен вхід таблиці займає 4 байта, перший осередок входу для переривання даного типу може бути визначена простим множенням коду типу переривання на чотири.

масковані переривання. Це зовнішні вимоги, що надходять в МП по лінії INTR. За допомогою маскуються переривань можна засінхронізіровать з ЦП найбільше число bу. При активізації лінії INTER МП здійснює різні дії, що залежать від стану прапора переривань. Реалізована в цей момент машинна команда завжди виконується до кінця, і тільки після цього починається обробка запиту на переривання.

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

1. генерується сигнал переривання зовнішнього переривання. Цей сигнал повідомляє ВУ про те, що його вимога визнано;

2. зчитується код переривання, що надійшов на шину з ВУ;

3. вміст регістрів прапорів записується в комірку пам'яті, адреса якої зберігається в поточній в поточній вершині стека, яка визначається регістром SS і SP;

4. обнуляється прапор переривань, що запобігає можливість виконання яке надходить замаскованого переривання;

5. обнуляється прапор пастки TF, що унеможливлює покроковий режим;

6. У покажчик команд IP засилає 16-бітове слово, що знаходиться по фізичній адресою (TYPE * 4) і (TYPE * 4) +1, де TYPE - код типу переривання;

7. в регістр сегмента команд CS засилається 16-бітове слово, що знаходиться в осередках пам'яті з фізичною адресою (TYPE * 4) +2 і (TYPE * 4) +3.

Після виконання операції 6) і 7) управління передається процедурі обслуговування переривання, що містить машинні команди, які підходять для задоволення вимог замаскованого переривання. Однією з таких команд, що містяться в процедурі обслуговування, є команда STI (встановити переривання), яка встановлює прапор переривань в 1-е стан і тим самим робить можливим виконання нових вимог, що надходять на INTER.

Немасковані переривання. Це зовнішні переривання, що надходять в МП по лінії NMI. Зазвичай ними є переривання, які сигналізують ЦП про зовнішні події особливої ??важливості, таких як відключення живлення, збій пам'яті і т. Д. Немаскіруемое переривання визнаються МП завжди незалежно від стану прапора переривань. Таким чином, немасковані переривання мають більш високий пріоритет у порівнянні з маскіруемимі. Їм присвоєно тип 2. МП у відповідь на вимогу немаскируемого переривання виконує наступну послідовність операцій:

  1. вміст регістра прапорів записується в комірку пам'яті (адреса який зберігається в поточній вершині стека), яка визначається регістрами SS і SP;
  2. обнуляється прапор переривань IF, що забороняє виконання всіх маскуються переривань;
  3. обнуляється прапор пастки TF, що унеможливлює покроковий режим;
  4. в стек завантажується вміст регістра сегмента команд CS;
  5. в стек завантажується вміст покажчика команд IP;
  6. 16-бітове слово з осередку з фізичною адресою 00008Н записується в регістр IP;
  7. 16-бітове слово з осередку з фізичною адресою 0000АН записується в регістр CS.

Після виконання операцій 6 та 7 управління передається процедурі обслуговування переривань, змістів команди, які необхідно виконати для задоволення вимоги, що надійшов по лінії NMI.

Внутрішні переривання.

Ці переривання обумовлюються прикладними програмами, що використовують команду INT. Вони виникають також при деяких умовах за сигналами в самому МП, наприклад, при помилках поділу, переповненні і т. П. Внутрішні переривання аналогічні маскируемое, вимоги на які надходять по лінії INTR. Відмінність полягає лише в тому, що МП реагує на запити внутрішніх переривань незалежно від стану прапора переривань IF.

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

У ПК IBM програмні переривання використовуються для реалізації можливостей, що надаються системним програмним забезпеченням BIOS. Так, наприклад, команда INT 16Н може бути використана для читання символу з буфера клавішного пульта ЕОМ.

Переривання через помилки ділення.

МП автоматично генерує переривання типу 0 негайно слідом за операціями DIV (ділення) або IDIV (цілочисельне ділення) при виникненні наступних умов:

  1. ділення на 0;
  2. якщо результат займає більше 8 або 16 біт при розподілі відповідно 8- і 16-розрядних чисел.

Адреса процедури обслуговування переривання типу 0 повинен визначатися осередками пам'яті з фізичними адресами з 00000Н по 00003Н.

Переривання в точці.

Переривання в заданій точці (місці) програми використовується в основному для налагодження програми при її написанні або тестуванні. МП генерує переривання типу негайно по завершенні виконання команди INT 3 (CCH). Шістнадцятковий машинний код СС використовується як команда переривання в точці. Його можна вставити в будь-яке місце програми, де необхідно перервати його нормальне виконання, і за допомогою процедури, яка обслуговує це переривання, відобразити критичну інформацію, таку, як вміст регістрів ЦП і осередків пам'яті. Оскільки мінімальна смислова частина команди на мові МП I8088 займає один байт, машинний код ССН може замінити будь-яку команду, позначаючи тим самим точку програми, в якій необхідно здійснити переривання.

Покрокове переривання. Якщо прапор пастки регістра прапорів знаходиться в першому стані, то відразу після виконання поточної команди здійснюється покрокове переривання. Цьому переривання присвоєно тип 1, і служить воно для покомандного виконання програми. Переривання типу 1 відбувається автоматично після виконання кожної машинної команди. При генерації переривання МП автоматично завантажує в стек вміст регістра прапорів (С 1-м прапором пастки), після чого обнуляє прапори пастки і переривань. Таким чином, ЦП не переходить в покроковий режим, поки виконується сама процедура обслуговування переривання, яка реалізує різні діагностичні операції, такі, як відображення вмісту регістра ЦП або певних осередків пам'яті і т. П. Останньою машинною командою в процедурі обслуговування повинна бути команда IRET ( вихід з переривання). Цим відновлюється колишнє 1-е стан прапора пастки, і по завершенні наступної команди знову генерується переривання типу 1.

У МП I8088 немає команд, які безпосередньо змінювали б стан прапора пастки. Але вміст регістра прапорів можна завантажити в стек, і стан прапора пастки може бути змінено за допомогою модифікації способу прапора, що знаходиться в стеку. Таким чином, для ініціації покрокового режиму можуть бути використані команди PUSHF (записати прапор в стек) і POPF (вважати прапор з стека).

Склад персонального комп'ютера

Пристрої в складі персонального комп'ютера IBM-PC

Системний блок, монітор, клавіатура і периферійні пристрої

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

4.2 Системні блоки - корпусу персональних комп'ютерів

Сістемние блоки IBM РС виконуються в різних геометричних варіантах. Так за формою, розташуванню внутрішніх вузлів, робочого положення і розмірами, зазвичай, виділяють корпусу з вертикальним і горизонтальним просторовим розташуванням елементів.

Корпуси з горизонтальним розташуванням ділять на типи: нормальний (normal), малий (baby) і понад малий (slim)

 Корпуси з вертикальним розташуванням називають типом вежа (tower) і ділять на види: 1 - малий (mini tower), 2 - середній (midi tower) і 3 - великий (big tower). Як правило, корпусу такого виконання відрізняються один від одного видом передньої панелі і загальною корисною висотою, в той час як, їх ширина, довжина і глибина розрізняються незначно. На передній панелі системного блоку розташовуються деякі елементи управління, а саме: тумблер-вимикач напруги харчування мережі (Power), кнопка скидання - перезавантаження (Reset), індикатор звернення до жорсткого диска, передні панелі дискових і стрічкових пристроїв - накопичувачів інформації зі змінними носіями і інші комплектуючі елементи і частини пристроїв, що вимагають простого і частого доступу при використанні. Шина USB отримала "друге народження" з появою Flash пам'яті великого обсягу і багатьох інших пристроїв користувача включаючи цифрові фотоапарати і камери. Для зручного і оперативного підключення їх, на передню панель деякі виробники корпусів винесли роз'єми портів USB.

Усередині системного блоку розміщуються основні внутрішні компоненти персонального комп'ютера: материнська плата - 3, плати адаптерів, інтерфейсів, контролерів пристроїв, карт, розширень і їх роз'єми - 10, дискові накопичувачі - 8 і 13, блок живлення - 6, з'єднувальні шлейфи, шнури і кабелі - 4, 7, вентилятор системи охолодження внутрішніх елементів - 1, вентилятор і радіатор системи охолодження центрального процесора - 2, слоти системної шини - 9, отвір роз'єму клавіатури - 11 і вхідний і вихідний роз'єми підключення живлення - 12 і т. д .. Так як багато компонентів можуть бути інтегровані на материнській платі, то не всі вони можуть бути представлені як окремі комплектуючі елементи. Задня панель, як правило, містить панелі плат розширень із роз'ємами, заглушки роз'ємів, вентиляційний отвір вентилятора блоку живлення - 5 і ін.

Корпус може бути виконаний з металу, пластику і комбінації того й іншого. Як правило, всі комплектуючі елементи, розташовані всередині системного блоку, кріпляться зсередини до металевій рамі - 3, що складається з днища - 8, задній панелі - 3 і передньої панелі - 7, на яку потім надівається кожух - 2. У передній панелі є одне або кілька вікон - 1, призначених для виведення на лицьову - передню частину керуючих панелей пристроїв, що вимагають постійного доступу під час експлуатації (магнітні, оптичні, магнітооптичні дисководи, стрічкові накопичувачі та ін.). Задня панель, також, має отвори і вікна для виведення на задню частину системи охолодження блоку живлення - 4, роз'ємів інтерфейсів периферійних пристроїв - 5, заглушок плат інтер  фейсних карт - 6.

4.3 Блок живлення

 Блок живлення забезпечує необхідними напруженнями все системи апаратури персонального комп'ютера. Вони розташовуються усередині системного блоку - Корпусу комп'ютера і з'єднуються з материнською платою та іншими пристроями за допомогою шлейфів харчування. Основні характеристики блоків живлення комп'ютерів - це напруги, їх допустимі навантаження і загальна потужність. Стандартні блоки живлення і апаратура персональних комп'ютерів IBM мають напруги ± 12 і ± 5 вольт. Загальна потужність, як правило, становить до 300Ватт. При включенні комп'ютера схеми блоку живлення перевіряють параметри напружень, і, якщо вони в нормі, видають спеціальний сигнал наявності харчування - PWRGOOD, Поява якого призводить до виникнення сигналу скидання - RESET центрального процесора. Блоки живлення оснащені системою захисту від перевантажень і відсутності навантаження, яка відключає пристрій. При спрацьовуванні систем захисту необхідно відключити комп'ютер, усунути причину перевантаження або недовантаження і включити його. Для охолодження, блок живлення має вбудований вентилятор.

Принципова відмінність між AT і ATX цими форм-факторами з точки зору конструкції блоку живлення полягає в тому, що БП в AT не підтримує програмно стандарт Розширеного Управління Харчуванням, В першу чергу управління відключенням харчування. Відключити його можна, лише припинивши подачу напруга на його вхід. У БП формату ATX є можливість програмного відключення сигналом управління з материнської плати. Слід зауважити, що на материнську плату при цьому подається певний «чергове» напруга, припинити подачу якого можна тільки відключивши БП тумблером на ньому, або вийнявши шнур живлення з розетки.

Якщо всередині корпусу розглянути кріплення під материнську плату, то розрізнити крім усього форм-фактори можна по її орієнтації: прямокутник в AT розміщений довгою стороною вниз. Плата ATX зазвичай має великі розміри і витягнута по вертикалі - це «стоїть» прямокутник.

Третя відмінність полягає в тому, що роз'єми більшості портів введення-виведення материнської плати ATX (COM, LPT, USB, а при наявності інтегрованої аудіо карти - і роз'єми для неї) упаяно в ону, на корпусі є спеціальний виріз для них. До того ж, спочатку розраховувалося, що вентилятор в блоці живлення буде охолоджувати процесор, але ця умова на даний момент в більшості випадків не виконується в «самозбірних» системах і практикується тільки «серйозними» брендами.

Чи доцільно полагодити згорілий БП?

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

4.4 Материнська плата - основа архітектурного виконання PC

Різні материнські плати

Материнські або системні плати є складні електронні пристрої - багатошарові друковані монтажні плати з розташованими на них:

1. Наборами великих однокристальних електронних мікросхем - чіпів (центральний процесор, Іншими процесорами, інтегрованими контролерами пристроїв і їх інтерфейсами)

2. Мікросхемами оперативної пам'яті і роз'ємами їх плат

3. мікросхеми електронної логіки

4. Простими радіоелементами (транзистори, конденсатори, опору і ін.)

5. Роз'ємами системної шини (Стандартів ISA, EISA, VESA, PCI і ін.)

6. слот для підключення плат розширень (відеокарт або відеоадаптерів, звукових карт, мережевих карт, інтерфейсів периферійних пристроїв IDE, EIDE, SCSI, AGP ...)

7. Роз'ємами портів введення / виводу (COM, LPT)

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

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

Тип і характеристики різних елементів і пристроїв материнської плати, як правило, визначається типом і архітектурою центрального процесора (материнські плати на базі процесорів фірм Intel, AMD, Cyrix та ін. - 8086/8088/80188, 286, 386, 486/586/686 , Pentium, Pentium 2-4). Як правило, саме центральний процесор або процесори, їх сімейство, тип, архітектура і виконання визначають той чи інший варіант архітектурного виконання материнської плати. За кількістю процесорів, що складають центральний процесор, розрізняють однопроцесорні і багатопроцесорні (мультипроцесорні) материнські плати. Більшість персональних комп'ютерів є однопроцесорними системами і комплектуються однопроцесорними материнськими платами. На вигляд і комплектацію материнських плат впливають, також, необхідні експлуатаційні характеристики і майбутнє призначення комп'ютера. Так, розміри материнської плати портативних комп'ютерів "Записників" будуть значно менше стандартних, а їх комплектація - ширше, за рахунок інтегрування додаткових елементів, наприклад, відеокарт і інтерфейсів дискових накопичувачів, а материнських плат - призначених для комплектації серверів розподілених комп'ютерних мереж і баз даних - будуть великого розміру з мінімальним числом інтегрованих пристроїв.

Розглянемо зовнішній вигляд і конфігурацію материнської плати на базі процесора Pentium з інтегрованими периферійними пристроями:

 1 - Гніздо типу Intel ZIP Socket 7 для підключення центрального процесора типу Pentium, Cyrix 6x86 або AMD 5k86. 2 - Чіп Intel 82430HX Pentium PCI Set. 3 - Роз'єм - слот системної шини стандарту PCI Local Bus. 4 - Роз'єм - слот системної шини стандарту ISA. 5 - Чіпи кеш-пам'яті центрального процесора (256К Pipelined Burst Cache). 6 - Роз'єм - слот підключення 72-pin SIMM модулів - плат RAM пам'яті. 7 - Роз'єм інтерфейсу EIDE накопичувачів на жорстких дисках (HD). 8 - Роз'єм інтерфейсу SCSI типу Adaptec AIC 7S50 / 7880 або Ultra Wide SCSI (AHA-2940uw). 9 - Роз'єм інтерфейсу дисководів - накопичувачів на гнучких магнітних дисках (FD). 10 - Гніздо послідовного порту типу 16550 Fast UART або сумісного. 11 - Гніздо паралельного порту типу EPP / ECP. 12 - Чіп інтегрованого видеоконтроллера типу S3-Trio. 13 - Гніздо типу SVGA для підключення монітора. 14 - Чіпи відеопам'яті типу EDO DRAM. 15 - Гніздо модуля MPEG. 16 - Чіп інтегрованого звукового контролера типу Creative. 17 - Гніздо звукових динамічних колонок. 18 - Гніздо звукового синтезатора. 19 - Чіп пам'яті ROM, що містить базову систему введення / виведення (Basic Input / Output System - BIOS). 20 - Чіп контролера портів введення / виводу. 21 - Гніздо типу PS / 2 для підключення маніпулятора "миша" і клавіатури. 22 - Роз'єми типів AT і ATX для підключення напруги живлення. 23 - Гніздо портів типу Universal Serial Bus (USB). 24 - Гніздо шини LPB MPEG і TV-тюнера.

4.3.1 Системна шина

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

В даний час, найчастіше, в персональних комп'ютерах використовуються системні шини стандартів ISA, EISA, VESA, VLB и PSI. На малюнку зображено чотири роз'єми шини PSI і три - ISA, Розташовані на універсальної материнської плати. Всі стандарти розрізняються як за кількістю й використанням сигналів, так і по протоколам їх обслуговування. Взаємодія пристроїв за допомогою системної шини контролюється апаратурою обслуговування шин і їх контролерами. Основа конструктивного виконання шини входить в архітектуру материнської плати, На якій розташовуються її провідники і роз'єми для підключення плат адаптерів пристроїв (відео ! VideoCards> about, аудіо ! SoundCards> about, інтерфейсів накопичувачів інформації, інтерфейсних портів введення / виводу, внутрішніх модемів і т. п.) і розширень базової конфігурації. Розрізняють 16-ти і 32-х розрядні, високопродуктивні (VESA, VLB и PSI з тактовою частотою понад 16 МГц) і низькопродуктивні (ISA и EISA з тактовою частотою 8 і 16 МГц) системні шини. Також, шини, розроблені за сучасними стандартами (VESA, VLB и PSI) Допускають підключення декількох однакових пристроїв, а шина PSI забезпечує самостійну конфігурацію периферійного обладнання - підтримку стандарту Plug and Play виключає ручну конфігурацію апаратних параметрів периферійного обладнання при його зміні або нарощуванні.

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

Особливості архітектури персональних комп'ютерів IBM диктують досить суперечливі принципи стратегії розвитку і розробки протоколів роботи з пристроями. Принципи сумісності стають протилежними принципам найвищої продуктивності. Однак, універсальні стандарти системних шин персональних комп'ютерів IBM дозволяють обслуговувати 8-ми, 16-ти і 32-х розрядні пристрої, виробляти виконання циклів регенерації, циклів прямого доступу до пам'яті, здійснювати роботу з 16-ти розрядних пристроєм як з 8-ми розрядним з використанням систем конвертації, підключати різні периферійні пристрої та ін .. Все системні шини персональних комп'ютерів IBM реалізовані за принципами відкритої архітектури, а технології виробництва інтегрованих контролерів і їх апаратних і програмних протоколів постійно удосконалюються.




 Архітектура і структура комп'ютера |  Архітектура системи команд. Класифікація процесорів (CISC і RISC) |  Вступ |  Енергозалежна і незалежна пам'ять |  Напівпровідникова пам'ять. |  SRAM і DRAM. |  Конструктивні особливості. |  SIPP (SIP) -модулем пам'яті. |  SIMM-модулі. |  Порівняння SIMM-модулів. |

загрузка...
© um.co.ua - учбові матеріали та реферати