Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Пример доступа к памяти персонального компьютера





Механизм доступа к памяти персонального компьютера на базе процессора Intel рассмотрим на примере того же фрагмента программы, который приводился в предыдущей лекции.

¼

mov bx,loca;загрузка содержимого поля данных с именем loca в регистр

add ax,bx;сложение содержимого двух регистров ax и bx,

¼;результат помещается в ax

Вся память компьютера делится на сегменты, и для размещения в памяти компьютера любой программы ей выделяется необходимое количество сегментов памяти. Адреса начала каждого сегмента (индекс в таблице дескрипторов) хранятся в специальных сегментных регистрах. Программа, фрагмент которой приведен выше, использует два сегмента памяти:

- сегмент кода, в котором расположены выполнимые команды программы;

- сегмент данных, в котором расположены обрабатываемые данные программы.

На рис.4.9. приведено расположение программы в памяти компьютера. Программа расположена в двух сегментах, сегменте кода и сегменте данных. Команды и данные располагаются в своих сегментах непрерывно, начиная с нулевого адреса (смещения).

 

Сегмент кода   Сегмент данных
Адресация внутри сегмента (смещение относительно начала) Содержимое памяти (коды команд)   Адресация внутри сегмента (смещение относительно начала) Содержимое памяти (двоичные чисела)
         
         
¼        
      ¼  
03D8 8B 1E 00 42      
03DC 03 C3     FF F6 (-1010)
03DE Следующая команда     FF FF FF FB (-510)
¼        
      ¼  
         

Рис 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-СИМВОЛОВ

Шест   Символ   Шест   Символ   Шест   Символ   Шест   Симв  
00Н   Нуль   20Н   sр.   40Н   @   60Н   ‘  
01Н   Начало заголовка   21Н   !   41Н   А   61Н   а  
02H   Начало текста   22Н   “   42Н   В   62Н   b  
03H   Конец текста   23Н   #   43Н   С   63Н   с  
04Н   Конец передачи   24Н   $   44Н   D   64Н   d  
05Н   КТМ   25Н   %   45Н   Е   65Н   е  
06Н   Да   26Н   &   46Н   F   66Н   f  
07Н   Звонок   27Н   `   47Н   G   67Н   g  
08Н   Возврат на шаг   28Н   (   48Н   Н   68Н   h  
09Н   Горизонтальная табуляция   29Н   )   49Н   I   69Н   i  
0АН   Перевод строки   2АН   *   4АН   J   6АН   j  
0ВН   Вертикальная табуляция   2ВН   +   4ВН   К   6ВН   k  
0CH   Прогон страницы   2СН   ,   4СН   L   6CH   l  
0DН   Возврат каретки   2DН   -   4DH   М   6DH   m  
0ЕН Shift out   2ЕН   .   4ЕН   N   6EH   n  
0FH   Shift In   2FH   /   4FH     6FH   о  
10Н   Data line esc   З0Н     50Н   Р   70H   p  
11Н   Управление 1   31Н     51Н   Q   71H   q  
12Н   Управление 2   32Н     52Н   R   72H   r  
13Н   Управление 3   ЗЗН     53Н   S   73H   s  
14Н   Управление 4   34Н     54Н   Т   74H   t  
15Н   Нет   35Н     55Н   U   75H   u  
16Н   Синхронизация   З6Н     56Н   V   76H   v  
17Н   Конец блока   37Н     57Н   W   77H   w  
18Н   Аннулирование   38Н     58Н   Х   78H   x  
19Н   End of medium   39Н     59Н   Y   79H   у  
1АН   Замена   ЗАН   ;   5АН   Z   7AH   z  
1ВН   Escape   ЗВН   ;   5ВН   [   7BH   {  
1СН   Разделение файла   ЗСН   <   5СН   \   7CH   |  
1DН   Разделение группы   ЗDН   «   5DH       7DH   }  
1ЕН   Разделение записи   ЗЕН   >   5ЕН   ^   7EH   ~  
1FH   Разделение единицы   3FH   ?   5FH   _   7FH   Забой  

 

Date: 2015-07-17; view: 341; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию