Рис.III.15. Общая схема формирования физического адреса при включенной страничной организации памяти.
Отметим здесь следующее. По 32 разрядной шине данных могут передаваться как отдельные байты, так и слова, а также двойные слова. Выбор размерности операнда, при этом, определяется двумя младшими битами адреса: А1 и А0, которые дешифрируются в самом процессоре и выдаются в оперативную память в виде управляющих сигналов разрешения байт BE3#, BE2#, BE1# и BE0#, (знак # определяет активный сигнал низкого уровня). Таким образом, код на выводах А31…А2 указывает 4-х байтный фрагмент памяти, а управляющие сигналы на выводах BE3, BE2, BE1 и BE0 определяют байты, участвующие в операциях обмена. При этом:
· активный сигнал на выводе BE0 адресует байт D7…D0;
· активный сигнал на выводе BE1 адресует байт D15…D8;
· активный сигнал на выводе BE2 адресует байт D23…D16;
· активный сигнал на выводе BE3 адресует байт D31…D24.
Иллюстрация адресации байт, слов и двойных слов приведена на рисунке IV.16.
Отметим также, что передачи по полной 32-битной шине данных процессора считаются выровненными, если данные не перекрывают границ двойных слов (и, следовательно, они могут быть считанными за одно обращение к памяти). Слово выровнено, если его можно считать в любой из трех возможных позиций в пространстве двойного слова (см. рисунок III.17).
Рис.III.16. Адресация байт, слов и двойных слов в МП х86.
Отметим также, что передачи по полной 32-битной шине данных процессора считаются выровненными, если данные не перекрывают границ двойных слов (и, следовательно, они могут быть считанными за одно обращение к памяти). Слово выровнено, если его можно считать в любой из трех возможных позиций в пространстве двойного слова (см. рисунок III.17).
Рис.III.17. Выравнивание данных на 32 – битной шине данных
Заметим, что, начиная с процессоров 5-го поколения (с процессоров Pentium), шина данных расширена до 64 разрядов (хотя внутренняя структура процессоров осталась той же, предназначенной для операций с 32 разрядными операндами). Следовательно, эти процессоры могут обмениваться с памятью не только двойными словами, но и квадрословами (учетверенными словами). Поэтому у них сразу декодируются сразу 3 младших разряда адреса A[2…0] и формируются уже 8 сигналов разрешения выдачи байтов BE[7…0].
Структура страниц.
При разрешенном страничном преобразовании адреса линейное адресное пространство объемом 4Гбайт, получающееся после модуля сегментного преобразования, (при линейном адресе – 32 разряда) можно представить разделенным на 1М страниц по 4Кбайт каждая. Физическая оперативная память также представляется разделенной на страницы с тем же размером 4Кбайта (смотри рисунок III.18). Эти страницы физической памяти иногда называют страничными кадрами (Page frame).
Поскольку, даже в современных персональных компьютерах физическая память обычно не превышает 1 Гбайт, возможное виртуальное адресное пространство, равное 4Гбайт, существенно больше. Следовательно, в любой момент времени только часть всех страниц возможной виртуальной памяти может присутствовать в физической оперативной памяти. Отсутствующие в физической памяти страницы обычно хранятся во внешней памяти, которой чаще всего служат накопители на жестких магнитных дисках. Фиксированный размер всех страниц позволяет загрузить любую нужную виртуальную страницу в любую физическую страницу (в любой страничный кадр).
Рис. III.18. Страничная память: а) виртуальная;
б) физическая.
К понятию страниц в адресном пространстве памяти компьютера.
00000000 00110000 01100000 10010000 11000000 11110000
00000001 00110001 01100001 10010001 11000001 11110001
00000010 00110010 01100010 10010010 11000010 11110010
00000011 00110011 01100011 10010011 11000011 11110011
00000100 00110100 01100100 10010100 11000100 11110100
00000101 00110101 01100101 10010101 11000101 11110101
00000110 00110110 01100110 10010110 11000110 11110110
00000111 00110111 01100111 10010111 11000111 11110111
00001000 00111000 01101000 10011000 11001000 11111000
00001001 00111001 01101001 10011001 11001001 11111001
00001010 00111010 01101010 10011010 11001010 11111010
00001011 00111011 01101011 10011011 11001011 11111011
00001100 00111100 01101100 10011100 11001100 11111100
00001101 00111101 01101101 10011101 11001101 11111101
00001110 00111110 01101110 10011110 11001110 11111110
00001111 00111111 01101111 10011111 11001111 11111111
00010000 01000000 01110000 10100000 11010000 100000000
00010001 01000001 01110001 10100001 11010001 100000001
00010010 01000010 01110010 10100010 11010010 100000010
00010011 01000011 01110011 10100011 11010011 100000011
00010100 01000100 01110100 10100100 11010100 100000100
00010101 01000101 01110101 10100101 11010101 100000101
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.