ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Среда
28 июля
/190442
Топик полностью
Ксения (19.04.2010 00:00 - 10:54, просмотров: 354) ответил koyodza на а Вы не этим сейчас занимаетесь? Сколько регистров должен иметь достойный МК? 32? А если их, скажем, 28, то он уже недостойный? А что будете делать, если вдруг встретите МК с 40 регистрами? Тогда всё, конец, потеря веры в справедливость?
Слишком много регистров - тоже перебор, т.к. при вызове библиотечных функций приходится все регистры сохранять в памяти, а после вызова восстанавливать их содержимое. В принципе 16 регистров вполне достаточно, но 8 мало! Поэтому 32 - это уже жирно, а 40 уже перебор. Но с двумя регистрами это не жизнь. Разумный критерий здесь таков: регистров должно хватать для передачи параметров функций, чтобы не приходилось каждый раз засовывать их в стек памяти. И хотя число параметров у функций в среднем рано трем, однако сам параметр может оказаться "широким" - в одном регистре не помещаться. На счетчики циклов (хотя бы на один) тоже регистры нужны, т.к. ячея памяти здесь неудобна. Ведь этот счетчик не только считает обороты, но и от него образуются индексы для перечисляемых в цикле элементов массивов. Ну и большое подспорье, если регистров хватает на локальные переменные (пусть даже не на все) - это тоже ускоряет часто вызываемые функции.
Ответить
Ответы