Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 21.03.23 17:02
Оценка: 5 (1) -1 :))) :))
На процессорах устанавливают десятки мегабайт кеш-памяти третьего уровня.

Почему бы им не выделить часть этой памяти, скажем 20%, в личное управление компилятора?

Регистрами управлять можно явно, а памятью на процессоре почему-то нет.

Нелогично.

80% памяти в процессоре останутся кешем! Производительность не пострадает (правило 80/20).
Re: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: alpha21264 СССР  
Дата: 21.03.23 17:09
Оценка: 4 (1) +4
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>На процессорах устанавливают десятки мегабайт кеш-памяти третьего уровня.


ЭФ>Почему бы им не выделить часть этой памяти, скажем 20%, в личное управление компилятора?


ЭФ>Регистрами управлять можно явно, а памятью на процессоре почему-то нет.


ЭФ>Нелогично.


ЭФ>80% памяти в процессоре останутся кешем! Производительность не пострадает (правило 80/20).


1) Раньше так делали. Сейчас перестали.
Первая проблема, с которой ты столкнёшься — как поделить эту память с другими процессами?

2) Команды прямого управления кэшем в современных процессорах есть.

3) В большинстве случаев автоматический кэш работает лучше, чем ручное управление.

Течёт вода Кубань-реки куда велят большевики.
Re[3]: Почему к регистрам доступ дают, а к памяти на процесс
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 22.03.23 06:43
Оценка: 18 (4)
Здравствуйте, Osaka, Вы писали:

A>>1) Раньше так делали. Сейчас перестали.

O>Где делали?

В PentiumPro были средства управления (публично не документировались).

A>>2) Команды прямого управления кэшем в современных процессорах есть.

O>А можно вообще без RAM запустить комп? Windows 2000 (и даже XP) шла и на меньшем кол-ве RAM, чем теперь бывает кэша.

В период начиная от P2 и до Intel ME — BIOS использовала кэш для временной эмуляции оперативной памяти для своего старта.
Может работать и сейчас, только надо как-то логику в ME отрубить нахрен.

O>Получился бы совсем минималистичный nedo-pc: только процессор, на который заведено питание, и несколько выводов используется для программной симуляции USB и HDMI.


X86 — не пойдёт. Нужен как минимум южный мост, даже если предельно урезанный.
В HPC использовались варианты, когда даже BIOS доступна через PCI-E-over-Infiniband.
The God is real, unless declared integer.
Re[5]: Почему к регистрам доступ дают, а к памяти на процесс
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 06.05.23 07:15
Оценка: 7 (2)
Здравствуйте, Философ, Вы писали:

N>>В PentiumPro были средства управления (публично не документировались).


Ф>А откуда известно, что были? Что-нибудь это использовало?


У меня материальных хвостов не осталось, только воспоминания. Но выглядело так:

С нашей конторой дружила видеостудия, в которой как-то сказали (это было около 2000) "если у вас есть компы на PPro и вы апгрейдитесь, отдавайте их нам". Мы им отдали, они привели в порядок (от пыли и до адекватных кулеров), а потом показали результаты. Два рядом компа, один на паре PPro/180МГц, второй на паре PIII/500МГц, и первый быстрее выполняет операцию рендеринга и монтажа (такая себе софтовая задумчивость — часа 2-4 на один 10-минутный выходной ролик), процентов на 20.

Они таким образом задёшево набрали себе 3-4 выкинутых уже за моральной старостью (для остальных) dual PPro (именно dual, одиночные их не интересовали).

А потом их техдиректор рассказал про две фишки в основе этого успеха:
1) Кэш делился на 4 части, которые можно было раздельно блокировать от изменения. Софт пробегал по коду hot path рендеринга с открытой для изменения только одной четвертью, потом её блокировал, остальные, наоборот, разрешал, и уже начинал постоянно работать.
2) И вторая фишка — что dual PPro можно было заставить делать float128 арифметику при которой FPU объединялись и, что критично, давали более корректную реализацию IEEE754, чем тогдашние FPU.

Вот следующее поколение PIII (начиная с ~800МГц и особенно Tualatin) эта штука уже не могла обогнать — и когда новые PIII заметно подешевели, они на них стали переходить и PPro уже стал им неинтересен. (PIII давал SSE с исправленной плавучкой, оставался вопрос скорости.)

Позже другой человек рассказывал, что этот PPro с госзаказом на него вытянул тогда Intel из банкротства, вызванного пачкой причин, как FDIV bug и внутренние проблемы. Речь шла об HPC кластере ASCI Red. Правительство фактически оплатило полную цену за создание out-of-order процессора на базе x86 и это дало Intelʼу успех ещё лет на 20, так что даже провалы с P4 и Itanium их не убили. (К вопросу о ценности гос. лапы.)

Найти людей из той конторы сейчас сложно, и я не уверен, что они помнят подробности. Я и не старался, мне достаточно было того, что помню.
The God is real, unless declared integer.
Re: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: romangr Россия  
Дата: 22.03.23 05:57
Оценка: 1 (1) +1
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Регистрами управлять можно явно, а памятью на процессоре почему-то нет.


Регистрами тоже нельзя управлять. Например, у Skylake
180 целочисленных физических регистров и 168 физических FP регистров, но доступа к ним нет, а есть только к архитектурным 16 регистрам целочисленным и к 32 векторным.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[6]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Codealot Земля  
Дата: 25.04.23 22:47
Оценка: -2
Здравствуйте, alpha21264, Вы писали:

A>Вопрос именно об этом. Давай для начала ты напишешь,

A>1) как и за счёт чего будет происходить выигрыш в предполагаемой системе
A>(по сравнению с системами, где уже есть prefetch/flush)
A>Превысит ли этот выигрыш 1%.

Этот вопрос мы может быть рассмотрим, но чуть позже.

A>2) как ты собираешься делить этот ресурс с другими процессами.


... потому что ты задаешь настолько нелепые вопросы, что я удивляюсь. Точно так же, как это делается с основной памятью — запросил блок памяти и получил, или получил ошибку. Ты не в курсе, как это делается?
Ад пуст, все бесы здесь.
Re[3]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Wawan Россия http://www.wawan.ru/resume
Дата: 04.05.23 20:39
Оценка: +1 :)
Здравствуйте, Codealot, Вы писали:

C>Здравствуйте, reversecode, Вы писали:


R>>почему ваши печень почки сердце желудок кишки находятся внутри под костями и прикрыты кожей ?

R>>ведь было бы вам удобнее, каждый орган было бы видно насколько хорошо работает
R>>и докторам было бы удобнее лечить
R>>и вообще можно было бы вам отцеплять и прицеплять их, в случае плохой функциональности

C>Нелепая, глупая аналогия.


нормальная аналогия, не ко всему нужен доступ, сердце вот вообще не подсоединиено к нашей нервной ситеме
программисты без багов ничего написать не могут, и требуют доступ в кишки процессора, ха ха ха
Re[11]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: CreatorCray  
Дата: 05.05.23 00:48
Оценка: +2
Здравствуйте, Codealot, Вы писали:

C>Ничего личного, но бессмысленно объяснять сложные вещи человеку, который не в состоянии их понять. Так что сначала надо убедиться, что я не буду метать бисер.

Чувак...
В зеркало посмотрись, да?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[5]: Почему к регистрам доступ дают, а к памяти на процесс
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 23.03.23 14:13
Оценка: +1
Здравствуйте, Osaka, Вы писали:

N>>В период начиная от P2 и до Intel ME — BIOS использовала кэш для временной эмуляции оперативной памяти для своего старта.

N>>Может работать и сейчас, только надо как-то логику в ME отрубить нахрен.
O>А вот тут https://habr.com/ru/company/dsec/blog/282546/ пишут всякие страсти, что новые процессоры неработоспособны без управления встроенным в чипсет секретным независимым компом от АНБ.

Вполне верю. Тут не обязательно АНБ, просто логика в том, что если вообще ME способна делать чудеса типа удалённого включения-выключения, то инициализацию перед стартом процессора и всё такое, включая детект оперативной памяти — волей-неволей придётся внести туда. Значит, дублировать не надо.

Поэтому с момента появления таких реализаций туда в южный мост перенесена вся логика, которая при подаче питания детектирует: оперативу, устройства (какие из них должны быть активны в базовом выключенном режиме — например, для Wake-on-LAN), собирает эти данные и ждёт сигнала на включение. Когда приходит команда включаться и стартует основной процессор, он получает уже готовые данные об аппаратной конфигурации.

И АНБ не первопричина. Первопричина — корпорации, которые могут выставлять произвольные хитрые требования к своему железу — а корпорации, в среднем, хранят секреты местами получше государственных спецслужб (потому что коммерческий интерес сильнее моральных страданий о деньгах налогоплательщиков). АНБ с компанией получает уже готовые решения, хотя да, может использовать их более творчески

O>

1. Вырезать (обнулить) ME регион из SPI флэш-памяти.

O>Те, кто пробовал так делать сообщают о том, что их платформа либо не загружалась без наличия подлинной прошивки ME, либо выключалась ровно после 30 минут работы.

O>Отказ компьютерной системы грузиться без прошивки Intel ME можно объяснить важностью ME-контроллера в процессе инициализации аппаратной составляющей. А 30-минутный таймаут наводит на мысль о WDT (Watch Dog Timer).


Первое — да, в той части BIOS, что исполняется обычным процессором, может уже не быть нужной функциональности. Второе — не знаю, мне время в 30 минут кажется чудовищно завышенным. Нормальный watchdog сработал бы, я думаю, быстрее
The God is real, unless declared integer.
Re[2]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 25.04.23 21:54
Оценка: :)
M> Пиши под графические процессоры. Там дают.

Как только появится российский графический процессор с общедоступной документацией, так сразу и начну.
Re[3]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: reversecode google
Дата: 04.05.23 15:59
Оценка: :)
C>Нелепая, глупая аналогия.

это называется инкапсуляция

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

жаль что вы не способны видеть таких аналогий
Re[2]: Почему к регистрам доступ дают, а к памяти на процесс
От: Osaka  
Дата: 21.03.23 17:21
Оценка:
A>1) Раньше так делали. Сейчас перестали.
Где делали?
A>2) Команды прямого управления кэшем в современных процессорах есть.
А можно вообще без RAM запустить комп? Windows 2000 (и даже XP) шла и на меньшем кол-ве RAM, чем теперь бывает кэша.

Получился бы совсем минималистичный nedo-pc: только процессор, на который заведено питание, и несколько выводов используется для программной симуляции USB и HDMI.
Отредактировано 21.03.2023 17:28 Osaka . Предыдущая версия .
Re[3]: Почему к регистрам доступ дают, а к памяти на процесс
От: alpha21264 СССР  
Дата: 21.03.23 17:40
Оценка:
Здравствуйте, Osaka, Вы писали:

A>>1) Раньше так делали. Сейчас перестали.

O>Где делали?

На VAX-ах.

A>>2) Команды прямого управления кэшем в современных процессорах есть.

O>А можно вообще без RAM запустить комп? Windows 2000 (и даже XP) шла и на меньшем кол-ве RAM, чем теперь бывает кэша.
O>Получился бы совсем минималистичный nedo-pc: только процессор, на который заведено питание, и несколько выводов используется для программной симуляции USB и HDMI.

Ну, есть такая штука, как "система на кристалле".
Правда, там данные впихнуты не в кэш, а просто кристалл содержит некоторое небольшое количество памяти.

Течёт вода Кубань-реки куда велят большевики.
Re: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Michael7 Россия  
Дата: 21.03.23 19:26
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Регистрами управлять можно явно, а памятью на процессоре почему-то нет.


Подозреваю, что с точки зрения изготовителей слишком жирно будет для потребителя.
Помимо прочего ведь сейчас компьютер много чего прячет от своего владельца и получение им доступа, например, к Intel SGX воспринимается как уязвимость, которую надо фиксить. Часть биоса вообще зашифрована и приняты меры, чтобы хозяину расшифровать нельзя было и т.п. А ты доступ к кэшу...
Современный x86 вообще уже давно не совсем настоящий, скорее интерпретатор поверх ядра, к которому точно нет никакого доступа.
Re[3]: Почему к регистрам доступ дают, а к памяти на процесс
От: Zhendos  
Дата: 21.03.23 21:03
Оценка:
Здравствуйте, Osaka, Вы писали:

A>>1) Раньше так делали. Сейчас перестали.

O>Где делали?

На процессоре на основе ARM видел. Встроенную прямо в кристал процессора SRAM можно
было использовать или как память или как то ли L2, то ли L1 кэш. Совместного режима правда не было,
или так или так.

A>>2) Команды прямого управления кэшем в современных процессорах есть.

O>А можно вообще без RAM запустить комп? Windows 2000 (и даже XP) шла и на меньшем кол-ве RAM, чем теперь бывает кэша.

Ну ARM процессоры можно. Там например NOR flash можно использовать как readonly память, откуда процессор будет
брать код для исполнения и никакой записываемой памяти кроме регистров.
Re[3]: Почему к регистрам доступ дают, а к памяти на процесс
От: aik Австралия  
Дата: 21.03.23 23:49
Оценка:
Здравствуйте, Osaka, Вы писали:

O>А можно вообще без RAM запустить комп? Windows 2000 (и даже XP) шла и на меньшем кол-ве RAM, чем теперь бывает кэша.


Так вроде биос так и работает — из кэша, пока память не найдет/натренирует.
Re[3]: Почему к регистрам доступ дают, а к памяти на процесс
От: vsb Казахстан  
Дата: 22.03.23 07:02
Оценка:
Здравствуйте, Osaka, Вы писали:

A>>2) Команды прямого управления кэшем в современных процессорах есть.

O>А можно вообще без RAM запустить комп? Windows 2000 (и даже XP) шла и на меньшем кол-ве RAM, чем теперь бывает кэша.

Любой компьютер запускается без RAM. Оперативная память инициализируется и становится доступна поздней. В целом ничего не мешает её не инициализировать и продолжить работу без неё, если написать специальную ОС.
Re[4]: Почему к регистрам доступ дают, а к памяти на процесс
От: Osaka  
Дата: 22.03.23 21:41
Оценка:
N>В период начиная от P2 и до Intel ME — BIOS использовала кэш для временной эмуляции оперативной памяти для своего старта.
N>Может работать и сейчас, только надо как-то логику в ME отрубить нахрен.
А вот тут https://habr.com/ru/company/dsec/blog/282546/ пишут всякие страсти, что новые процессоры неработоспособны без управления встроенным в чипсет секретным независимым компом от АНБ.

1. Вырезать (обнулить) ME регион из SPI флэш-памяти.

Те, кто пробовал так делать сообщают о том, что их платформа либо не загружалась без наличия подлинной прошивки ME, либо выключалась ровно после 30 минут работы.

Отказ компьютерной системы грузиться без прошивки Intel ME можно объяснить важностью ME-контроллера в процессе инициализации аппаратной составляющей. А 30-минутный таймаут наводит на мысль о WDT (Watch Dog Timer).

Отредактировано 22.03.2023 21:52 Osaka . Предыдущая версия .
Re[2]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Codealot Земля  
Дата: 25.04.23 16:20
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Первая проблема, с которой ты столкнёшься — как поделить эту память с другими процессами?


Никогда не слышал про выделение блоков памяти?

A>2) Команды прямого управления кэшем в современных процессорах есть.


prefetch / flush в лучшем случае.
Ад пуст, все бесы здесь.
Re: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Muxa  
Дата: 25.04.23 19:31
Оценка:
Пиши под графические процессоры. Там дают.
Re[3]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: alpha21264 СССР  
Дата: 25.04.23 19:37
Оценка:
Здравствуйте, Codealot, Вы писали:

A>>Первая проблема, с которой ты столкнёшься — как поделить эту память с другими процессами?


C>Никогда не слышал про выделение блоков памяти?


Я это непосредственно реализовывал в рамках ядра linux.
Могу рассказать, насколько это тяжёлая операция.
И почему избавление от неё иногда ускоряет программу в разы.

A>>2) Команды прямого управления кэшем в современных процессорах есть.


C>prefetch / flush в лучшем случае.


Это именно то, что надо.

Течёт вода Кубань-реки куда велят большевики.
Re[4]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Codealot Земля  
Дата: 25.04.23 19:41
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Я это непосредственно реализовывал в рамках ядра linux.

A>Могу рассказать, насколько это тяжёлая операция.
A>И почему избавление от неё иногда ускоряет программу в разы.

Если вызывается очень часто, то может быть. Но делать так очевидно неправильно.
Ну или вопрос радиуса кривизны.

A>Это именно то, что надо.


Вообще не то, о чем был вопрос.
Ад пуст, все бесы здесь.
Re[5]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: alpha21264 СССР  
Дата: 25.04.23 21:09
Оценка:
Здравствуйте, Codealot, Вы писали:

A>>Я это непосредственно реализовывал в рамках ядра linux.

A>>Могу рассказать, насколько это тяжёлая операция.
A>>И почему избавление от неё иногда ускоряет программу в разы.

C>Если вызывается очень часто, то может быть. Но делать так очевидно неправильно.

C>Ну или вопрос радиуса кривизны.

A>>Это именно то, что надо.


C>Вообще не то, о чем был вопрос.


Вопрос именно об этом. Давай для начала ты напишешь,
1) как и за счёт чего будет происходить выигрыш в предполагаемой системе
(по сравнению с системами, где уже есть prefetch/flush)
Превысит ли этот выигрыш 1%.
2) как ты собираешься делить этот ресурс с другими процессами.

Течёт вода Кубань-реки куда велят большевики.
Re: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Codealot Земля  
Дата: 25.04.23 22:48
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Почему бы им не выделить часть этой памяти, скажем 20%, в личное управление компилятора?


На высокоскоростных пепяках типа FPGA так и делается.
Ад пуст, все бесы здесь.
Re[6]: Почему к регистрам доступ дают, а к памяти на процесс
От: mike_rs Россия  
Дата: 26.04.23 07:32
Оценка:
Здравствуйте, netch80, Вы писали:

N>И АНБ не первопричина. Первопричина — корпорации, которые могут выставлять произвольные хитрые требования к своему железу — а корпорации, в среднем, хранят секреты местами получше государственных спецслужб (потому что коммерческий интерес сильнее моральных страданий о деньгах налогоплательщиков). АНБ с компанией получает уже готовые решения, хотя да, может использовать их более творчески


первопричина — деньги. Интел по подписке может включать доп ядра, увеличить частоту и поддержать больше памяти на серверных чипах. Без ME такого не провернуть
Re[7]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: alpha21264 СССР  
Дата: 03.05.23 12:06
Оценка:
Здравствуйте, Codealot, Вы писали:

A>>Давай для начала ты напишешь,

A>>1) как и за счёт чего будет происходить выигрыш в предполагаемой системе
A>>(по сравнению с системами, где уже есть prefetch/flush)
A>>Превысит ли этот выигрыш 1%.

C>Этот вопрос мы может быть рассмотрим, но чуть позже.


Этот вопрос нужно обсуждать прежде всего.
Потому что без него всё остальное бессмысленно.

A>>2) как ты собираешься делить этот ресурс с другими процессами.


C>... потому что ты задаешь настолько нелепые вопросы, что я удивляюсь. Точно так же, как это делается с основной памятью — запросил блок памяти и получил, или получил ошибку. Ты не в курсе, как это делается?


Это ты делаешь настолько странные заявления, что я удивляюсь.
"Точно так же как с основной памятью" поступить с кэшем процессора невозможно.
Потому что все характеристики кэша (в первую очередь объём)
по сравнению с основной памятью различаются в миллион раз.
Сейчас запрос на захват памяти удовлетворяется в 99.9999999% случаев.
Что сделает обычная программа, когда не получит запрошенную память?
До просто прекратит свою работу. Ну не предусматривают современные программисты таких сценариев.

А с кэшем что? А с кэшем всё наоборот — там 16К на всех.
Первый процесс его захватит, а остальным придёт отказ.
И что ты предлагаешь делать в этом случае?

Течёт вода Кубань-реки куда велят большевики.
Re[8]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Codealot Земля  
Дата: 03.05.23 23:28
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Этот вопрос нужно обсуждать прежде всего.

A>Потому что без него всё остальное бессмысленно.

Простые вопросы сначала, сложные — потом.

A>А с кэшем что? А с кэшем всё наоборот — там 16К на всех.

A>Первый процесс его захватит, а остальным придёт отказ.
A>И что ты предлагаешь делать в этом случае?

Во первых, забудь про кэш. То, что предлагается — это не кэш, а такая же память как основная, только более скоростная.
Во вторых, твои данные давно устарели, а на современных процессорах одного только L1 кэша мегабайт, то есть в 64 раза больше твоей цифры. Ну а L3 может быть и все 128 мегабайт (это на десктопе, на серверах больше во многие разы). Не так давно, вообще всей памяти на компе было намного меньше.
В третьих, в таком случае можно, к примеру, просто выделить более медленную память. И/или добавить квоты.
И в четвертых, что делать с криворукими софтоделами, которые забирают слишком много памяти? То же что и всегда — не использовать их продукцию.
Ад пуст, все бесы здесь.
Re[9]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: alpha21264 СССР  
Дата: 04.05.23 15:19
Оценка:
Здравствуйте, Codealot, Вы писали:

A>>Этот вопрос нужно обсуждать прежде всего.

A>>Потому что без него всё остальное бессмысленно.

C>Простые вопросы сначала, сложные — потом.


Сначала вопрос "нахрена".
Потому что без него всё бессмысленно.

A>>А с кэшем что? А с кэшем всё наоборот — там 16К на всех.

A>>Первый процесс его захватит, а остальным придёт отказ.
A>>И что ты предлагаешь делать в этом случае?

C>Во первых, забудь про кэш.


Во-первых, не забуду. Ты предлагаешь впихнуть память вместо кэша.
И чем больше ты впихнёшь, тем меньше останется кэшу. С соответствующими последствиями.

C>То, что предлагается — это не кэш, а такая же память как основная, только более скоростная.


Это не "такая же память". У неё свойства другие.

C>Во вторых, твои данные давно устарели, а на современных процессорах одного только L1 кэша мегабайт, то есть в 64 раза больше твоей цифры. Ну а L3 может быть и все 128 мегабайт (это на десктопе, на серверах больше во многие разы). Не так давно, вообще всей памяти на компе было намного меньше.


В любых современных процессорах размер кэша L1 = 32 КБайта. Это связано с фундаментальными ограничениями.
Ты перепутал — Мегабайт — это размер кэша L2. И он медленнее в разы. L3 ещё больше и ещё медленнее.
Объём памяти никак не помешает криворуким программистам попросить больше, чем есть в наличии.
Но чем больше памяти ты впихнёшь в процессор, тем медленнее она будет.
И возвращаемся к вопросу "нахрена".

C>В третьих, в таком случае можно, к примеру, просто выделить более медленную память. И/или добавить квоты.


Я не знаю, что значит "добавить квоты" применительно к уже изготовленному процессору.

Если "выделить более медленную память", то мы возвращаемся к пункту ноль — а чем эта система лучше кэша?
Кэш именно это и делает. Располагает данные поближе-подальше.
Только он делает это автоматически, параллельно с основной работой, не теряя тактов основной программы.
А ты будешь делать это вручную, своими командами тратя время.
И возвращаемся к вопросу "нахрена".

C>И в четвертых, что делать с криворукими софтоделами, которые забирают слишком много памяти? То же что и всегда — не использовать их продукцию.


Тебе придётся выбросить всё. Вообще всё. Потому что как бы программисты ни писали свои программы,
всегда можно запустить одновременно столько программ, что "быстрая" память кончится.
А с кэшем такого не происходит — там нужные данные динамически подсасываются.
И возвращаемся к вопросу "нахрена".

Ну да, ты можешь приделать к своей "быстрой" памяти все механизмы работы кэша.
Многоуровневость, передачу данных между уровнями и основной памятью,
выталкивание ненужных данных, механизмы обеспечения когерентности...
Но только тогда именно кэш и получится. Только управляемый софтом и тратящий ОЧЕНЬ МНОГО лишнего времени.

Течёт вода Кубань-реки куда велят большевики.
Re: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: reversecode google
Дата: 04.05.23 15:23
Оценка:


почему ваши печень почки сердце желудок кишки находятся внутри под костями и прикрыты кожей ?
ведь было бы вам удобнее, каждый орган было бы видно насколько хорошо работает
и докторам было бы удобнее лечить
и вообще можно было бы вам отцеплять и прицеплять их, в случае плохой функциональности
Re[10]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Codealot Земля  
Дата: 04.05.23 15:48
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>Сначала вопрос "нахрена".

A>Потому что без него всё бессмысленно.

Ничего личного, но бессмысленно объяснять сложные вещи человеку, который не в состоянии их понять. Так что сначала надо убедиться, что я не буду метать бисер.

A>Это не "такая же память". У неё свойства другие.


В чем другие, кроме очевидной разницы в скорости и латентности?

A>В любых современных процессорах размер кэша L1 = 32 КБайта. Это связано с фундаментальными ограничениями.


Только что ты писал про 16К, а теперь уже 32? Ну и кто путает?

A>L3 ещё больше и ещё медленнее.


Всё еще на порядок быстрее, чем основная память.

A>Объём памяти никак не помешает криворуким программистам попросить больше, чем есть в наличии.


Объем кэша и сейчас не мешает им это делать. Если кто-то забивает весь кэш своими данными, то всем остальным остается только сосать лапу.

A>Я не знаю, что значит "добавить квоты" применительно к уже изготовленному процессору.


Добавить квоты для отдельных процессов.

A>не теряя тактов основной программы.


Ничего себе, какие новости. И кэш-промахи тоже совсем не теряют тактов?

A>А с кэшем такого не происходит — там нужные данные динамически подсасываются.


Происходит, просто ты этого не замечаешь.

A>Но только тогда именно кэш и получится. Только управляемый софтом и тратящий ОЧЕНЬ МНОГО лишнего времени.


Делать это как предлагаешь ты, несомненно, не имеет ни малейшего смысла.
Ад пуст, все бесы здесь.
Re[2]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Codealot Земля  
Дата: 04.05.23 15:49
Оценка:
Здравствуйте, reversecode, Вы писали:

R>почему ваши печень почки сердце желудок кишки находятся внутри под костями и прикрыты кожей ?

R>ведь было бы вам удобнее, каждый орган было бы видно насколько хорошо работает
R>и докторам было бы удобнее лечить
R>и вообще можно было бы вам отцеплять и прицеплять их, в случае плохой функциональности

Нелепая, глупая аналогия.
Ад пуст, все бесы здесь.
Re[4]: Почему к регистрам доступ дают, а к памяти на процесс
От: Codealot Земля  
Дата: 04.05.23 16:01
Оценка:
Здравствуйте, reversecode, Вы писали:

R>это называется инкапсуляция


И это концепция языков высокого уровня. Не ассемблера.
Ад пуст, все бесы здесь.
Отредактировано 04.05.2023 16:01 Codealot . Предыдущая версия .
Re[4]: Почему к регистрам доступ дают, а к памяти на процесс
От: Codealot Земля  
Дата: 04.05.23 21:24
Оценка:
Здравствуйте, Wawan, Вы писали:

W>сердце вот вообще не подсоединиено к нашей нервной ситеме


Если у тебя это так, то ты какой-то очень странный мутант.

Автономная нервная система — часть нервной системы организма, которая отвечает за бессознательную деятельность организма. К таким автоматическим процессам относятся процессы кровообращения, сердцебиения, дыхания, половая деятельность, выделение пота, слюны и т. п.


W>программисты без багов ничего написать не могут, и требуют доступ в кишки процессора, ха ха ха


Может ты еще предложишь принудительно пересадить всех на java-процессор, и вперед, к пробитию нового уровня дна по производительности?
По хорошему, багоделов вообще нельзя допускать до ассемблера. Да и до программирования в целом.
Ад пуст, все бесы здесь.
Отредактировано 04.05.2023 21:26 Codealot . Предыдущая версия .
Re[10]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: CreatorCray  
Дата: 05.05.23 00:48
Оценка:
Здравствуйте, alpha21264, Вы писали:

A>В любых современных процессорах размер кэша L1 = 32 КБайта.

L1 бывает Code и Data, так что в сумме уже больше. И это per core.
Потом, у наших процов (M1/M2) L1 значительно больше чем 32К: 192K Code + 128K Data на perf корках.
Так что уже не у любых современных.

A>И возвращаемся к вопросу "нахрена".

+1
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[12]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Codealot Земля  
Дата: 05.05.23 01:26
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Чувак...

CC>В зеркало посмотрись, да?

Я только предположил, вывод пока не сделал.
А ты можешь предъявить мне что-то конкретное?
Ад пуст, все бесы здесь.
Re[11]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Codealot Земля  
Дата: 05.05.23 01:37
Оценка:
Здравствуйте, CreatorCray, Вы писали:

A>>И возвращаемся к вопросу "нахрена".

CC>+1

Просвещайтесь. https://developer.arm.com/documentation/den0042/a/Tightly-Coupled-Memory
Хотя, надо признать, в нашем мире Электрона и "гиг памяти — не ресурс" не стоит слишком рассчитывать на появление этого в мире x86
Ад пуст, все бесы здесь.
Re[4]: Почему к регистрам доступ дают, а к памяти на процесс
От: Философ Ад http://vk.com/id10256428
Дата: 05.05.23 19:32
Оценка:
Здравствуйте, netch80, Вы писали:

N>В PentiumPro были средства управления (публично не документировались).


А откуда известно, что были? Что-нибудь это использовало?
Всё сказанное выше — личное мнение, если не указано обратное.
Re[11]: Почему к регистрам доступ дают, а к памяти на процессоре - нет?
От: Codealot Земля  
Дата: 10.05.23 15:52
Оценка:
Здравствуйте, CreatorCray, Вы писали:

Ну что, ознакомился?
Ад пуст, все бесы здесь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.