OSDev

для всех
Текущее время: 21 окт 2017, 11:34

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
СообщениеДобавлено: 21 окт 2013, 10:11 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1314
Откуда: Зеленоград
iz56 писал(а):
Himik писал(а):
Всё-равно в Windows скорость реального режима не может быть больше, чем в самом реальном режиме. Скорее всего у тебя тормозится ввод-вывод на экран или диск. Кэширование диска точно есть?

Кстати в ВиртуалБокс тоже быстрее чем в чистом реальном режиме. По ощущению ,впрочем - как измерить вопрос себе пока не задавал.


На самом деле, не факт, что скорость в Винде обязательно не выше, чем в настоящем реальном режиме. Насчёт IA-32 не скажу -- давно от них отошёл, но, например, в изрядном числе АРМов кэш можно включить только после того, как включено MMU, а посему и производительность процессора с выключенным MMU будет ниже (иногда очень сильно ниже), чем с включенным. Нечто подобное нельзя полностью исключать и для IA-32.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 окт 2013, 00:45 

Зарегистрирован: 26 мар 2012, 17:32
Сообщения: 208
> Нечто подобное нельзя полностью исключать и для IA-32.
Например, биты 30 (CD - cache disable) и 29 (WT# - not write-through) управляющего регистра CR0.

Впрочем, использование сегментов с ненулевой базой и не -1 лимитом тоже вносит заметное замедление на нынешних процах, увы. И т.д.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 окт 2013, 22:00 

Зарегистрирован: 10 окт 2013, 14:54
Сообщения: 80
Nable писал(а):
Например, биты 30 (CD - cache disable) и 29 (WT# - not write-through) управляющего регистра CR0.

Без кэша любой нынешний проц превращается в 286й ;) Чем старше модель, тем хуже.
В XP безразмерный кэш + режим доступа к диску + быстрая эмуляция вывода теста вместо биоса + если консоль в венде в оконном режиме - то вывод может быть быстрее, чем в полном экране ;) Память текстмоды - uncached по жизни и выставить другой режим нереально.

Цитата:
Впрочем, использование сегментов с ненулевой базой и не -1 лимитом тоже вносит заметное замедление на нынешних процах, увы. И т.д.

Насколько? Я тут в режиме без страниц сделал сегмент данных стеком с отрезанной страницей по 0 адресу - чтобы запись в 0 ловить... Разницы в скорости, вроде, не вижу. База ненулевая.
p.s. проверил - лимит при ненулевой базе не влияет никак, на интеле E7500, по крайней мере.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 окт 2013, 00:25 

Зарегистрирован: 26 мар 2012, 17:32
Сообщения: 208
> Без кэша любой нынешний проц превращается в 286й ;) Чем старше модель, тем хуже.
Персонаж, а ты 286й вживую видел или для красного словца упоминаешь? Уж больно процитированная строка бездумно написана, далеко это от правды.

> Память текстмоды - uncached по жизни и выставить другой режим нереально.
Write combination buffer, MTRRs - не, не слышали. По крайней мере, насколько я понимаю - нужно выставить
http://wiki.osdev.org/MTRR писал(а):
IA32_MTRR_FIX16K_A0000, in MSR[259] - 8 regions of 16 KB each (128 KB total)
. Другое дело - а надо ли? Всё-таки 2013 на дворе, не всё legacy уходит в прошлое зря.

> В XP безразмерный кэш
Тут уже впору вспомнить цитату "Not sure if troll or just ..." .

> Насколько? Я тут в режиме без страниц сделал сегмент данных стеком с отрезанной страницей по 0 адресу - чтобы запись в 0 ловить.
0_o, а уж null pointer-то зачем сегментацией ловить, если сделать целую non-present страницу так и просится?
А так - вот одна из недавних тем с толковым обсуждением:
http://forum.osdev.org/viewtopic.php?f= ... 12&start=0
Ссылка на интеловский сайт протухла, походу, но файл у меня сохранился, см. аттач.
Вообще говоря, на том осдеве вообще много тем про сегментацию (особенно из-за того как за неё держится rdos в своей одноимённой промышленной ОС), ссылка с примером попыток сравнения производительности, да и самому мне она нравится, но всякий раз приходится констатировать что производители железа на неё забили болт (имхо, в т.ч. потому что практически с самого начала так поступили почти все производители компиляторов), типа недостаточно гибко и удобно.


Вложения:
segmentation on intel Atom.PDF [350.52 КБ]
Скачиваний: 265
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 окт 2013, 08:37 

Зарегистрирован: 10 окт 2013, 14:54
Сообщения: 80
Nable писал(а):
Персонаж, а ты 286й вживую видел или для красного словца упоминаешь? Уж больно процитированная строка бездумно написана, далеко это от правды.

А ты выключи и выполни команду dir ;)
И обрати внимание, как медленно и печально - построчно выводится тест ;)
При чём, на новых стало хуже... Если на CoreDuo запись в видеопамять без WC даёт 40 fps, то на i5 уже 10 fps. И чтение тоже - где-то в доке интела было, что разные предвыборки инструкций могут по несколько раз прочитать одну и ту же uncached память...

Цитата:
Write combination buffer, MTRRs - не, не слышали.
IA32_MTRR_FIX16K_A0000, in MSR

А ты включи - а я посмеюсь ;)
Не, ATI-шки даже дают, и то не все. Что происходит со встроенным интелом и nvidia при попытке поставить WC на B800 - эт песня ;) Особенно отличаются ноуты - многообразием видеоэффектов. Эмуляция текстмоды, видимо, как-то сильно творчески делается...

Цитата:
Тут уже впору вспомнить цитату "Not sure if troll or just ..." .

Без комментариев... странно кому-то объяснять, что под кэш в венде идёт вся свободная память...

Цитата:
0_o, а уж null pointer-то зачем сегментацией ловить, если сделать целую non-present страницу так и просится?

Там написано, что режим _без_страниц_ - не, не читали?

Цитата:
да и самому мне она нравится, но всякий раз приходится констатировать что производители железа на неё забили болт (имхо, в т.ч. потому что практически с самого начала так поступили почти все производители компиляторов), типа недостаточно гибко и удобно.

За ссылку спасибо... Про коллгейты интересно...
Полуось, например, коллгейты использует - для прыжков в ядро. Визуально на том же атоме или i5 никаких тормозов не заметно... Всё-таки одинарная операция - по штуке на вызов API.... Хотя работает она медленней чем венда - но там ещё и 16-битного кода дофига...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 окт 2013, 16:49 

Зарегистрирован: 10 окт 2013, 14:54
Сообщения: 80
Хотя про 286ю соврал ;)
Это у меня на тестовом проверка целостности кучи включена - и она до 286го как раз при выключенном кэше и просаживает ;)
А так - ну четвёрка-первый пень ;) Задержки, всё-равно, очень заметные...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 окт 2013, 01:39 

Зарегистрирован: 26 мар 2012, 17:32
Сообщения: 208
> А ты выключи и выполни команду dir ;)
Когда в школьные годы экспериментировал с Колибри - пробовал выключать (демка там была такая), причём это происходило в графическом режиме. Тормозило сурово, но не то что бы слишком.

> А ты включи - а я посмеюсь
Признаюсь: ответил формально, т.е. я лишь говорю что утверждение "включить кеш невозможно" неверно, а с т.з. того как работать это будет - ясное дело что фигня получится.

> странно кому-то объяснять, что под кэш в венде идёт вся свободная память.
Я к тому что надо конкретизировать про какой именно кеш речь. Если про дисковый - так его и в досе задействовать можно, и в других операционках, правда, если не в дисковый I/O упираешься, то причём тут это. К слову, винды как раз свободную память под кеш весьма неохотно используют (по сравнению с никсами и уж тем более BSD системами), увы.

> Там написано, что режим _без_страниц_ - не, не читали?
Пардон, мозг сходу не распарсил и проигнорировал это. Речь про unpaged protected mode?

> Эмуляция текстмоды, видимо, как-то сильно творчески делается.
Ага, прямо не то слово. Вообще говоря, если бы не наличие памяти текстового режима (0xB8000 или как там), то я бы подумал что нынешние карточки работают исключительно в графическом режиме и VBIOS реализует поддержку текстовых режимов путём программного рендеренья символов в LFB. Ещё помню какой-то бенчмарк (скорее всего, входивший в QTP2000), измерявший производительность видеокарты в текстовом режиме, судя по примерам - начиная примерно с видеокарточек с 16М памяти всё меньше и меньше количество символов в секунду. Правда, я не изучал как он это тестирует: записью по соотв. адресу (и тогда видим нюансы шины, оптимизированной под передачу крупных объектов, т.е. с большой пропускной способностью, но фиговым временем отклика) или вызовами видеобиоса (и тогда можно грешить на bloated говнокод).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 окт 2013, 09:33 

Зарегистрирован: 10 окт 2013, 14:54
Сообщения: 80
Nable писал(а):
Речь про unpaged protected mode?

Угу... где из вариантов отловить запись в ноль - только такой сегмент ;)

Цитата:
судя по примерам - начиная примерно с видеокарточек с 16М памяти всё меньше и меньше количество символов в секунду. Правда, я не изучал как он это тестирует: записью по соотв. адресу (и тогда видим нюансы шины, оптимизированной под передачу крупных объектов, т.е. с большой пропускной способностью, но фиговым временем отклика) или вызовами видеобиоса (и тогда можно грешить на bloated говнокод).

Зависит от того, на одном ли железе тестили... У интела, начиная с моделей 1156 сокета запись в uncached почему-то сильно просела.
На новых вообще с эмуляцией VGA плохо - на ATIшках 4xxx палитра в веса через VGA порты не ставится, например - ну забыли :lol: На следующих, всё-таки, починили...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 апр 2014, 12:05 

Зарегистрирован: 10 апр 2014, 17:12
Сообщения: 68
я под хекс редактором смотрел образ диска виртуальной коробки - первый сектор с сигнатурой, далее голый образ


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 апр 2014, 14:30 
Аватара пользователя

Зарегистрирован: 16 апр 2010, 10:10
Сообщения: 319
Откуда: Псковская обл.
Rammstein писал(а):
я под хекс редактором смотрел образ диска виртуальной коробки - первый сектор с сигнатурой, далее голый образ
Будет время- надо посмотреть самому. Но я использовал штатную утилиту (где-то выше название). По любому - всем спасибо за ответы .


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу Пред.  1, 2, 3

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB