Реєнтерабельним процедури - розділ Комп'ютери, Огляд комп'ютерних систем реєнтерабельним (повторно входимо) Процедура Є Вельми Корисною концепия.
Реєнтерабельним (повторно входимо) процедура є досить корисною концепцією, особливо успішно застосовується в багатокористувацьких і багато-Задачного системах. Реєнтерабельним називається процедура, послідовність команд якої можуть використовувати кілька різних пользовате-лями. Це властивість процедури має два основних аспекти: програмний код не повинен бути самомодіфіцірующіеся, а локальні дані кожного користування земельними діл-теля повинні зберігатися окремо один від одного. Виконання реєнтерабельним процедури може бути призупинено за допомогою переривання, а після повернення з нього - коректно продовжитися. У багатокористувацьких і багатозадачних системах реєнтерабельним дозволяє більш ефективно використовувати основну пам'ять: в ній зберігається тільки одна копія програмного коду процедури, навіть якщо до неї звертаються кілька різних додатків.
Таким чином, в реєнтерабельним процедурі повинна бути незмінна частина (команди, з яких складається процедура) і змінна частина (покажчик на зухвалу програму, а також локальна область пам'яті, в якій збе-нятся локальні змінні, використовувані даною програмою). При кожному запуску процедури, який називається її активацією, виповнюється код постійної частини, але при цьому должка бути створена окрема копія локальних змінних і параметрів. Змінну частину, пов'язану з кожної активацією, називають записом активації.
Реєнтерабельним процедури найзручніше реалізовувати з помощьюстека: при виклику процедури відповідний запис активації заноситься в стек. Та-ким чином, запис активації стає частиною стекового кадру, створюваного при виклику процедури.
Всі теми даного розділу:
Огляд комп'ютерних систем
1.1. Основні елементи 1.2. Регістри процесора 1.3. Виконання команд 1.4. Переривання 1.5. Ієрархія запам'ятовуючих пристроїв 1.6. Кеш 1.7. Техно
ОСНОВНІ ЕЛЕМЕНТИ
На макрорівні комп'ютер складається з процесора, пам'яті і пристроїв вво-да-виводу; при цьому кожен компонент представлений одним або декількома модулями. Щоб комп'ютер міг виконувати своє основне п
РЕГІСТРИ ПРОЦЕСОРА
У процесорі є набір регістрів, що представляють собою область па-мяти швидкого доступу »але набагато меншої ємності, ніж основна пам'ять. Регістри процесора виконують дві функції.
Регістри, доступні користувачеві
До доступним регістрів користувач може звертатися за допомогою команд машинної мови. До цих регістрів, як правило, мають доступ усі програм-ми - як додатки, так і системні. Зазвичай серед дост
Керуючі регістри і регістри стану
Для контролю над роботою процесора використовуються різні регістри. У більшості машин ці регістри в основному не доступні користувачеві. Неко-торие з них можуть бути доступні для машинних команд,
ВИКОНАННЯ КОМАНД
Програма, яку виконує процесор, складається з набору зберігаються в пам'яті команд. У найпростішому вигляді обробка команд проходить в дві стадії: процесор зчитує (вибирає) з пам'яті, а потім зап
Функції вводу-виводу
До сих пір ми розглядали операції комп'ютера, керовані процес-сміттям, основна увага звертаючи на взаємодію процесора і пам'яті. Про роль компонентів введення-виведення було згадано лише вскол
Переривання і цикл команди
Завдяки перериванням під час виконання операцій введення-виведення процес-сор може бути зайнятий обробкою інших команд. Розглянемо хід процесу, поки-занний на рис. 1.5, б. Як і в попередньому з
множинні переривання
До сих пір нами розглядався випадок виникнення одного переривання. Уявімо собі ситуацію, коли може відбутися кілька переривань. На-приклад, програма отримує дані по комунікаційної
багатозадачність
Буває, що для ефективного використання процесора одних переривань недостатньо. Звернемося, наприклад, до рис. 1.9,6. Якщо час, який потрібен для виконання операцій введення-в
Ієрархія пристрою, що запам'ятовує
Конфігурація пам'яті комп'ютера в основному визначається трьома пара-метрами: обсяг, швидкодія, вартість. Питання про обсяг вирішити не так просто. Який великий не була б па-м'яти, все ра
обгрунтування
При виконанні кожного циклу команди процесор принаймні один раз звертається до пам'яті, щоб зробити вибірку команди. Часто це відбувається повторно, причому можливі випадки декількох повто
Принципи роботи кеша
Кеш призначений для того, щоб наблизити швидкість доступу до пам'яті до максимально можливої, і в той же час забезпечити великий обсяг пам'яті за ціною більш дешевих типів напівпровідникової пам'яті.
Внутрішній устрій кеша
У даній книзі внутрішній устрій кеша детально не розглядається. У цьому розділі коротко перераховані лише основні його елементи. Надалі читач зможе переконатися, що при вивченні пристро
Програмований введення-виведення
Коли процесору при виконанні програми зустрічається команда, пов'язана з введенням-висновком, він виконує її, передаючи відповідні команди контролеру введення-виведення. при программи
Прямий доступ до пам'яті
Хоча введення-виведення, керований перериваннями, більш ефективний, ніж про-стій програмований введення-виведення, він все ще займає багато процесорного часу для передачі даних між пам'яттю і контроллером
локалізація
Основою для підвищення продуктивності дворівневої пам'яті являє-ся принцип локалізації, про який йшла мова в розділі 1.5. Основний постулат полягає в тому, що послідовні звернення до пам'я
Функціонування дворівневої пам'яті
Принцип локалізації може бути використаний для розробки схеми двох-рівневої пам'яті. Пам'ять верхнього рівня (Ml) має меншу ємність, вона шви-реї, і кожен її біт дорожче в порівнянні з пам'яттю
продуктивність
Розглянемо деякі параметри, що характеризують механізм дворівневої Пам'яті. Спочатку розглянемо вартість, яка виражається в такий спосіб:
Реалізація стека
Стек - це упорядкований набір елементів, причому при зверненні до нього можна отримати доступ лише до одного з елементів. Цей елемент називається вершиною стека. Число елементів стека (його дли