Реестры очень, очень дорогие, потому что они должны быть очень и очень быстрыми, и к ним нужно одновременно обращаться из многих мест.
Например, если у вас есть утверждения a = a + x; b = b + x; c = c + x; у вас есть три инструкции, которые все хотят прочитать один и тот же регистр. Таким образом, регистр - это не просто память. Также есть все пути данных, которые должны быть в процессоре, поэтому одни и те же данные из регистра, содержащего x, могут быть отправлены одновременно на три команды. И данные могут идти во многие, многие места. Если вы пишете double a = x; и x - целое число, тогда должен быть путь данных, который отправляет регистр x в блок с плавающей точкой. Или к векторной единице. И так далее.
У вас возникла проблема не только с тем, что вам нужно хранить данные, но и вы должны убедиться, что они доступны. Если вы пишете x = y + z; a = a + x; кто-то должен отслеживать, когда первая команда запускает, что регистр, удерживающий x, недействителен прямо сейчас, пока не будет сохранен результат добавления, и прекратите выполнение второго добавления. Это супер дорого.
Таким образом, существует гораздо больше возможностей для создания регистра, чем просто добавление немного памяти, и для этого необходимо заплатить. И регистры настолько важны для скорости процессора, что для их построения используются самые дорогие и самые быстрые технологии.
Думать адресации. Они близки к ALU, поэтому у нас минимальная ширина шины для выбора мультика регистра. Это напрямую связано с шириной команды, которая может выбирать только ограниченное количество регистров. Если у вас было 1024 регистра общего назначения, вам понадобится 10 бит в инструкции для выбора каждого регистра. –
Также подумайте о часах. Чем больше у вас есть, тем больше оно, что обычно требует более медленной тактовой частоты. Вот почему ваша оперативная память работает с более низкой тактовой частотой, чем ваш процессор. –
Предложение и спрос. Реестров очень мало, поэтому они очень дороги. Кэш L1 ограничен, но не как регистр. L2 более распространен. ОЗУ много. Диск в изобилии. S3 бесконечен. Более обильный, дешевый, но медленный доступ. –