LINUX.ORG.RU

История изменений

Исправление praseodim, (текущая версия) :

Какие нафиг 386 и мегабайты?? 16 бит - это 65536 байт адресуемой памяти, и ни битом больше. Дальше только с костылями в виде страничной или сегментной адресации.

16 бит было можно сказать даже жаргонным термином, потому что с точки зрения адресации памяти 8086 был не 16-ти битным, а честным 20-битным. Со всеми линиями.

Дальше только с костылями в виде страничной или сегментной адресации. Интел 8086 выпущенный в мохнатом 1978 уже имел эти костыли изначально вместо 32битности.

Эти костыли были на уровне команд процессора из-за того, что Intel почему-то захотел 8086(88) сделать хоят бы частично обратно совместимым с 8080. Теоретически код для 8080 мог исполняться в пределах 65k сегмента 8086.

На практике же и не все так гладко было и не очень нужно. Даже интересно, где-то реально такие трюки использовались? Впрочем, учитывая что 8086 изначально (до выбора IBM) был процессором совсем не для универсальных компьютеров, а для разных промышленных плат (много позднее даже как embedded) может что где и было.

В компьютерах на базе 8080 (и Z80) и более 65Кб памяти были действительно настоящие костыли с переключениями банков памяти, а в 8086 просто адресация кривая была.

Проецируя ситуацию «16vs32» на «32vs64», переползать на 64 бита надо было бы при объемах РАМ от 200 Гб и выше.

В принципе к этому и шло. Расширение PAE появилось еще в PentiumPro. и если бы не AMD с ее amd64 (x86_64) в рамках x86 могло так и получиться.

Исходная версия praseodim, :

Какие нафиг 386 и мегабайты?? 16 бит - это 65536 байт адресуемой памяти, и ни битом больше. Дальше только с костылями в виде страничной или сегментной адресации.

16 бит было можно сказать даже жаргонным термином, потому что с точки зрения адресации памяти 8086 был не 16-ти битным, а честным 20-битным. Со всеми линиями.

Дальше только с костылями в виде страничной или сегментной адресации. Интел 8086 выпущенный в мохнатом 1978 уже имел эти костыли изначально вместо 32битности.

Эти костыли были на уровне команд процессора из-за того, что Intel почему-то захотел 8086(88) сделать хоят бы частично обратно совместимым с 8080. Теоретически код для 8080 мог исполняться в пределах 65k сегмента 8086.

На практике же и не все так гладко было и не очень нужно. Даже интересно, где-то реально такие трюки использовались? Впрочем, учитывая что 8086 изначально (до выбора IBM) был процессором совсем не для универсальных компьютеров, а для разных промышленных плат (много позднее даже как embedded) может что где и было.

Проецируя ситуацию «16vs32» на «32vs64», переползать на 64 бита надо было бы при объемах РАМ от 200 Гб и выше.

В принципе к этому и шло. Расширение PAE появилось еще в PentiumPro. и если бы не AMD с ее amd64 (x86_64) в рамках x86 могло так и получиться.