Урок 6: Память и иерархия памяти
На прошлом уроке все схемы были без памяти — выход определялся только текущими входами. Теперь мы пересекаем важную границу: последовательностная логика — схемы, которые помнят. Их выход зависит не только от входов, но и от состояния, сохранённого в них из прошлого. Мы начнём с наименьшей единицы хр
До сих пор мы видели схемы, которые сразу забывают. Теперь мы построим схемы, которые помнят: триггер, хранящий один бит, быстрые регистры в процессоре и большую RAM. И мы увидим, почему самые используемые данные держат близко и быстро — в кэше.
- Последовательностная логика
- Схема, выход которой зависит и от текущих входов, и от состояния, сохранённого в ней из прошлого, — то есть схема с памятью. Противоположность комбинационной логике.
- Защёлка
- Базовая последовательностная схема, способная хранить один бит: в неё можно «защёлкнуть» 0 или 1, и он остаётся до тех пор, пока его не изменят.
- Триггер
- Однобитная единица хранения, обновляющаяся в такт синхросигналу. Триггер типа D «захватывает» значение входа в момент тактового импульса и хранит его до следующего импульса.
- Регистр
- Небольшая группа триггеров (например, 8, 32 или 64), которая хранит целое значение внутри процессора. Это самая быстрая память в компьютере.
- RAM (оперативная память с произвольным доступом)
- Большой массив ячеек памяти, к каждой из которых можно обратиться напрямую по адресу — чтобы прочитать или записать байт в этой ячейке. Энергозависима: стирается при отключении питания.
- Адрес
- Число, идентифицирующее конкретную ячейку в памяти. Вы даёте адрес и получаете (или записываете) значение в этой ячейке, как номер квартиры в доме.
- Энергозависимый
- Свойство памяти терять своё содержимое в тот момент, когда отключается питание. RAM энергозависима; диск и SSD энергонезависимы.
- Кэш
- Очень маленькая, очень быстрая память рядом с процессором (L1/L2/L3), которая хранит копию часто используемых данных, чтобы избежать медленного обращения к RAM.
- Иерархия памяти
- Лестница памяти по скорости, размеру и стоимости: регистры → кэш (L1/L2/L3) → RAM → SSD/диск. Чем быстрее уровень, тем он меньше и дороже.
- Локальность обращений
- Склонность программ снова обращаться к данным, которые они только что использовали, или к соседним данным. Благодаря ей маленький кэш хорошо «угадывает», что понадобится вскоре.