Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Но стоило бы ради этого писать статью?Однозначно да.
В какой-то момент нам перестали нравиться существующие решения — что-то оказалось сложным, что-то неоптимальным, что-то просто недоделанным, что-то, чего уж скрывать, имело не очень подходящую лицензию и условия использования.
Набравшись смелости и скрепя зубами мы начали авантюру, решив разрабатывать процессор с самого начала.
пойдёт речь о 32-битном микропроцессоре с оригинальной системой команд
Объясните пожалуйста, почему?пойдёт речь о 32-битном микропроцессоре с оригинальной системой команд32 бита — несколько странный выбор для процессора общего назначения в наше время.
мы просто помешаны на компактности, поэтому все команды переходов имеют три формы — знаковые смещения размерностью 1, 2 и 3 байта.— тоже странно.
Даже текущие 64 битные процессоры архитектуры х86-64 являются 32 битными с 64 битной надстройкой. Itanium, который полностью 64 битный уже давно вымирающий вид.
64 битные ядра пока не нужны рынку микроконтроллеров, там балом будут править 32 битные и ещё очень долго
Да что ж вы всё на intel оглядываетесь
Вопрос — нужно ли там L4?
в архитектуре нет ни одной команды перехода по абсолютному адресу — все переходы осуществляются относительно текущей команды
Вы только что изобрели PAE
А плотность 64-битного кода плохая не потому, что он 64-битный
Определившись с регистрами, мы решили сделать полностью позиционно независимую систему команд — в архитектуре нет ни одной команды перехода по абсолютному адресуа RETURN это не команда что ли?) Производит переход по абсолютному адресу в R15
При загрузке файла происходит настройка его на адрес
Какая при этом разница, сколько нужно изменений?
Этот подход делает фактически невозможной какую-либо экономию памяти за счет динамических библиотек
существует проблема релокации данных
Микропроцессор «из гаража»