Evgeny_CDАрхитектор (28.11.2016 15:31, просмотров: 293) ответил Codavr на Ты эта, не переводи стрелки на цену линейной памяти. Сделать регулярную структуру нифига не одно и то же с навертеть целую кашу. И скорость у линейной памяти в разы выше, чем в каскаде всякой фигни. Давай колись как представляешь объект в хардовом
Все просто. Управление выделением памяти - аппаратный TLSF ->. http://caxapa.ru/157408.html
Пусть в 32 битном проце 1G - это адресация объектов, 1G - это адресация внутри объекта (offset). Жестко делим по адресам.
Щину обычного процессора раздвояем. Обычная шина памяти. И шина работы с объектами.
Для каждого объекта есть дескриптор. Пусть он будет как кеш лайн по размеру у обычных процов.
Гигабайт адресов объектов делим на 4 части: создание, delete, атомарный доступ, доступ с offset.
Делаем чтение или запись по нужному адресу нужного объекта. Либо дескриптор в кеше объектов, либо его туда засосут (в потерями тактов; упреждающая работа преветствуется).
Далее обращаемся в сегмент offset с нужной величиной смещения. Аппаратный контроллер берет актуальный дескриптор, будет оттуда базовый адрес, добавляет смещение, и выставояет это на шину данных процессора. Все остальное (кеши, шины и проч) работает как всегда.
Я описал самый простой вариант - в виде "нашлепка" на стандартный RISC процессор. Если ввести специальные команды в асм, и обучить тулчейн работе с ними, будет еще проще и быстрее (по исполнению).
Аппаратные оверхеды небольшие. несколько кб на TLSF (+ реализация самих его алгоритмов), второй цеш для шины "объектов", гененатор адресов для основной шины данных.