LINUX.ORG.RU

История изменений

Исправление watchcat382, (текущая версия) :

можно ли FPGA задействовать

зачем,если в проце и так всё уже есть?

Для дискуссии.

Ну например такой вариант: Делаем на FPGA кэш-контроллер. В качестве кэш-памяти используем обычную динамическую память, гигов так несколько,примерно как ОЗУ сейчас. А в качестве основной памяти - энергонезависимую флэш-память размером в сотни гигов,как SSD диски. Но флэш-память нужна с произвольным доступом,а не spi или еще что-нибудь последовательное.

При «инсталляции» программы она записывается в флэш с привязкой к адресам. А потом используется execute in place - как это сделано в некоторых встроенных системах.

В чем смысл - экономим время на перекачивании программного кода с диска в ОЗУ и привязку к адресам. Сейчас привязка при каждом запуске выполняется,а будет один раз. К тому же где-то видел статью про то,что из всего загруженного в ОЗУ исполняемого файла типично исполняется какой-то довольно небольшой процент кода. В предлагаемой конфигурации неисполняемый код даже в быструю память копироваться не будет.

Да и как таковые диски всё чаще и так флэш-памятью заменяются. А быстрая динамическая память в качестве кэша нужна чтобы код быстро исполнялся и флэш медленнее «протирался». Да и доступ на запись у флэша только блоками.

Сразу скажу - идея не лично моя, она возникла лет двадцать назад в переписке в какой-то из телеконференций. Но в те времена была абсолютно не реализуема для физлиц,тем более российских. А сейчас вобщем-то можно замахнуться. Хотябы с применением какого-нибудь «устаревшего» процессора попроще,под который сможет сделать системную плату одна из китайских фабрик,с физлицами работающая. И даже пример реализации контроллера кэша на ПЛИС доступен - например вот: https://github.com/omega-rg/Cache-Controller

Придумывали же раньше люди архитектуру компов чуть ли не в гаражах - а почему сейчас нельзя с этим экспериментировать. Сам я к сожалению никогда не работал с ПЛИС так что такое на VHDL не запрограммирую. В основном потому что не представляю как это отлаживать.

Исходная версия watchcat382, :

можно ли FPGA задействовать зачем,если в проце и так всё уже есть? Для дискуссии.

Ну например такой вариант: Делаем на FPGA кэш-контроллер. В качестве кэш-памяти используем обычную динамическую память, гигов так несколько,примерно как ОЗУ сейчас. А в качестве основной памяти - энергонезависимую флэш-память размером в сотни гигов,как SSD диски. Но флэш-память нужна с произвольным доступом,а не spi или еще что-нибудь последовательное.

При «инсталляции» программы она записывается в флэш с привязкой к адресам. А потом используется execute in place - как это сделано в некоторых встроенных системах.

В чем смысл - экономим время на перекачивании программного кода с диска в ОЗУ и привязку к адресам. Сейчас привязка при каждом запуске выполняется,а будет один раз. К тому же где-то видел статью про то,что из всего загруженного в ОЗУ исполняемого файла типично исполняется какой-то довольно небольшой процент кода. В предлагаемой конфигурации неисполняемый код даже в быструю память копироваться не будет.

Да и как таковые диски всё чаще и так флэш-памятью заменяются. А быстрая динамическая память в качестве кэша нужна чтобы код быстро исполнялся и флэш медленнее «протирался». Да и доступ на запись у флэша только блоками.

Сразу скажу - идея не лично моя, она возникла лет двадцать назад в переписке в какой-то из телеконференций. Но в те времена была абсолютно не реализуема для физлиц,тем более российских. А сейчас вобщем-то можно замахнуться. Хотябы с применением какого-нибудь «устаревшего» процессора попроще,под который сможет сделать системную плату одна из китайских фабрик,с физлицами работающая. И даже пример реализации контроллера кэша на ПЛИС доступен - например вот: https://github.com/omega-rg/Cache-Controller

Придумывали же раньше люди архитектуру компов чуть ли не в гаражах - а почему сейчас нельзя с этим экспериментировать. Сам я к сожалению никогда не работал с ПЛИС так что такое на VHDL не запрограммирую. В основном потому что не представляю как это отлаживать.