Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Аппаратная поддержка мультипрограммирования на примере процессора Pentium 6 страница




[66] Эбби Хоффман — один организаторов радикального молодежного движения йиппи 1960-х (Youth International Party) — прим. ред.

[67] MRR #76, Sep. 1989.

[68] Agnostic Front, Flipside #45, 1985.

[69] Agnostic Front, Flipside #45, 1985.

[70] Carmelo Nieves, MRR #18, Oct. 1984.

[71] Kieran из A.R.А., МRR #78.

[72] Frank Hughs, MRR #103, Dec. 1991.

[73] Jonna из A.R.A., PE #13.

[74] Jonna из A.R.A., PE #13.

[75] Kieran.

[76] Jonna.

[77] Mike Gunderloy, издатель зина «Factsheet Five». MRR #77, Oct. 1989 «Фэктщит Файв» — толстый американский журнал с обзорами-ревью альтернативной музыкальной продукции. — прим. ред.

[78] Henry, 95.

[79] «Нюхая клей». — прим пер.

[80] «Панк». — прим. пер.

[81] «Обратная сторона» — прим пер.

[82] «Удар сплеча» — прим. пер.

[83] Craig Lee. Hardcore California. 18.

[84] «Максимальный рок'н'ролл». — прим. пер.

[85] Англ. scene report. — прим. пер.

[86] Т.е. «журнал фэнов». Термин «fanzine» o6pазован от английских слов «fan» — поклонник, фан и «zine» — журнал. — прим. пер.

[87] Tim Yohannon. MRR #49. June 1987.

[88] Tim Yohannon. PE #3. P.8.

[89] Noam Chomsky. Sabotage In The American Workplace

[90] Threat By Example.

[91] You Don't Have To Fuck People Over To Survive.

[92] Tim Yohannon. MRR #100, Sept. 1991

[93] Примерно 21,25 на 27, 5 см. — прим. пер.

[94] PE #13. Jan. 1992, 1.

[95] Этого не случилось. PE здравствует и по сей день — прим. ред.

[96] Making punk a threat again.

[97] Anarchist Youth Federation (AYF), Profane Existence #5, Aug. 1990, 38.

[98] Felix, «Professor Felix's Very Short History of Anarchism.» Profane Existence #1, Dec. 1989, 13.

[99] Felix and Rat. «Revolt Against Communism», PE #1, Feb. 1990, 22.

[100] Группа из Миннесоты Destroy, PE #1, 29.

[101] «New world order», MRR #98, July 1991.

[102] «New world order», MRR #98, July 1991.

[103] «New world order», MRR #98, July 1991.

[104] «New world order», MRR #98, July 1991.

[105] «New world order», MRR #98, July 1991.

[106] Felix and Rat. PE #2.

[107] «New world order», MRR #99, Aug. 1991.

[108] «New world order», MRR #99, Aug. 1991.

[109] «New world order», MRR #99, Aug. 1991.

[110] «New world order», MRR #99, Aug. 1991.

[111] Martine Sprouse. MMR #39, Aug. 1986.

[112] «New world order», MRR #99, Aug. 1991.

[113] «New world order», MRR #99, Aug. 1991.

[114] «New world order», MRR #99, Aug. 1991.

[115] Jon George, PE #11/12. Autumn 1991.

[116] Felix, PE #13, March 1992, 6.

[117] Felix, PE #13, March 1992, 6.

[118] Penny Rimbaud «Shibboleth»

[119] Crass, Flipside #23, March 1981.

[120] Crass, Flipside #23, March 1981.

[121] Crass, Flipside #23, March 1981.

[122] Анонимное письмо, РЕ #5.

[123] Нью-йоркская группа A.P.P.L.E., MRR #48, April 1987.

[124] Jon George, PE

[125] Листовка «Positive Force».

[126] Steve Ignorant, MRR #62, July 1988

[127] Crass, Flipside.

[128] Crass, Flipside.

[129] Английская группа Subhumans Rats EP, Bluurg Records, 1983

[130] Mike Gunderloy, редактор фэнзина «Factsheet Five», MRR #77, Oct 1989.

[131] Skull. Assault with Intent to Free #9, Fall 1991, 34.

[132] Skull. Assault with Intent to Free #9, Fall 1991, 34.

[133] Todd Masson, редактор фэнзина «IN*CIT», РЕ, #5, 11.

[134] Todd Masson, редактор фэнзина «IN*CIT», РЕ, #5, 11.

[135] Skull. AWITF.

[136] 136 Ramsey Kanaan, Political Asylum, MRR #104, Jan. 1992.

[137] Dan, редактор «Profane Existence». PE #5.

[138] Making Punk a Threat Again.

[139] «The War At Home», MRR #100. Sept. 1991.

[140] «New world order», MRR #99.

[141] «New world order», MRR #100, Sept. 1991.

[142] Dan. MRR #95, April 1991.

[143] Decline of Western Civilization.

[144] Felix, PE, #11/12, 10

[145] Группа из Южной Калифорнии Final Conflict Ashes To Ashes LP, Pusmort Records, 1986.

[146] «New world order», MRR #100, Sept. 1991.

[147] Steve Ignorant, MRR #62, July 1988.

[148] Lawrence Livermore, MRR #76, Sept. 1989.

[149] Шотландская группа Oi Роlloi, МRR #25, May 1985.

[150] Анонимное письмо, МRR #71, March 1989.

[151] Стив Игнорент.

[152] Skull, AWITF.

[153] Dan, PE, #2.

[154] Ramsey «the Rod» Kanaan, Political Asylum.

[155] Ramsey «the Rod» Kanaan, Political Asylum.

[156] Канадская группа No Means No, MRR #39, Aug. 1986.

[157] Craig Lee, Hardcore California, 20.

[158] Буклет к сборнику PE ACE, LP, R Radical Records, 1984, 11

[159] Буклет к сборнику PE ACE, LP, R Radical Records, 1984, 11

[160] Английская анархистская группа Chumbawamba, Threat by Example, 29.

[161] Cecila, «Exterminate Airheads», MRR #61, June 1988

[162] Ne Tantillo, Riot Grrrl, 1991.

[163] Chumbawamba. Threat by Example. 29.

[164] Сборник Sign Language, Allied Records, 1991.

[165] Бимбо — женщины, которые заботятся исключительно о собственной внешности и о том, чтобы нравиться мужчинам — прим. ред.

[166] Cecila. MRR #61.

[167] Suzanna Bartchy, MRR #104, Jan. 1992.

[168] Lali, там же.

[169] Claire Slow Drain, MRR #103, Dec. 1991.

[170] Lali, MRR #104.

[171] Beth Roberts. «Веские причины для права выбора». Assault with Intent to Free #8, April 1990.

[172] David Spanner, канадская группа D.O.A., Right To Be Wild EP, 1983.

[173] David Spanner, канадская группа D.O.A., Right To Be Wild EP, 1983.

[174] David Spanner, канадская группа D.O.A., Right To Be Wild EP, 1983.

[175] Gerry Hannah, там же.

[176] Там же.

[177] Там же

[178] Там же

[179] G.B. Jones and Bruce LaBruce, Homocore #7. Winter/Spring 1991.

[180] G.B. Jones and Bruce LaBruce, Homocore #7. Winter/Spring 1991.

[181] Donald Cory, «From Handicap to Strength» // Man Alone, 420

[182] Donald Cory, «From Handicap to Strength» // Man Alone, 420

[183] Donald Cory, «From Handicap to Strength» // Man Alone, 420

[184] G.B. Jones and Bruce LaBruce.

[185] G.B. Jones and Bruce LaBruce.

[186] G.B. Jones and Bruce LaBruce

[187] Larry-Bob, излатель, Holy Titclamps #6. Fall 1990.

[188] Tom Jennings, издатель, Homocore #7.

[189] Larry-Bob.

[190] Larry-Bob.

[191] Donny The Punk, Homocore.

[192] Earth First! — Земля прежде всего! Радикальное движение но защите окружающей среды, возникшее в США в 1981 году как реакция на безуспешность борьбы за спасение природы политическими средствами. Главный лозунг движения — «Никаких компромиссов в защите Матери-3емли!». Более подробно читайте об этом на сайтах http://www.eco-action.org/dod/ и http://www.earthfirstjournal.org/ а также http://www.ecoethics.ru/b27/ — прим. пер.

[193] ALF (Animal Liberation Front) — Фронт освобождения животных. Радикальное движение по защите животных, созданное в Великобритании в 1978 году Ронни Ли, и распространившаяся по всему миру в виде небольших групп, действующих автономно друг от друга. См. сайт ALF: http://www.animalliberationfront.com/ — прим. пер.

[194] Буклет к сборнику Peace LP. R Radical Records, 1984.

[195] Буклет к сборнику Peace LP. R Radical Records, 1984.

[196] Devall and Sessions. Deep Ecology.

[197] Joel Hippycore, MRR #77, Oct. 1989.

[198] Joel Hippycore, MRR #77, Oct. 1989.

[199] Joel Hippycore, MRR #77, Oct. 1989.

[200] Joel Hippycore, MRR #77, Oct. 1989.

[201] Joel Hippycore, MRR #77, Oct. 1989.

[202] Lawrence Livermore, MRR #84, March 1990.

[203] Lawrence Livermore, MRR #84, March 1990.

[204] Profane Existence #5, Aug. 1990, 37.

[205] Greenpeace – Гринпис. Крупная международная организация по защите окружающей среды радикальными методами.

[206] PETA (People for the Ethical Treatment of Animals) — Люди за этичное отношение к животным. Крупная международная организация по защите прав животных. См. их сайты — www.meatstinks.com и www.milksucks.com.

[207] Опубликовано в сокращенном виде на русском языке: Экотаж. Руководство по радикальной природоохране / Сост. Д. Формэн и Б. Хейвуд. — Киев: Киевский эколого-культурный центр, 2002. — 168 с.

[208] PE #11/12, Autumn 1991, 4.

[209] PE #11/12, Autumn 1991, 46.

[210] Tom Coyne, MRR #100, Sept. 1991.

[211] Примерно 2000 гектаров — прим ред.

[212] Lawrence Livermore, редактор фэнзина Lookout #31, Summer 1988.

[213] Assault with Intent to Free #3, Fall 1991.

[214] Livermore

[215] Conflict, It's Time to See Who's Who LP, Mortarhate Records, 1986.

[216] Шотландская панк-группа Oi Polloi, MRR #25, May 1985.

[217] Буклет к сборнику The ALF is Watching LP. No Master's Voice Records, 1990, 5.

[218] Буклет к сборнику The ALF is Watching LP. No Master's Voice Records, 1990, 5.

[219] «Нападение с намерением освободить».

[220] «Хиппикор»

[221] «Сопротивляйся»

[222] «Soy Not Oi»

[223] «Bark and Grass»

[224] Канадская группа Engage. MRR #100, Sept. 1991.

[225] Naturecore, The ALF is Watching LP, буклет, 1.

[226] Naturecore, The ALF is Watching LP, буклет, 4.

[227] A State of Mind. Animal/Humyn Exploitation ЕР, Mind Matter records, 1987.

[228] ALF is Watching LP, буклет, 2.

[229] Листовка Группы поддержки Фронта освобождения животных (ALF Supporters Group).

[230] Игра слов «pal» (англ.) — приятель и PAL — аббревиатура названия организации «Панки за освобождение животных» — прим. пер.

[231] A State of Mind.

[232] В заголовке обыгрывается название одной из самых важных стрэйт-эдж групп — Minor Threat — «незначительная угроза». — прим. пер.

[233] Minor Threat, песня «Straight Edge», Minor Threat EP, Dischord Records, 1981.

[234] Minor Threat, Flipside #34, Aug. 1982.

[235] Первые стрэйт-эдж команды там возникли несколько раньше, например, Stalag 13 и Justice League образовались в 1982-83 годах. — прим. пер.

[236] В Штатах запрещено употреблять алкоголь лицам, не достигшим совершеннолетия, а именно — 21 года. — прим, пер.

[237] Ian MacKaye, Hard Times #7, June 1985.

[238] Mark Anderson, Dance Of Days: D.C. Punk 1975-95.

[239] Seven Seconds, МRR #72, May 1989.

[240] Анонимное письмо, MRR #103, Dec. 1991.

[241] Анонимное письмо, MRR #103, Dec. 1991.

[242] Не все конечно. — прим. пер.

[243] Ray Cappo, MRR #79, Dec. 1989.

[244] Vegan Reich, PE #3, April. 1990.

[245] Vegan Reich, PE #3, April. 1990.

[246] Vegan Reich. PE #3, April. 1990.

[247] Vegan Reich. PE #3, April. 1990.

[248] All Ages. Reflections on Straight Edge / Ed B. Lahickey. Huntington Beach: Revelation Books, 1997.

[249] Вообще-то Revelation не стрейт-эдж лейбл, хотя большинство групп, выходивших там в конце 80-х, были стрэйт-эджерами. — прим. пер.

[250] На мой сугубо личный взгляд, за несколько лет, что минули с издания этой книги, ситуация в целом изменилась в лучшую сторону. Противостояние панка и стрэйт-эджа в значительной степени сошло на нет. На многих, даже на большинстве концертов вместе играют стрэйт-эдж, панк, метал, эмо-группы, высказывающие порой весьма разные идеи, и то не приводит к конфликтам. Стрэйт-эджеры научились толерантно относиться к людям, придерживающимся других взглядов, да и вообще стали позитивней. Хотя такие явления, как хардлайн, и не исчезли, подавляющим большинством эджеров они напрочь отрицаются. И как показывает практика, тот, кто исповедует наиболее нетерпимые идеи, первым теряет свой эдж... — прим. пер.

[251] Joel, PE #11/12. Autumn 1991, 10.

[252] David. Pop and Politics Do Mix!, April 1991, 13.

[253] The Ex. Threat By Example, 72.

[254] Chumbawamba. Threat By Example, 31.

[255] Pop and Politic Do Mix!, 11.

[256] Pop and Politic Do Mix!, 11.

[257] Pop and Politic Do Mix!, 11.

[258] Educating Who About What.

[259] Mark Andersen. Washington Peace Letter, Nov. 1991, 8.

[260] Pop and Politics Do Mix!, 14.

[261] Chris BCT — владелец лейбла, Threat By Example, 44

[262] MRR #101, Oct. 1991.

[263] MRR #42, Nov. 1986.

[264] Mark Andersen, листовка «Positive Force»

[265] Mark Andersen, листовка «Positive Force»

[266] Jeff Bale. Loud 3D, edited by Gary Roberts, Rob Kulakofsky, and Mike Arrendondo, IN3D Press, San Francisco, 1984, 83.

  • Регистры процессора
  • Привилегированные команды
  • Средства поддержки сегментации памяти
  • Виртуальное адресное пространство
  • Преобразование адресов
  • Защита данных при сегментной организации памяти
  • Сегментно-страничный механизм
  • Средства вызова процедур и задач
  • Вызов процедур
  • Вызов задачи
  • Механизм прерываний
  • Кэширование в процессоре Pentium
  • Буфер ассоциативной трансляции
  • Кэш первого уровня
  • Совместная работа кэшей разного уровня
  • Выводы
  • Задачи и упражнения

Аппаратные средства поддержки мультипрограммирования имеются во всех современных процессорах. Несмотря на различия в реализации, для большинства типов процессоров эти средства имеют общие черты. Это в полной мере относится и к рассматриваемому ниже популярному семейству 32-разрядных процессоров Intel: 80386, 80486, Pentium, Pentium Pro, Pentium II, Celeron и Pentium III. Более того, средства поддержки операционной системы во всех этих процессорах построены почти идентично, поэтому далее в тексте для их обозначения используется обобщенный термин «процессоры Pentium».

Основным режимом работы процессора Pentium является защищенный режим (protected mode). Для совместимости с программным обеспечением, разработанным для предшествующих моделей процессоров Intel (главным образом, модели 8086), в процессорах Pentium предусмотрен так называемый реальный режим (real mode). В реальном режиме процессор Pentium выполняет 16-разрядные инструкции и адресует 1 Мбайт памяти. В этом разделе рассматривается защищенный режим работы процессора, поскольку это основной режим, используемый современными мультипрограммными операционными системами.

Регистры процессора

В организации вычислительного процесса важную роль играют регистры процессора. В процессорах Pentium эти регистры делятся на несколько групп:

  • регистры общего назначения;
  • регистры сегментов;
  • указатель инструкций;
  • регистр флагов;
  • управляющие регистры;
  • регистры системных адресов;

О регистры отладки и тестирования, а также регистры математического сопроцессора, выполняющего операции с плавающей точкой.

В процессоре Pentium имеется восемь 32-разрядных регистров общего назначения. Четыре из них, которые можно условно назвать А, В, С и D, используются для временного хранения операндов арифметических, логических и других команд. Программист может обращаться к этим регистрам как к единому целому, используя обозначения ЕАХ, ЕВХ, ЕСХ, EDX, а также к некоторым их частям, как это показано на рис. 6.1. Здесь обозначение AL (L — Low) относится к первому, самому младшему байту регистра ЕАХ, АН (Н — High) — к следующему по старшинству байту, а АХ обозначает оба младших байта регистра. Приставка Е в обозначении этих регистров (а также некоторых других) образована от слова extended (расширенный), что указывает на то, что в прежних моделях процессоров Intel эти регистры были 16-разрядными, а затем их разрядность была увеличена до 32 бит.

Рис. 6.1. Основные регистры процессора Pentium

Остальные четыре регистра общего назначения — ESI, EDI, EBP и ESP — предназначены для задания смещения адреса относительно начала некоторого сегмента данных. Эти регистры используются совместно с регистрами сегментов в системе адресации процессора Pentium для задания виртуального адреса, который затем с помощью таблиц страниц отображается на физический адрес.

Регистры сегментов CS, SS, DS, ES, FS и GS в защищенном режиме ссылаются на дескрипторы сегментов памяти — описатели, в которых содержатся такие параметры сегментов, как базовый адрес, размер сегмента, атрибуты защиты и некоторые другие. Регистры сегментов хранят 16-разрядное число, называемое селектором, в котором 12 старших разрядов представляют собой индекс в таблице дескрипторов сегментов, 1 разряд указывает, в какой из двух таблиц, GDT или LDT, находится дескриптор, а три разряда поля RPL хранят значение уровня привилегий запроса к данному сегменту. Регистр CS (Code Segment) предназначен для хранения индекса дескриптора кодового сегмента, регистр SS (Stack Segment) — дескриптора сегмента стека, а остальные регистры используются для указания на дескрипторы сегментов данных. Все регистры сегментов, кроме CS, программно доступны, то есть в них можно загрузить новое значение селектора соответствующей командой (например, LDS). Значение регистра CS изменяется при выполнении команд межсегментных вызовов CALL и переходов JMP, а также при переключении задач1.

1 В этом разделе термин «задача» часто будет употребляться вместо равнозначного (и более распространенного) термина «процесс» в связи с тем, что именно этот термин выбрали в свое время разработчики процессоров Intel x86 и он фигурирует в названиях регистров и структур данных.

Указатель инструкций EIP содержит смещение адреса текущей инструкции, которое используется совместно с регистром CS для получения соответствующего виртуального адреса.

Регистр флагов EFLAGS содержит признаки, характеризующие результат выполнения операции, например флаг знака, флаг нуля, флаг переполнения, флаг паритета, флаг переноса и некоторые другие. Кроме того, здесь хранятся некоторые признаки, устанавливаемые и анализируемые механизмом прерываний, в частности флаг разрешения аппаратных прерываний IF.

В процессоре Pentium имеется пять управляющих регистров — CRO, CR1, CR2, CR3 и CR4, которые хранят признаки и данные, характеризующие общее состояния процессора (рис. 6.2).

Регистр CR0 содержит все основные признаки, существенно влияющие на работу процессора, такие как реальный/защищенный режим работы, включение/ выключение страничного механизма системы виртуальной памяти, а также признаки, влияющие на работу кэша и выполнение команд с плавающей точкой. Младшие два байта регистра CRO имеют название Mashine State Word, MSW — «слово состояния машины». Это название использовалось в процессоре 80286 для обозначения управляющего регистра, имевшего аналогичное назначение.

Регистр CR1 в настоящее время не используется (зарезервирован).

Регистры CR2 и CR3 предназначены для поддержки работы системы виртуальной памяти. Регистр CR2 содержит линейный виртуальный адрес, который вызвал так называемый страничный отказ (отсутствие страницы в оперативной памяти или отказ из-за нарушения прав доступа). Регистр CR3 содержит физический адрес таблицы разделов, используемой страничным механизмом процессора.

Рис. 6.2. Управляющие и системные регистры процессора Pentium

В регистре CR4 хранятся признаки» разрешающие работу так называемых архитектурных расширений, например возможности использования страниц размером 4 Мбайт и т. п.

Регистры системных адресов содержат адреса важных системных таблиц и структур, используемых при управлении процессами и памятью. Регистр GDTR (Global Descriptor Table Register) содержит физический 32-разрядный адрес глобальной таблицы дескрипторов GDT сегментов памяти, образующих общую часть виртуального адресного пространства всех процессов. Регистр IDTR (Interrupt Descriptor Table Register) хранит физический 32-разрядный адрес таблицы дескрипторов прерываний IDT, используемой для вызова процедур обработки прерываний в защищенном режиме работы процессора. Кроме этих адресов в регистрах GDTR и IDTR хранятся 16-битные лимиты, задающие ограничения на размер соответствующих таблиц.

Два 16-битных регистра хранят не физические адреса системных структур, а значения индексов дескрипторов этих структур в таблице GDT, что позволяет косвенно получить соответствующие физические адреса. Регистр TR (Task Register) содержит индекс дескриптора сегмента состояния задачи TSS. Регистр LDTR (Local Descriptor Table Register) содержит индекс дескриптора сегмента локальной таблицы дескрипторов LDT сегментов памяти, образующих индивидуальную часть виртуального адресного пространства процесса.

Регистры отладки хранят значения точек останова, а регистры тестирования позволяют проверить корректность работы внутренних блоков процессора.

 

Привилегированные команды

Привилегированные команды — это команды, которые могут быть выполнены только при определенном уровне привилегий текущего кода CPL (Current Privilege Level). В процессорах Pentium поддерживается четыре уровня привилегий, от самого привилегированного нулевого, до наименее привилегированного третьего. С помощью привилегированных команд осуществляется защита структур операционной системы от некорректного поведения пользовательских процессов, а также взаимная защита ресурсов этих процессов. (Механизм задания привилегий более детально рассмотрен ниже, в разделах, посвященных средствам управления памятью, так как уровни привилегий используются для определения не только допустимости выполнения той или иной команды, но и возможности доступа исполняемого кода к сегментам данных и кодов, включенным в виртуальное адресное пространство процесса.)

В процессоре Pentium к привилегированным командам относятся:

  • команды для работы с управляющими регистрами CRn, а также для загрузки регистров системных адресов GDTR, LDTR, IDTR и TR;
  • команда останова процессора HALT;
  • команды запрета/разрешения маскируемых аппаратных прерываний CLI/SLI;
  • команды ввода-вывода IN, INS, OUT, OUTS.

Первые две группы команд могут выполняться только при самом высшем уровне привилегий кода, то есть при CPL=0. Для двух последних групп команд, иногда называемых чувствительными, условия выполнения не требуют высшего уровня привилегий кода, а связаны с соотношением уровня привилегий ввода-вывода IOPL и уровня привилегий кода CPL — выполнение этих команд разрешено в том случае, если CPL <= IOPL.

 

Средства поддержки сегментации памяти

Средства поддержки механизмов виртуальной памяти в процессоре Pentium позволяют отображать виртуальное адресное пространство на физическую память размером максимум в 4 Гбайт (этот максимум определяется использованием 32-разрядных адресов при работе с оперативной памятью).

Процессор может поддерживать как сегментную модель распределения памяти, так и сегментно-страничную. Средства сегментации образуют верхний уровень средств управления виртуальной памятью процессора Pentium, а средства страничной организации — нижний уровень. Это означает, что сегментные средства работают всегда, а средства страничной организации могут быть как включены, так и выключены путем установки однобитного признака РЕ (Paging Enable) в регистре CRO процессора. В зависимости от того, включены ли средства страничной организации, изменяется смысл процедуры преобразования адресов, которая выполняется средствами сегментации. Сначала рассмотрим случай работы средств сегментации при отключенном механизме управления страницами.

Виртуальное адресное пространство

При работе процессора Pentium в сегментном режиме в распоряжении программиста имеется виртуальное адресное пространство, представляемое совокупностью сегментов.

Каждый сегмент виртуальной памяти процесса имеет описание, называемое дескриптором сегмента. Дескриптор сегмента имеет размер 8 байт и содержит все характеристики сегмента, необходимые для проверки правильности доступа к нему и нахождения его в физическом адресном пространстве (рис. 6.3).

Рис. 6.3. Формат дескриптора сегмента данных или кода

Структура дескриптора, которая поддерживается в процессоре Pentium, сложилась исторически. Многое в ней связано с обеспечением совместимости с предыдущими процессорами семейства х86. Именно этим объясняется то, что базовый адрес сегмента представлен в дескрипторе в виде трех частей, а размер сегмента занимает два поля.

Ниже перечислены основные поля дескриптора.

  • База — базовый адрес сегмента (32 бита).
  • Размер — размер сегмента (24 бита).
  • G (Granularity) — единица измерения размера сегмента, один бит. Если G=0, то размер задан в байтах и тогда сегмент не может быть больше 64 Кбайт, если 0=1, то размер сегмента измеряется в страницах по 4 Кбайт.
  • Байт доступа (5-й байт дескриптора) содержит информацию, которая используется для принятия решения о возможности или невозможности обращения к данному сегменту. Бит Р (Present) определяет, находится ли соответствующий сегмент в данный момент в памяти (Р=1) или он выгружен на диск (Р=0). Поле DPL (Descriptor Privilege Level) содержит данные об уровне привилегий, необходимом для доступа к сегменту. Остальные пять битов байта доступа зависят от типа сегмента и определяют способ, которым можно использовать данный сегмент (то есть читать, писать, выполнять). Различаются три основных типа сегментов:
  • сегмент данных;
  • кодовый сегмент;
  • системный сегмент (GDT, TSS и т. п

Дескрипторы сегментов объединяются в таблицы. Процессор Pentium для управления памятью поддерживает два типа таблиц дескрипторов сегментов1:

  • глобальная таблица дескрипторов (Global Descriptor Table, GDT), которая предназначена для описания сегментов операционной системы и общих сегментов для всех прикладных процессов, например сегментов межпроцессного взаимодействия;
  • локальная таблица дескрипторов (Local Descriptor Table, LDT), которая содержит дескрипторы сегментов отдельного пользовательского процесса.

1 Процессор Pentium поддерживает еще один тип таблицы дескрипторов — таблицу дескрипторов прерываний (Interrupt Descriptor Table, IDT). Эта таблица используется системой прерываний.

Таблица GDT одна, а таблиц LDT столько, сколько в системе выполняется задач (процессов). При этом в каждый момент времени операционной системой и аппаратными средствами процессора используется только одна из таблиц LDT, а именно та, которая соответствует выполняемому в данный момент пользовательскому процессу. Таблица GDT описывает общую часть виртуального адресного пространства процессов, a LDT — индивидуальную часть для каждого процесса. Таблицы GDT и LDT размещены в оперативной памяти в виде отдельных сегментов. Сегменты LDT и GDT содержат системные данные, поэтому их дескрипторы хранятся в таблице GDT. Таким образом, таблица GDT наряду с записями о других сегментах содержит запись о самой себе, а также обо всех таблицах LDT.

В каждый момент времени в специальных регистрах GDTR и LDTR хранится информация о местоположении и размерах глобальной таблицы GDT и активной таблицы LDT соответственно. Регистр GDTR содержит 32-разрядный физический адрес начала сегмента GDT в памяти, а также 16-битный размер этого сегмента (рис. 6.4). Регистр LDTR указывает на расположение сегмента LDT в оперативной памяти косвенно — он содержит индекс дескриптора в таблице GDT, в котором содержится адрес таблицы LDT и ее размер.




Поделиться с друзьями:


Дата добавления: 2014-12-16; Просмотров: 622; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.