
Я читаю Уильяма СтоллингсаОперационные системы: внутреннее устройство и принципы проектирования (седьмое издание), и отрывок об иерархии памяти сбил меня с толку. Что имеет в виду автор, когда упоминает «большую стоимость за бит»?
Вот что говорится в соответствующем абзаце на странице 24:
Как и следовало ожидать, существует компромисс между тремя ключевыми характеристиками памяти: емкостью, временем доступа и стоимостью. Для реализации систем памяти используются различные технологии, и в этом спектре технологий соблюдаются следующие соотношения:
- Более быстрое время доступа, более высокая стоимость за бит
- Большая емкость, меньшая стоимость за бит
- Большая емкость, меньшая скорость доступа
Я понимаю, что чем ниже вы спускаетесь по пирамиде иерархии памяти, тем медленнее время доступа.
Например, магнитный диск или карта SSD будут иметь более медленное время доступа, чем регистры ЦП, кэш или оперативная память.
Но что означает "большая стоимость за бит"? Замедляет ли это доступ других процессов к этой памяти? Это кажется нелогичным, поскольку время доступа должно быть меньше? Они просто занимают больше места, и поэтому его становится меньше?
решение1
Стоимость за бит — это денежная стоимость (т. е. в долларах и центах) единицы памяти, вот и все, т. е. способ сказать «предполагая, что объем требуемой памяти тот же». (Можно было бы также сказать стоимость за гигабайт памяти, но упоминание размера подразумевает вариант использования. Бит, вполне возможно, является наименьшим объемом, который можно сохранить.)
решение2
Theстоимость за битэто всего лишь цена, которую вам придется заплатить за определенный объем памяти.
Если некоторый объем памяти марки X стоит $20, а тот же объем памяти марки Y стоит $25, то у марки X лучшая стоимость за бит. Различия в стоимости за бит гораздо более выражены при сравнении разных видов памяти (SRAM, DRAM, flash, SSD...)
решение3
В дополнение к этим другим ответам, в которых справедливо упоминается, что стоимость за бит — это количество денег за бит:
Если у вас есть память, которая хранит 1024 байта, это 8192 бита. Если эта память стоит $10, то это будет $10(стоимость)/8192 бита, или $0,001220703125 за бит. Если у вас есть память с более быстрым временем доступа, возможно, она стоила бы $20, и в этом случае у вас было бы $0,00244140625 за бит.
Faster access time: $0.00244140625 cost per bit
Greater capacity: $0.001220703125 cost per bit
решение4
В частности, регистры ЦП являются самым быстрым и самым дорогим типом памяти. Они занимают самое ценное пространство во всем ПК. Различные уровни кэшей находятся дальше от реальных вычислений, и время распространения электрического сигнала начинает играть роль. Вы не можете построить все это из регистров.