
- •1. Этапы развития вычислительной техники
- •1.1.История появления первых компьютеров
- •1.2.Поколения эвм
- •1.3.Основные типы эвм
- •2. Принципы работы компьютера
- •2.1.Общее устройство компьютера
- •2.2.Производительность компьютера
- •2.3.Архитектура персонального компьютера
- •2.4. Стандарт (конструктив) системного блока персонального компьютера
- •3. Микропроцессор
- •3.1.Общее устройство микропроцессора
- •3.2.Тактовая частота микропроцессора
- •3.3. Разрядность микропроцессора
- •3.4.Архитектура микропроцессора
- •Понятие о кэш-памяти и основные принципы её работы
- •Иерархия кэш-памяти
- •Ассоциативность кэш-памяти
- •Запись информации из процессора в основную память через кэш
- •3.5. Risc-процессоры
- •3.6.Современные микропроцессоры семейства х86
- •Микропроцессоры компании Intel
- •Второе поколение процессоров Core (Penryn)
- •Технологические новшества, применяемые в микропроцессорах Penryn
- •Микропроцессоры компании amd
- •Основные усовершенствования архитектуры в процессорах Phenom:
- •Шина Hyper Transport 3.0
- •Контроллер памяти
- •4. Оперативная память
- •4.1. Понятие об оперативной памяти и её основные характеристики
- •4.2. Требуемый объём памяти
- •4.3. Основные способы реализации оперативной памяти
- •4.4. Разновидности интерфейса динамической памяти
- •4.5. Характеристики оперативной памяти
- •Необходимый объём памяти на современном компьютере
- •4.6. Двухканальные контроллеры памяти
- •4.7. Память ddr2
- •4.8. Память ddr3
- •4.9. Скорость работы памяти
- •Латентность памяти
- •Микросхема spd
- •Пакетный режим передачи данных (Burst Mode)
- •Логические банки памяти
- •1. Активизация строки
- •2. Чтение/запись данных
- •3. Подзарядка строки
- •Соотношения между таймингами
- •5. Шины
- •5.1. Общие сведения о шине
- •5.2. Процессорная шина
- •5.3. Шина Hyper Transport
- •Шина Hyper Transport 3.0
- •5.4. Шина памяти
- •5.5. Шина pci
- •5.6. Шина agp
- •5.7. Последовательная шина pci-Express
- •5.8. Последовательная шина usb
- •5.9. Последовательная шина FireWire
- •5.10. Внешняя шина eSata (External Serial ata)
- •6. Жёсткие диски
- •6.1. Устройство жёсткого диска
- •6.2. Характеристики жёстких дисков
- •6.2.1. Габариты жёстких дисков (Form Factor)
- •6.2.2. Ёмкость жёсткого диска
- •6.2.3. Скорость вращения пластин
- •6.2.4. Система адресации на жёстких дисках
- •6.2.5. Быстродействие жёстких дисков
- •6.2.6. Объём буферной памяти (кэша)
- •6.2.8. Надежность
- •6.3. Интерфейсы жёстких дисков
- •6.4. Raid- массивы
- •6.5. Физическая и логическая структура жёстких дисков
- •6.6. Файловые системы
- •7. Видеоподсистема
- •7.1. Разновидности дисплеев
- •7.2. Основные принципы работы дисплеев на базе электронно-лучевой трубки
- •7.3. Жидкокристаллические дисплеи
- •Основные характеристики lcd-дисплеев
- •7.4. Другие виды дисплеев Плазменные дисплеи
- •Oled- мониторы
- •7.5. Видеоадаптеры
- •8. Микросхемы системной логики
Понятие о кэш-памяти и основные принципы её работы
Если сравнивать частотные характеристики устройств, составляющих ядро современных персональных компьютеров, т.е. центральный процессор (CPU), оперативную память (RAM) и системную шину, то CPU по этому показателю опережает остальные перечисленные компоненты в несколько раз. Чтобы сократить разрыв в быстродействии, между CPU и памятью стали размещать промежуточное звено- блок быстрой оперативной памяти небольшого размера, называемый кэш-память (cache memory), от слова "cache"- веранда, пристройка. Впервые кэш-память была реализована в виде дополнительного устройства, интегрированного в центральный процессор персонального компьютера, на микропроцессоре Intel 486, где её объём составлял всего 8 Кбайт. Быстродействие статической памяти, применяемой в кэше, очень велико, такая память может работать на одной частоте с CPU, но высокая стоимость памяти этого типа не позволяет использовать её в качестве основной (системной) RAM, поскольку это привело бы к недопустимому удорожанию компьютера. Использование же быстродействующей памяти в качестве буфера сравнительно небольшого размера, соединяющего CPU и основную память, позволяет поднять быстродействие компьютера без заметного его удорожания.
При обращении процессора к оперативной памяти, он сначала ищет информацию в кэше, и только если её там не оказалось, продолжает поиск в основной памяти. Считывая информацию из памяти, процессор оставляет копию в кэше. В ходе последующих операций чтения по тем же адресам памяти CPU будет обращаться только к кэшу, без затрат времени на работу с медленной основной памятью.
В основе работы кэш-памяти лежит принцип локальности. Различают два вида локальности: временная и пространственная локальность. Временная локальность заключается в том, что существует высокая степень вероятности того, что при выполнении программы чтение одних и тех же данных из памяти будет повторено в ближайшем будущем. Пространственная локальность предполагает, что при повторном чтении данных из памяти, CPU обратится к соседней ячейке памяти, следующей за той, к которой он обращается в настоящий момент. При чтении данных из памяти, в кэш копируется содержимое сразу нескольких соседних ячеек памяти, и чем больше кэш, тем выше вероятность удачного обращения процессора к быстрой кэш-памяти при чтении последующих данных.
Иерархия кэш-памяти
С появлением микропроцессоров Intel Pentium, интегрированный в CPU кэш разделён на две части. В одной хранятся только команды, в другой- только данные. Это позволяет организовать параллельное выполнение операций, процессор может получать из кэша команды и данные одновременно. В следующем поколении процессоров- Intel Pentium Pro, в составе микропроцессора появился кэш второго уровня (cache level 2), который имеет больший объём, чем кэш первого уровня (cache level 1), работающий с ним в паре. У микропроцессоров Pentium 4 XE (Extreme Edition) 3.2 ГГц с ядром Gallatin появился даже кэш третьего уровня (cache level 3). Обычно в процессорах выдерживается следующее соотношение объёмов кэш-памяти: level 1<level 2<level 3. Например, в Pentium 4 XE (с ядром Gallatin) кэш L3= 2 Мбайт, L2= 512 Кбайт, L1=8 Кбайт. Между тем, бывают исключения из этого правила – процессоры AMD Duron и VIA C3, имевшие кэш L1= 128 Кбайт (из них 64 Кбайт- под команды, 64- для данных) и L2= 64 Кбайт. С учётом иерархии кэш- памяти, работа CPU по поиску необходимой информации состоит из нескольких циклов обращения на следующие уровни иерархии памяти: в первую очередь просматривается кэш первого уровня, если запрашиваемые данные там отсутствуют, поиск продолжается в кэше второго уровня и так далее. Наименьшая задержка в работе будет, когда запрашиваемые CPU данные будут найдены сразу в кэше первого уровня, наихудшим вариантом будет обращение CPU к последней инстанции- к основной памяти. Длительность обращения процессора к кэш-памяти 1-го уровня (латентность кэша L1) составляет 4 такта работы процессора, латентность кэша L2 равна 22- 28 тактов процессора, латентность основной памяти может достигать длительности 200- 300 тактов процессора. Такая традиционная схема организации кэш-памяти ("инклюзивная" архитектура, при которой всё содержимое кэша первого уровня копируется в кэш второго уровня) оправдана только в том случае, если по объёму кэши первого и второго уровней сильно различаются. В противном случае пространство кэш-памяти используется дважды, что неэффективно. У процессора AMD Duron кэш второго уровня был “эксклюзивный”, полностью независимый от кэша первого уровня, т.е. информация, хранящаяся на 1-м уровне (128 Кбайт) не дублировалась на втором уровне (64 Кбайт). Таким образом, суммарный полезный объём кэш- памяти (эффективный объём) у Duron составлял 192 Кбайт.
В современных процессорах активно используется ещё один подвид кэша, называемый TLB (Translation Look-aside Buffer, буфер быстрого преобразования адреса). В нём хранятся адреса команд и данных, находящихся в кэше, которые, вероятнее всего, потребуются процессору в ближайшее время. Фактически блок TLB предназначен для ускорения поиска необходимой информации в кэш-памяти.
Несмотря на то, что в современных CPU кэш работает на одной частоте с процессором, увеличение объёма кэша не только увеличивает вероятность удачного попадания требуемой информации в кэш, что повышает быстродействие, но и увеличивает время на поиск информации в кэше, что особенно критично для самой высокой ступеньки иерархии- кэша первого уровня и может вызвать снижение производительности. Например, для решения определённых задач (обработка большого количества случайных данных по сложным алгоритмам) пользы от большого кэша нет, в этом случае эффективнее повышение частоты процессора.