You are on page 1of 4

ПРАКТИЧНА РОБОТА № 2

Тема: Технічне, інформаційне, програмне забезпечення комп’ютерних


систем
Мета роботи: Придбати практичні навики з використання технічного,
інформаційного, програмного забезпечення комп’ютерних систем (Сегмент
стека. Сегментний регістр SS. Зсув верхівки стека відносно початку сегмента
стека. Сегментний регістр SP. Навчитися обчислювати фізичну адреса
пам’яті поточної команди, що виконується мікропроцесором, та фізичну
адресу верхівки стека).

1. Методичні пояснення до виконання практичної роботи


Основні складові частини комп'ютерних систем управління:
 Датчики (температури, вологості, тиску, потоку, швидкості,
прискорення, вібрації, ваги, натягу, частоти, часу, освітленості, шуму,
обсягу, кількості теплоти, струму, рівня та ін.) - Первинні
перетворювачі фізичної величини в електричний сигнал.
 Вимірювальний перетворювач - забезпечує нормалізацію сигналу
датчика (приведення до стандартних діапазонів зміни, забезпечення
лінійності, компенсацію похибки, посилення і т.п.). Вимірювальні
перетворювачі можуть мати вбудований АЦП або ЦАП, а також
мікропроцесор для лінеаризації характеристик датчика і компенсації
похибок аналогової частини системи.
 Модулі аналогового вводу - пристрої, призначені для введення в
комп'ютер аналогових сигналів. Універсальний - сприймає сигнали
напруги в діапазонах ± 150 мВ, ± 500 мВ, ± 1 В, ± 5 В, ± 10 В і струму в
діапазоні ± 20 мА. Спеціалізований - наприклад, працює тільки з
термопарами і містить вбудовані у внутрішню пам'ять модуля таблиці
поправок для компенсації нелінійностей термопар і температури
холодного спаю.
 Модулі дискретного введення - не містять АЦП і дозволяють вводити
сигнали, які мають два рівня (наприклад, сигнали від кінцевих
вимикачів, датчиків відкривання дверей, пожежних датчиків і т. П.).
Рівні вхідних сигналів можуть змінюватися в діапазоні, як правило, 0 ...
24 В або 0 ... 220 В.
 Пристрої рахункового введення - мають дискретний вхід і дозволяють
вважати кількість або частоту проходження імпульсів. Їх
використовують, наприклад, для вимірювання швидкості обертання
валу електродвигуна або підрахунку продукції на конвеєрі.
 Комп'ютер (контролер) приймає сигнали датчиків, виконує записану в
нього програму і видає необхідну інформацію в пристрій виведення.
Комунікації між комп'ютером і пристроями введення-виведення
виконуються через послідовні інтерфейси, наприклад, USB, CAN, RS-
232, RS-485, RS-422, Ethernet або паралельний інтерфейс LPT.
 Замість комп'ютера або одночасно з ним часто використовують
програмований логічний контролер (ПЛК). Типовими відмінностями
ПЛК від комп'ютера є спеціальне конструктивне виконання (для
монтажу в стійку, панель, на стіну або в технологічне обладнання),
відсутність механічного жорсткого диска, дисплея і клавіатури.
Останнім часом намітилася тенденція стирання межі між комп'ютером
і контролером. З одного боку, контролери дозволяють підключити
монітор, миша і клавіатуру, з іншого боку, з'явилася велика кількість
промислових комп'ютерів, які мають спеціальне конструктивне
виконання та інші властивості, характерні для контролерів.
 Пристрої виведення (модулі виведення) дозволяють виводити
дискретні, частотні або аналогові сигнали. Дискретні сигнали
використовуються, наприклад, для включення електродвигунів,
електричних нагрівачів, для управління клапанами, насосами і іншими
виконавчими пристроями. Частотний сигнал використовується
зазвичай для управління середньою потужністю пристроїв з великою
інерційністю за допомогою широтно-імпульсної модуляції
Максимальний розмір пам'яті, досяжний процесором в реальному
режимі, складає 1 МБайт. Цей адресний простір оперативної пам’яті
розбитий на області з фіксованим розміром в 65536 Байт (64 КБайт). Ці
області називаються сегментами оперативної пам’яті. Для операцій із
сегментами пам'яті завжди використовуються 16-бітні сегментні регістри, в
яких зберігаються 16-бітні логічні адреси сегментів оперативної пам’яті – CS
(Code Segment – логічна адреса сегмента команд (коду програми), що
виконується в даний час ЕОМ), DS (Data Segment – логічна адреса сегмента
даних програми, що виконується в даний час ЕОМ), ES (Extended Segment –
логічна адреса розширеного сегмента), SS (Stack Segment – логічна адреса
сегмента стека програми, що виконується в даний час ЕОМ). Проте для
доступу к сегменту або байту оперативної пам’яті необхідно
використовувати фізичну адресу, що однозначно визначають комірку
пам’яті. Фізична адреса є конкретною адресою байта чи сегмента
оперативної пам’яті, якою оперує мікропроцесор. Для одержання фізичної
адреси сегмента в оперативній пам'яті необхідно 16-бітне значення із
відповідного сегментного регістра перетворити в 20-бітне, оскільки довжина
адресної шини мікропроцесора Intel 8086 (i8086) – 20 біт. Для цього роблять
зсув вліво на 4 біти двійкової логічної адреси, або, що те ж саме, множення
на 10h шістнадцятиричної логічної адреси чи на 16 десяткової логічної
адреси. Отримана адреса і буде 20-бітною фізичною адресою.

( )
10000 b
фізична адреса сегменту=логічна адреса із відповідного сегментного регістра∗ 10 h
16 d
З приведеного вище випливає, що останні 4 біти адреси завжди заповнені
нулями. Таким чином, кожен сегмент оперативної пам'яті вирівняний на
границю 16 байт. Це число одержало назву – параграф.
Стек (стековий сегмент, сегмент стеку) – це сховище даних, робота з
яким ведеться за наступним принципом: елемент, записаний до стеку
останнім, зчитується з нього першим. Цей принцип називається LIFO – Last
Input First Output. У ПК для такого сховища можна відвести будь-яку область
пам'яті, але до неї висуваються дві вимоги: її розмір не повинний
перевищувати 64 КБайт і її початкова адреса повинна бути кратною 16.
Іншими словами, ця область повинна бути сегментом оперативної пам'яті.
Логічна адреса початку сегмента стека зберігається в сегментному регістрі
SS:

В ПК прийнято заповнювати стек знизу нагору: перший елемент


записується в самий кінець області стека (в осередок області з найбільшою
адресою), наступний елемент записується "над" ним і т.д. При читанні ж зі
стека першим завжди зчитується самий верхній елемент.
Верхівкою стека називається покажчик на першу вільну комірку стека
після останньої заповненої, тобто верхівка стека – це адреса першої вільної
комірки стека після останньої заповненої.
Тому виходить, що низ стека фіксований (це останній осередок області
стека), а от верхівка стека увесь час зсувається. Для того щоб знати поточне
положення цієї верхівки, використовується ще один сегментний регістр – SP
(Stack Pointer – покажчик стека). Тому фізична адреса верхівки стека
задається парою сегментних регістрів SS:SP.
Елементи стека можуть мати будь-який розмір; це можуть бути байти,
слова, подвійні слова і т.д. Однак наявні в ПК команди запису до стека і
зчитування з нього працюють тільки зі словами. Тому звичайно вважають,
що елементи стека мають розмір слова, тобто 2 Байт.
Варто розрізняти терміни "сегмент стека" і "стек (вміст стека)": якщо
перший термін означає область пам'яті, яку потенційно можуть зайняти дані
стека, то другий термін позначає сукупність тих даних, що в поточний
момент зберігаються в стеці, тобто сукупність байт від адреси з SP до кінця
сегмента стека. Причому всі дані, розташовані "вище" адреси з SP,
вважаються не стосовними до стеку.
Для обчислення фізичної адреси верхівки стека необхідно скласти
фізичну адресу сегмента стека зі зсувом верхівки стека відносно початку
стекового сегмента. Таким чином, фізична адреса верхівки стека
обчислюється за формулою:

( )
10000 b
фізична адреса верхівки стека= логічна адреса із SS∗ 10 h + SP
16 d .
2. Виконання практичної роботи
1. Вивчити теоретичні відомості про роботу процесорів з
оперативною пам’яттю в реальному режимі.
2. Скласти конспект.
3. Підготувати до захисту звіт.

3. Контрольні запитання
1. Що таке сегмент?
2. Перерахуйте види сегментів та вкажіть їхні відмінності.
3. Де зберігаються логічні адреси сегментів оперативної пам’яті?
4. В чому полягає принцип сегментації оперативної пам’яті в
реальному режимі роботи процесора?
5. Що таке параграф?
6. Що таке стек?
7. Що таке верхівка стека?
8. В якому сегментному регістрі зберігається логічна адреса
сегмента стека?
9. В якому сегментному регістрі зберігається зсув верхівки стека
відносно початку сегмента стека?
10.Як обчислюється фізична адреса верхівки стека?

4. Зміст звіту
В звіт необхідно включити:
а) назву та мету виконання практичної роботи;
б) короткі теоретичні відомості;
в) алгоритм та вирішення поставленої задачі;
г) висновки по роботі.

You might also like