2

Я читал во многих подробных статьях, что данные из регистров используются в качестве операндов для ALU для добавления двух 32-битных целых чисел, и это лишь малая часть того, что может сделать ALU ,Может ли регистрироваться внутри процессора делать Arithmetics

Однако я также читаю, что Регистр может даже делать арифметику? Разница между ними довольно размыта, какова четкая разница в разрезе между регистром и фактическим компонентом ALU?

Я знаю, что ALU не сохраняет значения, а получает его, и ему поручено просто выполнить логическую часть, но регистр может хранить и делать вещи общего назначения?

Если последнее верно, то когда используется ALU, а когда это делается при использовании регистров общего назначения?

+0

Есть несколько форм регистров, которые делают «арифметика», например, http://en.wikipedia.org/wiki/Shift_register - но я сомневаюсь, что это то, что вы ищете. –

+0

Интересно, я посмотрю на это, спасибо SK-Logic – user3129884

ответ

0

Регистры не выполняют арифметические операции. В современных ядрах есть несколько «исполнительных блоков» или «функциональных блоков», а не «ALU». Разумным правилом является отказ от любого текста (онлайн или печатного), который говорит в терминах ALU в контексте основных процессоров. «ALU» по-прежнему имеет смысл в контексте встроенных систем, где μC может иметь ALU, но в остальном это, по сути, анахронизм. Если вы это видите, обычно все это говорит вам, что материал серьезно устарел.

3

Регистры не могут выполнять арифметические операции. «Реестр» - это просто термин для места, где вы можете придерживаться значения. Вы можете выполнить арифметику значений , хранящихся в регистрах, и вернуть результаты в регистр. Эта арифметика будет выполняться с помощью «ALU», который является общим термином для части процессора, который выполняет хруст.

Если вы все еще смущены чем-то конкретным, что вы читаете, процитируйте его здесь или напишите цитату, и кто-то может попытаться уточнить. Обратите внимание, что «register» и «ALU» являются очень универсальными терминами и реализованы и используются по-разному в каждой архитектуре.

+0

Большое спасибо, я верю в это, откуда возникла путаница. «Почти все компьютеры, архитектура загрузки или нет, загружают данные из большей памяти в регистры, где они используются для арифметики», но я вижу, что они означают, что эти значения проверяются компонентом ALU, а не фактическим регистром , Однако, какие данные хранятся в магазине? Я знаю статус, но в чем состоит общая цель? – user3129884

+0

Это предложение просто говорит о том, что большинство компьютеров не работают напрямую с значениями в объемной памяти. Вместо этого они загружают отдельные значения из памяти в регистры, где они работают. Затем результаты сохраняются в памяти из регистров. – TypeIA

+0

«Регистры общего назначения» означает только регистры без особого значения, где вы можете поместить произвольные значения и действовать на них.Вы можете думать о них очень сильно, как локальные переменные в программе. – TypeIA

1

Хотя верно, что регистры, собственно говоря, не выполняют арифметические операции, возможно построить схему, в которой оба сохраняют число, и, когда задана конкретная строка ввода, увеличивает это число. Его можно интерпретировать как регистр, который выполняет (очень ограниченное количество) арифметику. Как это бывает, обычно нет такой схемы для ЦПУ общего назначения (кроме , возможно, в качестве счетчика программ), но такие схемы могут быть полезны в простых цифровых контроллерах.

[Примечание: исторически первые такие схемы были сделаны из вакуумных трубок и используются в Geiger счетчиков, чтобы подсчитать, сколько радиоактивные события распада происходили в течение коротких периодов времени]

Смежные вопросы