![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Почитал разные статьи про кэш процессора. Скажите, правильно-ли я понял, что программное управление кэшем процессора/процессоров - это пока только мечта. Или софт может это делать?
Если конкретнее, мне нужно зафиксировать блок данных в кэше (чтобы его не вытесняли оттудава) пока я с ним работаю. Т.е. так: 1.1 поток 1 создает динамический блок данных 1.1 1.2 ждем, пока в кэше не появится свободное местечко или можно будет вытяснить какой-нибудь блок 1.3 блок 1.1 помещается в кэш и 'фиксируется' там на приколе 1.4 поток 1 заполняет блок 1.1 1.5 поток 1 'помечает' блок 1.1 как готовый 1.6 поток 1 создает динамический блок данных 1.2 ... ... 2.1 поток 2 создает блок 2.1 2.2 блок 2.1 'фиксируется' в кэше 2.3 поток 2 ждет готовности блока 1.1 2.4 поток 2 читает блок 1.1 и пишет в блок 2.1 2.5 блок 1.1 освобождается (уничтожается) 2.1 поток 2 создает блок 2.2 ... ... 3.1 блок 2.1 уходит на дальнейшую обработку или вытесняется из кэша (по обстоятельствам) Ну или насколько всё это актуально. Может игра не стоит свеч и при потоковой обработке данных (обращение к блоку, скажем, ч/з 100 циклов) промахов не будет или их количество будет стремится к нулю. P.S.: Не знал, в какую еще ветку запостить. Последний раз редактировалось Sibedir; 26.02.2013 в 11:20. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
1. В кэше нет блоков, есть строки.
2. Кое-какая возможность по управлению кэшем есть. Например, можно заранее прочитать в кэш фрагмент данных до того, как он понадобится. Но, думаю, не понимая в деталях, как работает кэш, можно сделать только одно - существенно снизить производительность процессора. |
![]() |
![]() |
![]() |
#3 | |||
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Цитата:
Цитата:
------------------------------------------------------------------------------------------------------------------------- Насчёт Цитата:
И еще вопрос. Насколько разнятся реализации кэширования на разных процессорах? И где можно найти более-менее обобщенную информацию по разным типам процессоров по данной теме? ------------------------------------------------------------------------------------------------------------------------- Короче понял. Можно но сложно, жутко заморочено (этож под разные процы по смоему всё нужно делать, не-е-е) и не так уж эффективно по сравнению с тем, что может получиться при более-менее граммотном программировании на ВУЯП'е. Последний раз редактировалось Sibedir; 27.02.2013 в 16:59. |
|||
![]() |
![]() |
![]() |
#4 | ||||
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
Например, не зная особенностей реализации кэша, трудно понять, как в кэш объемом несколько Кбайт может не поместиться 5 байт данных. А это вполне реальная ситуация. |
||||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программное управление температурным датчиком DS18S20 | Terran | Компьютерное железо | 1 | 11.11.2011 12:36 |
Программное управление светодиодом | Jacobson | Общие вопросы Delphi | 5 | 14.05.2010 23:02 |
CPU Internal Cache, программное управление | SunKnight | Свободное общение | 0 | 11.05.2010 22:30 |
Сервис - программное управление. | Air | Win Api | 3 | 23.06.2008 13:09 |