Цитата Сообщение от AFZ Посмотреть сообщение
вызов ОС для переключения
Это если из системы, которая сама управляет MMU - типа XM монитора или RSX. Если прога сама будет управлять MMU - всё несколько быстрее и можно даже проимитировать дальние вызовы и возвраты, но ценой поддержки транслятором или программистом и всё равно это будет достаточно медленно.
И ещё надо учесть факт, что PDP создавались изначально даже не во времена "640 кб хватит всем", память была крайне дорогой, процессор то же не за фантики можно было купить, плюс конкуренция по цене (с той же IBM), поэтому делали не "машину мечты", а то, что будет неплохим и хорошо продающимся. Ну и если вдруг памяти мало, а буратино попался богатым, можно было взять проц (корзина с платами), воткнуть в него (в корзину) ещё плату, (возможно) переставить перемычки и вуаля - у нас уже 248 кб (а то и 4 мб) памяти. А не нужно было столько памяти или буратино просадил все свои сольдо - продаём базовый процессор подешевле, ну а если вдруг сольдо таки найдутся - продаём доп плату и все. Так что не фига он там не был прикручен
Цитата Сообщение от AFZ Посмотреть сообщение
сбоку
- всё было очень логично - с точки зрения ведения бизнеса, а не хотелок людей из 21 века
И точно так же сделали FPP

И кстати - это сейчас, когда всё упаковано в одну две микросхемы похожее решение (вот одна микросхема без MMU, а вот вторая микросхема - MMU) было бы решением сбоку, а во времена процессоров из нескольких плат - всё достаточно логично и с точки зрения техники

Цитата Сообщение от AFZ Посмотреть сообщение
можно сделать что-то подобное, используя ресурсы ОС
Необязательно. Виртуальные массивы в FORTRAN при работе под SJ/FB - тому пример. И работать, кстати, будут быстрее, чем под ОС, потому что той ещё надо управлять - кто где память занял

Цитата Сообщение от AFZ Посмотреть сообщение
это надо напрягаться программисту
Слепить при условии разделения кода по нескольким файлам можно и без программиста - на коленках, но выжать максимум производительности, а не так, что бы постоянно оверлеи с диска подкачивались (в памяти переотображались) - тут таки да, придётся попотеть программисту

А цену работа под включённым MMU можно понять (весьма грубо, правда) по

Под SB

Копирование в NL:

65534*512/(2:37)/1024 = ~ 209 кб/с

Копирование на другой ZF с проверкой (два чтения, одна запись, сравнение в памяти)

65534*512*3/(11:25)/1024 = ~ 144 кб/с


Под XM

Копирование в NL:

65534*512/(3:07)/1024 = ~ 175 кб/с

Копирование на другой ZF с проверкой (два чтения, одна запись, сравнение в памяти)

65534*512*3/(13:13)/1024 = ~ 124 кб/с

то есть в районе 10-20 процентов

- - - Добавлено - - -

Цитата Сообщение от AFZ Посмотреть сообщение
А здесь до этого не догадались
Аха, конечно, там одни тупые пьяные инженеры сидели