Архитектура компьютера→Команды инкремента/декремента адреса памяти.→Добавить мнение
В отпуске, пишу не с рабочего компа, пароля к форуму под рукой нет, поэтому анонимом. Вообще-то это пишет kvas.
Просто подумалось, если принять, что архитектура памяти будет состоять из двухтрайтных слов, а адресация сделана так, что значение последнего трита определяет, адресуется ли старший трайт слова (значение "+1"), младший трайт слова (значение "-1"), или слово целиком (значение "0").
Тогда потребуется специфическая команда инкремента адреса памяти, которая не будет всегда добавлять единицу, а будет в зависимости от значения последнего трита аргумента делать следующее:
"+1" - прибавляет 1,
"-1" - прибавляет 2,
"0" - прибавляет 3,
и парная ей команда декремента адреса памяти, которая не будет всегда вычитать единицу, а будет в зависимости от значения последнего трита аргумента делать следующее:
"-1" - вычитает 1,
"+1" - вычитает 2,
"0" - прибавляет 3.
Это всё можно реализовать и программно, но аппаратная реализация может сэкономить, на мой взгляд, много-много тактов. Уж слишком часто применяться эти команды будут.
Просто подумалось, если принять, что архитектура памяти будет состоять из двухтрайтных слов, а адресация сделана так, что значение последнего трита определяет, адресуется ли старший трайт слова (значение "+1"), младший трайт слова (значение "-1"), или слово целиком (значение "0").
Тогда потребуется специфическая команда инкремента адреса памяти, которая не будет всегда добавлять единицу, а будет в зависимости от значения последнего трита аргумента делать следующее:
"+1" - прибавляет 1,
"-1" - прибавляет 2,
"0" - прибавляет 3,
и парная ей команда декремента адреса памяти, которая не будет всегда вычитать единицу, а будет в зависимости от значения последнего трита аргумента делать следующее:
"-1" - вычитает 1,
"+1" - вычитает 2,
"0" - прибавляет 3.
Это всё можно реализовать и программно, но аппаратная реализация может сэкономить, на мой взгляд, много-много тактов. Уж слишком часто применяться эти команды будут.
,
