Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lekz._2.doc
Скачиваний:
3
Добавлен:
05.05.2019
Размер:
206.85 Кб
Скачать

Системне програмування, доц. І.І. Мітасов, 2010р. Лекція 2, 10 сторінок

Тема 1. Архітектура процесора і мова асемблера: Апаратне і програмне забезпечення соі

ЛЕКЦІЯ 2. Апаратно-програмні елементи СОІ

Питання лекції:

  • Пам’ять, сегментація пам'яті, зміщення в сегментах.

  • Операційна система, завантаження програм;

  • Стек;

  • Регістри процесора;

1. Пам'ять, сегментація пам'яті, зміщення в сегментах

Зазвичай мікрокомп'ютер має внутрішню пам'ять двох типів: перший тип – це постійна пам'ять (ПЗП) або ROM (read-only memory). ROM є спеціальною мікросхемою, з якої (як це випливає з назви) можливо лише читання. Оскільки дані в ROM спеціальним чином "прошиваються" вони не можуть бути модифіковані.

Основним призначенням ROM є підтримка процедур початкового завантаження: при включенні живлення комп'ютера ROM виконує різні перевірки і завантажує в оперативну пам'ять (RAM) дані з системної дискети (наприклад, DOS). Для цілей програмування найбільш важливим елементом ROM є BIOS (Basic Input/Output System) - базова система введення/виведення, яка буде розглянута пізніше. (Basic - тут звичайне англійське слово, а не мова програмування). ROM крім того підтримував інтерпретатор мови Бейсик і форми для графічних символів.

Пам'ять, з якою має справу програміст, є RAM (Random Access Memory) або ОЗП, тобто оперативна пам'ять, доступна як для читання, так і для запису. RAM можна розглядати як робочу область для тимчасового зберігання програм і даних на час виконання. Оскільки вміст RAM втрачається при відключенні живлення комп'ютера, необхідна зовнішня пам'ять для збереження програм і даних. Якщо встановлена дискета з операційною системою або є жорсткий диск типу вінчестер, то при включенні живлення ROM завантажував програми DOS в RAM. (Завантажувалась лише основна частина DOS, а не повний набір програм DOS). Потім необхідно було відповісти на запрошення DOS для установки дати і можна вводити запити DOS для виконання конкретних дій. Однією з таких дій може бути завантаження програм з диска в RAM. Оскільки DOS не займає всю пам'ять, то в ній є (зазвичай) місце для призначених для користувача програм. Призначена для користувача програма виконується в RAM і зазвичай здійснює виведення на екран, принтер або диск. Після закінчення можна завантажити іншу програму в RAM. Попередня програма зберігається на диску і нова програма при завантаженні може накластися (затерти) попередню програму в RAM.

У таблиці. 2.1 показана структура внутрішньої пам'яті для РС з процесором і8086. З першого мегабайта пам'яті 640 Кбайт – основна оперативна пам'ять, більша частина якої доступна для безпосереднього використання.

Таблиця 2.1 – Структура внутрішньої пам'яті для РС

Початок

(десятковий)

Адреса

(16-кова)

Об'єм

Призначення

960 К

F0000

64 K

Основний ПЗП системи

768 К

C0000

192 K

Розширена область ПЗП

640 К

A0000

128 K

Відеопам'ять ОЗП

1,25 К

00500

640 К

ОЗП

1 К

00400

256 байт

Область даних BIOS

0

00000

1 К

Таблиця векторів переривань

Виділення пам'яті. Оскільки будь-який сегмент має об'єм до 64К і є чотири типи сегментів, то це передбачає загальну кількість доступної пам'яті RAM: 4 х 64К = 256К. Проте, допускається будь-яка кількість сегментів. Для того, щоб адресувати інший сегмент, необхідно всього лише змінити адресу в сегментному регістрі.

RAM (ОЗП) включає перші три чверті пам'яті, а ROM (ПЗП) -останню чверть. Зазвичай перші 256К RAM пам'яті знаходяться на системній платі. Оскільки одна область в RAM зарезервована для відеобуфера, то є 640К доступних для використання програмістом, принаймні в поточних версіях DOS. ROM починається за адресою 768К і забезпечує підтримку операцій введення/виведення на такі пристрої як контролер жорсткого диску. ROM, що починається за адресою 960К, управляє базовими функціями комп'ютера, такими як тест при включенні живлення, точкові образи графічних символів і автозавантажувач з дискет.

При подальших згадуваннях RAM будемо використовувати загальний термін - пам'ять.

Адресація. Всі комірки пам'яті (КП) пронумеровані послідовно від 00000Н - мінімальної адреси пам'яті. Процесор забезпечує доступ до байтів або слів в пам'яті. Розглянемо десяткове число 1025. Для запису в пам'ять 16-кового представлення цього числа - 0401Н потрібно два байти або одне слово. Воно складається із старшої частини - 04 і молодшій частині - 01. Система зберігає слово даних в КП в зворотній послідовності: молодший байт за меншою адресою, а старший – за більшою адресою. Припустимо, що процесор записує 0401Н з регістра в КП з адресами 05612Н і 05613Н. Це станеться таким чином:

регістр

04

01

пам’ять

Рис.2.1 – Адресація даних в памяті

01

04

комірка 05612Н комірка 05613Н

молодший байт старший байт

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]