ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 апреля
617310
Николай Коровин (02.09.2015 00:30, просмотров: 10334)
Ночной наброс на тему экономии памяти (CISC vs RISC). Как олдфаги пишут код? Си, си, си, си, узкое место на асме, си, си, си, си... Вроде бы и пишется в основном удобно и легко, но и узкие места оптимизируются до неприличия (и даже иногда генерятся прогой "по обстоятельствам", жёстко оптимизированные под конкретный рантаймовый случай). А теперь представьте себе CISC-код, где за счёт аккуратной системы команд экономится каждый байт, но скорость так себе, и узкое RISC-место, где память не берегут, но используют преимущества RISC в скорости. Можно сделать систему-на-кристалле двухъядерной, тогда процесс, написанный для CISC-ядра, будет обслуживать громоздкие и не требующие высокой скорости задачи, а процесс для RISC-ядра будет крутить в цикле какие-нибудь ключевые вычисления. Как x86 с математической RISC-платой расширения на шине, ага. А можно не мечтать о своём железе, а просто сделать для RISC-контроллера крошечную виртуальную машину и 95% проги собирать как супер-компактный код для неё, а 5%, требующие максимальной скорости -- как нативный бинарный код самого контроллера. И компилятор этому обучить, "шоп ваще". И систему команд виртуалки подгонять под существующий код, чтобы оптимизировать уже вот прям до упора, ни бита врагу.