Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 5

Впечатляющий труд. В однотактную модель Вы смогли вместить и кэш-память. Очень интересное слово "проброс". Никогда не встречал. Насколько я понял, так Вы обозначаете ситуацию когда вместо кэша результат дает память. По сути сейчас (из той версии кода, что я смотрел) у Вас кэш и внешняя память работают параллельно за один такт. Если где-то подкачал кэш - выручает память. Поэтому никаких потерь в коремарке и не обнаружилось.

Мне казалось, bypass так и переводится, бывает же проброс портов. Да, кэш и память параллельно возвращают результат, но поскольку запрос к памяти делается по флагу проверки кэша, цепочка логики удлинилась.

обычно используют кальку "байпас" или просто - обходной путь. Но у Вас как-то живее. Если бы кэш был ОН, а память ОНА, то фраза "она меня пробросила" была бы в точку :)

То есть в кэш инструкций попадают инструкции, работающие с памятью, а в кэш данных не попадают значения из стека, которые пачкой читаются в регистры. Возможно это стоило бы сделать фичей, если только память и дальше будет успевать отвечать за один такт.

Здесь Вы сделали изобретение до которого в свое время не могли додуматься инженеры Analog Devices в своих DSP, У них традиционно были две памяти - память программ и память данных. Но память программ делалась двухпортовой т.к. в одном такте DSP мог делать две операции с данными. Одна из таких операций могла давать конфликт с чтением команды из памяти программ. И только со временем у них появился кэш, который хранил только "конфликтные" инструкции.

Отлично, AD догнали и перегнали, теперь осталось обогнать Intel.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации