Помощь - Поиск - Пользователи - Календарь
Полная версия: Сверхоперативная память
Форум «Всё о Паскале» > Другое > Свободное общение
striker
Нужен доклад на тему: Сверхоперативная память

Я конечно понимаю yandex, rambler, google ...
Ищу пока, но не много нашел, тем более с иннетом проблемы.
Может у кого есть или ссылочку дадите?
andriano
"Сверхоперативная память" - этот термин либо не является общеупотребительным, либо в настоящее время устарел. Надо бы уточнить, что именно ты под ним понимаешь.
Altair
Цитата
"Сверхоперативная память" - этот термин либо не является общеупотребительным

Термин широко распространен в инженерной среде и означает регистровую память процессора.
http://www.intuit.ru/department/hardware/mpbasics/4/2.html
http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%...%BE%D1%80%D0%B0

К книгу Питера Нортона "Программно-аппаратная организация компьютера IBM PC" так же стоит посмотреть, там хорошо и на доступном уровне объясняются основы сверхоперативной памяти и кстати там она так и называется.
hardcase
Смею дополнить, не только регистровую память. Это еще и кэш-память процессора (L1, L2, L3).
По поводу иерархии памяти и кое чего про кэш было хорошо написано у Криса Каспеского (книжка вот тута, на столе у меня лежит) "Техника оптимизации программ. Эффективное использование памяти".
andriano
Цитата(Altair @ 17.02.2008 11:40) *

Термин широко распространен в инженерной среде и означает регистровую память процессора.
http://www.intuit.ru/department/hardware/mpbasics/4/2.html
http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%...%BE%D1%80%D0%B0
Я ведь не зря упомянул про то, что термин, вероятно, является устаревшим.
Понимаешь, проблема в том, что трактовка свероперативной памяти как регистровой появилась задолго до разработки архитектуры Intel x86. А архитектура это, надо сказать, была весьма своеобразной. В первую очередь просто смехотворно малым количеством регистров общего назначения (РОН).
Если в процессоре, скажем, 128 РОН, то такой пул регистров можно рассматривать как небольшой кусочек памяти, а если их всего 4, да еще каждый из них имеет специфическое назначение, то рассматривать их в качестве памяти уже весьма сомнительно. Кроме того, в то время было принято выделять из всех регистров аккумулятор. Т.е. сверхоперативная память на регистрах отдельно, а аккумулятор - отдельно. В х86 же аналог аккумулятора (AL, AX, EAX) входит в состав РОН. Поэтому если уж говорить о сверхоперативной памяти как о памяти регистров процессора, то надо оговаривать, что к архитектуре х86 это неприменимо. А ссылки твои касаются именно регистров х86.
Сегодня под сверхоперативной памятью, в особенности, если дело касается х86, принято понимать кэш-память. Но во избежание путаницы этим термином (сверхоперативная) предпочитают не пользоваться, употребляя термин "кэш".
Цитата

К книгу Питера Нортона "Программно-аппаратная организация компьютера IBM PC" так же стоит посмотреть, там хорошо и на доступном уровне объясняются основы сверхоперативной памяти и кстати там она так и называется.

В каком году она была написана?

striker, в общем, вопрос остается в силе - что ты под этим подразумеваешь. Сегодня, с моей точки зрения, надо либо рассматривать эту тему исключительно в историческом аспекте, обратив внимание на то, что к настоящему времени этот термин практически вышел из упоребления с узаканием причин, по которым это произошло, либо конкретизировать вопрос с точки зрения современной терминологии: что имеется в виду, регистры или кэш.
Altair
Здесь спорить не о чем.
Сверхоперативная память есть как раз регистры, т.к. именно они являются источниками самой быстрой (отсюда и название сверхоперативная) памяти, которой может пользоваться процессор.

Кэш (или кеш?) конечно тоже является сверхоперативной памятью по данному показателю, но с ним нельзя оперировать (?).

Цитата
Поэтому если уж говорить о сверхоперативной памяти как о памяти регистров процессора, то надо оговаривать, что к архитектуре х86 это неприменимо.

Вполне применимо и применяют.

Добавлено через 5 мин.
А вот аргумент в пользу того, что термин является употребимым и не устаревшим.
Кстати про кэш там ничего не сказано.
andriano
Цитата(Altair @ 17.02.2008 16:32) *

Здесь спорить не о чем.
Я не спрю, я объясняю.
Цитата

Сверхоперативная память есть как раз регистры, т.к. именно они являются источниками самой быстрой (отсюда и название сверхоперативная) памяти, которой может пользоваться процессор.
Еще раз: принято разделять память (устройство для хранения данных) и аккумулятор (устройство для обработки данных). Все регистры х86 предназначены для обработки и, в то же время, их слишком мало, чтобы всерьез можно было говорить о функции хранения.
Это первое.
Второе: современные процессоры имеют мало общего со своей программной моделью. В частности, скорость доступа к регистру и ячейке кэша может быть одной и той же.
Цитата

Кэш (или кеш?) конечно тоже является сверхоперативной памятью по данному показателю, но с ним нельзя оперировать (?).
Во-первых, начиная с Pentium III, можно. А во-вторых, если бы и было нельзя, то что?
Нельзя оперировать с конвейером, но это же не значит, что его не существует.
Цитата

Вполне применимо и применяют.
ПрименяЛИ.
С появлением и популяризацией архитектуры х86 на нее пытались спроецировать те термины, которые существовали в выч.технике до этого. Не всегда удачно. Что в конце концов поняли и потому перестали употреблять этот термин. Кроме, возможно, нескольких авторов либо склонных к плагиату, либо не имеющих представлений о современном состоянии полупроводниковой отрасли.


Кстати, раскрою еще одну тайну:
Раньше оперативную память делали на магнитных сердечниках или линиях задержки. В общем, не на полупроводниках. Но т.к. работала она не слишком быстро, то делали буферную полупроводниковую память на триггерах (называемую также регистрами). Именно эту память и принято было называть сверхоперативной или регистровой. К регистрам микропроцессора эта память никакого отношения не имеет, являясь полным функциональным аналогом современной кэш-памяти. Так что отождествление сверхоперативной памяти с регистрами процессора - лишь результат терминологической путаницы, связанной с многозначностью слова "регистр".
Altair
Когда один человек пытается противоречить многим это смешно.
andriano, лично для себя можешь считать как знаешь, по теме уже все сказано выше.
andriano
Цитата(Altair @ 17.02.2008 16:32) *
А вот аргумент в пользу того, что термин является употребимым и не устаревшим.
Обрати внимание, что текст посвящен исключительно регистрам, кроме заголовка термин "сверхоперативная память" нигде не встречается.
Кроме того, достаточно прочитать статью, чтобы понять, что регистры, упоминаемые в данной статье Википедии, никакого отношения к регистрам процессора не имеют.
И, самое главное: разве Википедия не дает трактовок устаревшим терминам?
hardcase
Цитата(Altair @ 17.02.2008 16:32) *
Кэш (или кеш?) конечно тоже является сверхоперативной памятью по данному показателю, но с ним нельзя оперировать (?).

Кстати про кэш там ничего не сказано.
Регистры в контексте реферата менее интересны, чем кэш-память, хотябы потому, что регистровая память чрезвычайно мала, и реализуется отностительно тривиально (лично игрался в VHDL на ПЛИС).
Кэш-память гораздо интереснее. Это, бывает, реальная двухпортовая память (1 уровень кэша), это стратегии доступа к кэшу, это стратегия поддержки синхронизации кэша и оперативной памяти.

Во всяком случае, в упомянутой мною книге Криса Касперского кэшу посвящена целая глава (160 страниц).

Оперировать с кэшем, формально нельзя, но зато можно писать код так, чтобы часто исполняемые участки (например циклы) умещались в кэш-линейку, устранять зависимости по данным и прочие более сложные техники.
andriano
Цитата(Altair @ 17.02.2008 17:00) *

Когда один человек пытается противоречить многим это смешно.
andriano, лично для себя можешь считать как знаешь, по теме уже все сказано выше.

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

Добавлено через 2 мин.
Цитата(hardcase @ 17.02.2008 17:06) *

Оперировать с кэшем, формально нельзя, но зато можно писать код так, чтобы часто исполняемые участки (например циклы) умещались в кэш-линейку, устранять зависимости по данным и прочие более сложные техники.
Раз уж мы говорим о х86, то формально можно: набор инструкций, начиная с SSE, содержит средства управления кэш-памятью.
hardcase
Цитата(andriano @ 17.02.2008 17:06) *

Раз уж мы говорим о х86, то формально можно: набор инструкций, начиная с SSE, содержит средства управления кэш-памятью.
Имел в виду программирование на языках высокого уровня.
Низкоуровневое программирование с использованием SSE уже совсем другая история rolleyes.gif
andriano
Цитата(hardcase @ 17.02.2008 17:25) *

Имел в виду программирование на языках высокого уровня.
Низкоуровневое программирование с использованием SSE уже совсем другая история rolleyes.gif

Можно или нельзя - вопрос принципиальный.
Т.е. возможность есть.
А уж включать эту возможность в каждый конкретный ЯВУ - дело исключительно его разработчика. (есть же в Си переменные со спецификатором register)
Даже в уже существующих ЯВУ можно подискутировать о возможности использования ассемблерных вставок и реализации библиотечных функций типа копирования памяти.

PS. Никто, кстати, не мешает компилятору при встрече с целочисленными переменными, имеющими имена "i" и "j" закреплять за ними сразу местечко в кэше. ;)
cooler
кэш скорее всего
striker
Да.

Вобщем спросил, сказали кэш, а про регистры процессора - можно рассмотреть как первый уровень

Есть у кого ссылочка на подробное описание кэш (уровни, схема работы,...)?
hardcase
Возможно стоит внимательнее читать сообщения?
Цитата(hardcase @ 17.02.2008 15:50) *
кое чего про кэш было хорошо написано у Криса Каспеского "Техника оптимизации программ. Эффективное использование памяти".
striker
Все уже отчитался... всмысле доклад
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.