На этой странице обсуждения обсуждаются улучшения в статье о регистре процессоров . Это не форум для общего обсуждения темы статьи. |
Политика статьи
|
Найти источники: Google ( книги · новости · газеты · ученый · бесплатные изображения · WP рефов ) · FENS · JSTOR · NYT · TWL |
WikiProject Вычислительная техника / Аппаратное обеспечение | (Номинальный C-класс, высокая важность) |
---|---|
Флаг внимания
Эта статья, вероятно, заслуживает внимания других людей, знакомых с этой областью. Прежде всего, на самом деле нет общего объяснения того , что реестр является , или , как это реализовано на аппаратном уровне . (По сути, значение, связанное с конкретным адресом, хранящееся в двоичных цифрах с использованием электромагнитного запоминающего устройства.) В этой статье особое внимание уделяется регистрам, находящимся в ЦП; Я не уверен, следует ли это включать сюда или нужно создать общую статью. Другая, связанная с этим проблема заключается в том, что существует множество очень коротких статей, описывающих регистры ЦП, которые используются для определенных целей. Очень сложно понять, как все эти регистры сочетаются друг с другом, читая все эти отдельные статьи (если вы уже не знаете, как эти вещи работают). Я предполагаю, что любому данному регистру (за исключением, конечно, ввода-вывода) обычно будет назначена определенная функция по соглашению, а не потому, что он физически отличается от любого другого регистра. (Этот вопрос несколько неясен.) Возможно, лучший способ связать воедино все различные типы регистров - написать статью «Как процессоры выполняют код», которой, похоже, не существует. Эта статья в основном представляет собой просто список деталей, который не так уж и полезен. - Beland, 06:45, 11 июля 2005 г. (UTC)
- Начав программировать на ассемблере в середине 70-х, я считаю, что эта статья является хорошим началом, ее можно было бы дополнить, некоторые примеры из хорошо известных процессоров ( x86 , 68K и ARM могут показаться подходящими) и DSP (например, DSP56300). ). Я отвечу на каждый ваш вопрос по очереди:
- на самом деле нет общего объяснения того, что такое регистр : в архитектуре старого стиля это было довольно просто: просто набор статических битов ОЗУ, привязанных к конкретным функциям ЦП. В наше время у нас есть регистровые псевдонимы и другие уловки для повышения скорости, которые усложняют проблемы. В качестве примера: архитектура набора команд в Pentium очень похожа на, sat, процессор 386, но внутреннее устройство очень, очень отличается и ужасающе сложно. Итак, 20 лет назад я мог бы дать вам простое объяснение, которое сегодня вводило бы в заблуждение.
- или как это реализовано на оборудовании : опять же, раньше это было просто (защелки и триггеры), но сегодня у нас есть файлы регистров (таблицы регистров, реализованные с очень быстрой оперативной памятью), которые динамически отображаются на определенные функции.
- В этой статье особое внимание уделяется регистрам ЦП : это просто название этой статьи. Смешивание его с регистрами в SCSI , S-ATA , RAMBUS-памяти и т.п. мне показалось бы несущественным.
- Очень сложно понять, как все эти регистры сочетаются друг с другом : иногда регистры слабо связаны, как регистры с плавающей запятой и целочисленные регистры на x86. Вы можете конвертировать, но это явно сделано.
- Я предполагаю, что любому данному регистру (за исключением, конечно, ввода-вывода) обычно будет назначена определенная функция по соглашению, а не потому, что он физически отличается от любого другого регистра. Раньше они были очень, очень разными, но с псевдонимом регистров, файлами регистров и большим количеством внутренних шин данных, все стало более гибким. Стоимость заключается в сложности конструкции, больших размерах кристалла (для обслуживания всех этих шин) и скорости (переход от скрытых функциональных регистров к видимым программистам регистрам в файле регистров.
- его статья в основном представляет собой просто список частей, который не так уж и полезен. Программирование на ассемблере может быть несколько загадочным, но если потратить несколько дней на программирование на ассемблере, вы узнаете логику всего этого. Проблема в том, что нет стандарта, x86 и 68K очень разные, на самом деле ISA - это то, что определяет различия и поведение программиста. - Deleteme42
Кеш процессора
В этой статье говорится о том же, что и кэш ЦП . Имена в значительной степени означают одно и то же: регистр является синонимом кеша, а процессор - процессором. Возможно, нам следует объединить их вместе. - Bookinvestor 10:40, 1 декабря 2007 г. (UTC)
- Нет, регистры - это не то же самое, что кеш. Регистры используются либо для хранения значений, которые используются исполнительными модулями, либо для настройки процессора, в то время как кеши используются для хранения инструкций или данных, которые часто используются процессором. Они могут быть реализованы с использованием того же типа памяти (SRAM), но на этом сходство заканчивается. Рилак, 06:05, 2 декабря 2007 г. (UTC)
Может я придирчивый но проблема с первым примером x86
Привет, я просто искал в Википедии некоторую информацию о регистрах в архитектуре x86, и сама статья о x86 конфликтует с первым примером на этой странице о x86, о котором говорится в этой статье.
«Например, набор инструкций x86 определяет набор из восьми 32-битных регистров»
однако архитектура x86 началась как 16-битная архитектура, поэтому 32-битные регистры фактически не являются требованием x86.
«С появлением 32-битного процессора 80386 16-битные регистры общего назначения, базовые регистры, индексные регистры, указатель инструкций и регистр FLAGS, но не сегментные регистры, были расширены до 32 бит» - из Википедии / x86 - раздел 32-битных регистров
Я собираюсь пойти дальше и изменить «Например, набор инструкций x86 определяет набор из восьми 32-разрядных регистров» на что-то вроде «Например, набор инструкций x86 определяет набор 16-разрядных регистров, однако большинство современных x86 процессоры расширили их до 32-битной длины, количество регистров также кажется немного меньшим, поскольку исходный 16-битный x86 имел 14 16-битных регистров, 32-битный должен иметь 10.
Нет, думаю, я просто заменю x86 на IA-32 и уберу восьмерку. Думаю, подойдет.
Это страница обсуждения. Пожалуйста, соблюдайте правила страницы обсуждения и не забывайте подписывать свои сообщения, набирая четыре тильды (~~~~).
Спасибо за напоминание
Боб Человек 801 10:04, 6 июля 2010 г. (UTC)
Указатель стека как целочисленный регистр (в 6502)
Вы обычно не думаете об указателе стека как об общем (целевом) регистре целых чисел (в 6502). Но не могли бы вы использовать его как единое целое? Может быть, включить или добавить в качестве примечания. Я спрашиваю, так как W65C816S (кажется, вариант), кажется, включает SP в счет (и ARM, где это действительно общий). Есть ли резонанс, он должен там учитываться, а не быть последовательным? comp.arch ( обсуждение ) 15:02, 4 июня 2013 (UTC)
- Dec PDP-11 номинально имел 8 регистров, но один использовался как указатель стека, а другой как счетчик команд. Вы действительно можете выполнять арифметические операции с любым из этих регистров, например, для удаления параметров из стека вы только что отрегулировали указатель стека с помощью инструкции ADD или SUB. DEC VAX был похож, но с 16 регистрами вместо 8. Мюррей Лэнгтон ( выступление ) 16:15, 4 июня 2013 г. (UTC)
Ячейка IBM
Не могу найти IBM Cell в таблице. Может быть, мне стоит указать SPE (в IBM Cell), потому что Cell включает Power Arch (PPE), который, очевидно, имеет больше регистров. Я не уверен, что означают целые числа и ячейки FP. Я думаю, что они должны быть объединены в одну ячейку, поскольку SPE кажутся унифицированными (есть ли еще регистры?) См .: http://en.wikipedia.org/wiki/IBM_Cell#Synergistic_Processing_Elements_.28SPE.29
Другой (более чистый) унифицированный целочисленный и плавающий, не вектор, хотя и многоядерный, Epiphany , может быть добавлен в качестве унифицированного примера. У этого есть 32 32-битных унифицированных регистра (на ядро, то есть 16 или 64 или до 4096 в будущем). comp.arch ( обсуждение ) 15:46, 4 июня 2013 (UTC)
Этимология
У кого-нибудь есть информация о том, как слово « регистр» стало использоваться для этой части компьютера? Если не считать чистых домыслов. - Пользователь: Dolda2000 ( обсуждение ) 05:23, 2 апреля 2014 г. (UTC)
Регистр общего назначения
Что касается GPR (в шаблоне: архитектура процессора Infobox ), общее означает «обычно используется таким же образом» в отличие от регистров специального назначения? Я имею в виду «регистры» с зашитой в ноль, их можно использовать как источник, как и любые другие. Но они не могут использоваться как пункт назначения, так как не как «общие». Их обязательно посчитают георадаром? Я не вижу лучшего альтернативного термина для настоящих общих регистров. Целочисленные регистры - не лучшая замена GPR, как например. SP (обычно) целочисленный регистр данных специального назначения (а ноль - целое число) .. comp.arch ( talk ) 17:04, 23 мая 2014 г. (UTC)
Xilinx Спартанский
У меня, кажется, есть некоторые сомнения по поводу утверждения, что Xilinx Spartan имеет 1 регистр GPR и 3 регистра FP. Как FPGA, любое количество регистров может быть реализовано в пределах аппаратного обеспечения как часть проекта, и проект не обязательно должен быть процессором для начала. Раркенин ( разговор ) 10:32, 20 апреля 2016 (UTC)
ARM32 описание
Это частично связано с тем, что было сказано ранее о регистре указателя стека 6502, но относится к чипам ARM. По крайней мере, в более старых версиях (ARM2 / ARM3 / и т. Д.) R13 был только указателем стека по соглашению. Что касается ЦП, он был универсальным, поскольку не было специальных инструкций стека (AFAIK, это также верно и для новых чипов с 32-битным адресным пространством, при условии, что они работают в режиме ARM (не Thumb) (см. Http : //www.davespace.co.uk/arm/introduction-to-arm/registers.html ). R14 также можно использовать как регистр общего назначения, за исключением случаев, когда используется инструкция BL (переход со ссылкой) (которая устанавливает его на обратный адрес), поэтому, возможно, существует 15 георадаров с оговоркой о R14. С другой стороны, я почти уверен, что R14 также заменяется при смене банка. Эти утверждения согласуются с тем, что написано в https: // en. wikipedia.org/wiki/ARM_architecture . Если не будет возражений, я внесу соответствующие изменения в запись? Спасибо! 95.149.246.82 ( обсуждение ) 23:07, 4 июня 2016 г. (UTC)
Примеры неоптимальных постоянных регистров
«Регистры констант содержат доступные только для чтения значения, такие как ноль, единица или число пи ». на мой взгляд, излишний и вводящий в заблуждение, так как вначале может возникнуть впечатление, что эти регистры содержат только одноразрядное значение константы или, по крайней мере, что как-то полезно сделать эти тривиальные значения константами; а затем совершает радикальный поворот в том, что они могут удерживать трансцендентные числовые константы. :) (чтобы прокомментировать этот поворот редактирования ) - Михал ( разговор ) 00:37, 9 января 2018 г. (UTC)
- Казалось бы, архитекторы процессоров, которые определили и реализовали регистры с постоянным нулем (наиболее распространенные примеры) на нескольких разных процессорах, не согласны с вашим мнением о том, что они бесполезны. Я не вижу никакого смысла в «константе с одним битовым значением», поскольку такие регистры обычно имеют такую же ширину, что и любой из GPR. (Если ваш GPR имеет ширину 64 бита, чтобы установить его на ноль, вам нужно очистить все 64 бита!) В ответ на ваше возражение по поводу трансцендентных чисел было бы разумно добавить «приближение к» к упоминанию числа пи. Дже ( разговор ) 01:10, 9 января 2018 (UTC)
Категории регистров: буферный регистр памяти (MBR) и регистр данных памяти (MDR)
В разделе «Категории регистров» внутренние регистры «Буферный регистр памяти (MBR)» и «Регистр данных памяти (MDR)» связаны с одной и той же статьей. Однако в связанной статье нет четкого различия между двумя упомянутыми регистрами.
В связанной статье ( https://en.wikipedia.org/wiki/Memory_buffer_register ), похоже, подразумевается, что оба термина означают одно и то же. В статье говорится следующее: «Регистр буфера памяти (MBR) или регистр данных памяти (MDR) - это регистр в процессоре компьютера или центральном процессоре, CPU, который хранит данные, передаваемые в и из хранилища немедленного доступа. "
Другой источник, похоже, предполагает, что двое зарегистрированных означают одно и то же.
Можете ли вы использовать один термин, если это действительно одно и то же? Или вы можете отредактировать документ, чтобы устранить различия? - Предыдущий неподписанный комментарий добавлен Supmethods ( обсуждение • вклад ) 16:33, 30 июня 2018 г. (UTC)
CUDA
Каким бы способом вы не определяли и не считали регистры, записи таблицы CUDA - полная чушь. Мне придется вернуться с настольного компьютера, где я могу внести приличные изменения, но в нынешнем виде строка CUDA в таблице совершенно неверна. 85.255.235.215 ( разговорное ) 21:23, 8 января 2020 (UTC)
- Разобрался как редактировать с телефона и заменил запись CUDA на что-то толковое. Тем не менее, необходимо ссылаться на Руководство по программированию CUDA C. 85.255.235.215 ( разговорное ) 21:43, 8 января 2020 (UTC)