Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Пример доступа к памяти персонального компьютера ⇐ ПредыдущаяСтр 8 из 8 Механизм доступа к памяти персонального компьютера на базе процессора Intel рассмотрим на примере того же фрагмента программы, который приводился в предыдущей лекции. ¼ mov bx,loca;загрузка содержимого поля данных с именем loca в регистр add ax,bx;сложение содержимого двух регистров ax и bx, ¼;результат помещается в ax Вся память компьютера делится на сегменты, и для размещения в памяти компьютера любой программы ей выделяется необходимое количество сегментов памяти. Адреса начала каждого сегмента (индекс в таблице дескрипторов) хранятся в специальных сегментных регистрах. Программа, фрагмент которой приведен выше, использует два сегмента памяти: - сегмент кода, в котором расположены выполнимые команды программы; - сегмент данных, в котором расположены обрабатываемые данные программы. На рис.4.9. приведено расположение программы в памяти компьютера. Программа расположена в двух сегментах, сегменте кода и сегменте данных. Команды и данные располагаются в своих сегментах непрерывно, начиная с нулевого адреса (смещения).
Рис 4.9. Расположение программы в памяти персонального компьютера Команды загружаются в процессор для выполнения в соответствии с адресами, которые формируются регистре PC (Program Counter). Команда mov загружается из памяти в процессор на основании содержимого регистра PC, который формируется при выполнении предыдущей команды. Там она попадает в регистр IR (Instruction Regisetr) процессора. Адрес в регистре PC сформирован с использованием двух адресов: - адреса начала сегмента кода; - адреса внутри сегмента (смещения относительно начала), в нашем случае этот адрес в сегменте равен 03D8h. Команда mov осуществляет обращение к памяти в сегмент данных для загрузки в регистр bx числа -1010 (FFF6h). Адрес памяти, по которому находится требуемое данное, помещается в регистр MAR (Memory Address Register) в результате расшифровки кода команды. Адрес в регистре MAR в данном случае также формируется на основании двух адресов: - адреса начала сегмента данных; - адреса внутри сегмента (смещения относительно начала), в нашем случае этот адрес в сегменте равен 0042h. После этого дается команда памяти доставить данное число, и оно через регистр MDR (Memory Data Register) попадает в регистр bx процессора. В процессе выполнения этой команды PC формируется адрес следующей команды, которая будет загружена в следующем такте процессора. Вопросы для самопроверки. 1. Почему в большинстве компьютеров для представления отрицательных чисел используется дополнительный код? 2. Когда при выполнении арифметических операций возникает переполнение? 3. Какими порядками может оперировать компьютер при обработке целых и вещественных чисел? 4. Что такое нормализованное представление числа? 5. Каким может быть размер памяти компьютера, если регистр MAR 32-разрядный? Таблица 4.1 КОДЫ ASCII-СИМВОЛОВ
|