Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Legacy). 4 страница




арифметики, і "дальні "стрибки з безпосередніми операндами.

 

  • Віртуальний адресний простір (подробиці)

Хоча віртуальні адреси дорівнюють 64 біти в 64-бітному режимі, поточні реалізації не дозволяють використовувати весь віртуальний адресний простір з 264 байт (16 EB). Це було б приблизно в чотири мільярди разів більше за розмір віртуального адресного простору на 32-розрядних машинах. Більшості операційних систем і додатків не потрібний такий великий адресний простір в осяжному майбутньому, тому реалізації такого широкого віртуального адресного простору просто збільшують складність і вартість трансляції адрес без реальної користі. Тому AMD вирішила, що в перших реалізаціях архітектури, тільки молодші 48 біт віртуальної адреси буде використано в трансляції адрес (в таблиці сторінок пошуку).

92. Суть операції No eXecute Bit у процесорах AMD. +

  • No-Execute bit

Апаратний NX-Bit (No eXecute Bit в процесорах AMD), або XD-Bit (Execute Disable Bit в процесорах Intel) це технологія, яка запобігає можливості виконання даних як коду. Біт "NX" (біт 63 запису таблиці сторінок) дозволяє операційній системі вказати, які сторінки віртуального адресного простору може містити виконуваний код, а які ні. Спроба виконати код з сторінки, не поміченої " виконуваною" призведе до порушення доступу до пам'яті, подібно спробі записати на сторінку тільки для читання. Аналогічна функція була доступна на процесорах x86 з моменту 80286 в якості ознаки дескрипторів сегментів. Сегментовані рішення вже давно вважаються застарілим режимом роботи, і всі нинішні операційні системи в силі обійти його, встановлюючи всі сегменти базової адреси в нуль (в реалізації 32 біт) і обмежитися розміром 4 ГБ. AMD був першим x86 сім'ї, який відмовився від режиму лінійної адресації.

93. Адресування у межах «канонічної форми» +

Специфікація AMD вимагає, щоб біти з 48 до 63 будь-якої віртуальної адреси повинні бути копіями біта 47, інакше процесор згенерує виняток. Адреси, сформовані за дотримання цього правила, називають "канонічною формою." Ця функція полегшує масштабованість, правда 64-розрядної адресації. Багато операційних систем (у тому числі, і сім'я Windows NT) залишають верхню половину адресного простору (простір ядра) для себе і віддають нижню адресну половину (простір користувача) для коду програми, в режимі користувача. Стеки, купи та інші області даних гарантує дизайн "канонічних адрес", так що кожна сумісна реалізація AMD64 має, по суті, дві половинки пам'яті: нижня половина починається з 00000000'00000000 і "росте вгору", як більш віртуальна адреса. Крім того, дотримання «канонічної форми» адрес, перевіряючи невикористовувані біти адреси запобігає їх використання операційною системою в помічених вказівниками, як ознаки, привілеїв маркерів і т.д., а таке використання може стати проблематичним, коли архітектура має продовжений до реалізації більш віртуальний біт адреси.

94. Режими роботи AMD64. +

Довгий режим (Long Mode) Основний режим роботи - це поєднання режиму 64-бітного процесора і режиму комбінованої 32-бітної і 16-бітної сумісності. Він використовується 64-розрядними операційними системами. Під 64-бітною операційною системою 64-бітові програми працюють в 64-бітному режимі, і 32-бітові та 16-бітові додатки у захищеному режимі (які не повинні використовувати або реальний режим або віртуальний режим 8086) запускають в режимі сумісності. Програми та програми реального режиму, які використовують віртуальний режим 8086, не можуть працювати в тривалому режимі, якщо ці режими не емулюються програмно. Однак, такі програми можуть бути запущені з операційної системи, що працює в тривалому режимі на процесорах підтримка VT-X або AMD-V, створюючи віртуальний процесор, що працює в потрібному режимі. У основному режимі майже немає втрати продуктивності для виконання захищеного коду режиму x86. Це на відміну від Intel IA-64, де відмінності в наборі базових інструкцій означають, що для запуску 32-бітного коду він повинен бути виконаний або в режимі емуляції х86 (що робить процес повільнішим) або виділеного процесора x86. Тим не менше, на платформі x86-64 багато додатків x86 могли б виграти від 64-бітної перекомпіляції через додаткові регістри в 64-бітному коді і гарантованої SSE2 підтримки FPU, які компілятор може використовувати для оптимізації. Однак, для додатків, які повинні регулярно обробляти цілі числа ширші, ніж 32 біти, такі як криптографічні алгоритми, знадобиться переписати код обробки великих чисел для того, щоб скористатися 64-розрядними регістрами.

Спадковий режим (Legacy Mode) Режим, який використовується у 16-бітовому («захищеному режимі» або «реальному режимі») 32-бітовихопераційних систем. У цьому режимі процесор працює як 32-бітний процесор x86, і тільки 16-розрядний і 32-бітний код може бути виконаний. Застарілий режим дозволяє використовувати максимум 32 біт віртуальної адресації, що обмежує віртуальний адресний простір 4 Гб. 64-розрядні програми не можуть бути запущені у стандартному режимі.

95. Відмінності між AMD64 і Intel 64. +

Хоча вони майже ідентичні, є деякі відмінності між цими двома наборами команд в семантиці кількох рідко

використовуваних машинних інструкцій, які в основному використовуються для системного програмування.

Компілятори зазвичай продукують виконувані файли (тобто машинний код), які уникають будь-яких відмінностей, принаймні для звичайних прикладних програм. Ці відмінності, становлять інтерес головним чином для розробників компіляторів, операційних систем і їм подібних, які повинні мати справу з індивідуальними і спеціальними інструкціями системи.




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


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


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



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




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