The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Разработчики DragonFly BSD выявили ошибку в процессорах AMD"
Отправлено ram_scan, 07-Мрт-12 13:37 
Ответствую.

Несовместимость между 8086 и 80286 заключается в отдаче под префикс опкода 0x0f, который в 8086-8088 работал как pop cs, плюс уже упомянутая A20 line которая при переполнении застревала в единичном состоянии. Была как минимум еще одна очень хитрая плюха с разной работой инструкции push sp (в одних процессорах сначала указатель стека заносился во внутренний регистр, происходило увменьшение указателя стека, а потом занесение на верхушку стека, в других сначала производилось уменьшение указателя стека, потом занесение в регистр, и запись по этому адресу содержимого.

Про защелку отключающую линию A20 читайте матчасть, ей богу лень обьяснять, заодно просветитесь что такое fast A20 gate.

Команда которую вы называете popall, (которая кстати имеет мнемонику popa) реализована начиная с 80186 (справочник откройте). В 80386 инструкция которую вы называете popall называется loadall386, которая отличается мнемоникой от loadall, потому-что для 80286 была loadall с другим форматом сохранения регистров и другим опкодом (кстати обе они используются в himem.sys можете глянуть в исходниках freedos если родной дизассемблировать лень). И это далеко не единственная недокументированная фича, если уж о бабочках.

Единственное что я напутал - на 80386 глюк был не с pushfd а с popad, команда рушила содержимое аккумулятора. Благодаря этому кстати истинных 80386 было очень немного, и процессоры без глюка вскоре получили суффикс DX, процессоры 80386 без глюка получили маркировку "двойное сигма", процессоры с глюком надпись 8086 only. И те и другие являются кстати предметом коллекционного интереса.

Собственно дальнейшую пургу, особенно непонимание разницы между cache и pipeline, для чего выполняется сброс койвейера и чем "не сброс" чреват даже обсуждать не хочу, уровень компетенции ясен.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру