Отговори на тема  [ 17 мнения ]  Отиди на страница Предишна  1, 2
инициализация на паметта чрез DDR контролер 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 1:22 pm
Мнения: 6492
Местоположение: София
Мнение Re: инициализация на паметта чрез DDR контролер
Бъс арбитрирането не е дребна работа, хубаво го премисли. Не знам какво наричаш "асъртване", предполагам, че е нещо
като bus error или machine check exception (все същото в различни архитектури).
Ако е така това предполага такова нещо да се обработи. Ако прекъснеш цикъл на ядро как да е, там обикновено
има как да се справи системата, примерно цикълът се опитва наново (rerun) докато успее. Ако е DMA самото ДМА няма да
има тоя акъл и ще трябва някое от ядрата да види, че са му прекъснали трансфера и да се погрижи да го подкара
наново. И това за всички ДМА-та в системата, а те могат да бъдат много различни, някои може просто да за загубили
информацията за това къде баш е прекъснат трансферът, колко от бърстовете са накюйчени (queued :) и къде и въобще настава една тотална боза.
Дори да успееш да подкараш цялото това нещо - което предполага да познаваш поведението на всички бъс мастъри
в системата - дали ще спечелиш или ще загубиш цикли не ми се вижда особено предсказуемо.

Може би ако просто направиш твой си ДМА контролер който да бъде арбитриран от системния арбитър като
всички останали и да можеш да го пуснеш да бълва нещо към парче от RAM-а е най-реалистичното, което
виждам. Кога това парче е достъпно за операционната система и подобни вече си е работа на самата ОС,
стига ти да и дадеш статусни битове и да оставиш на нея да пуска бърсалката ти (примерно ако исках да ползвам
такова нещо в dps-а бих го пускал когато деалокирам даден клъстер (4к), но когато алокирам
физически клъстер (PTE-то е празно, първи достъп до този логически клъстер довел до page fault) ще трябва да проверявам
дали за тоя клъстер (MMU page в случая за който говоря е = клъстер) не е в процес на бърсане от ДМА-то).

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Пет Ное 26, 2021 9:05 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2588
Местоположение: Велико Търново / София
Мнение Re: инициализация на паметта чрез DDR контролер
HCL написа:

1. Ринг буфер до чиито write pointer нямаш достъп.

Е как пък тей няма да имаш достъп ? Нали ти коландриш цялата система с твоят процесор и твоята програма ?
HCL написа:
2. Подобрена сигурност при споделяне на паметта. Не искаш следващият процес да знае какви променливи си съхранявал и затова нулираш след себеси .

Тя тази памет на твоята платка ли е или е някаква публична памет към която всеки може да се закача ?
HCL написа:
3. Пунктиране - когато структурата с данни съдържа голямо количество нули, процесора може да си спести писането по паметта ако е гарантирано, че същата е била инициализирана с нули.

Е тоз процесор с нафта от 2.50 ли го храниш, ако му хартиса време - икономия или ще копае биткойни в свободното време ? :)
Просто ми стана любопитно и затова питам :)

_________________
https://github.com/slav4ocom/


Съб Ное 27, 2021 1:44 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 17 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни