чем определяется емкость памяти
Микропроцессор с архитектурой IA-32
Запоминающие устройства
1. Какова минимальная адресуемая ячейка памяти в современных ЭВМ?
2. Какие основные параметры характеризуют запоминающее устройство?
3. Чем определяется быстродействие запоминающего устройства при считывании информации?
· Временем, затрачиваемым на поиск нужной информации в памяти;
· Временем, затрачиваемым на считывание информации.
4. Какое из представленных запоминающих устройств в составе одной ЭВМ обладает наиболее высоким быстродействием?
5. Какое из запоминающих устройств в составе одной ЭВМ обладает наибольшей емкостью?
6. Чем определяется быстродействие запоминающего устройства при записи информации?
· Временем, затрачиваемым на поиск места в памяти, предназначаемого для хранения информации;
· Временем, затрачиваемым на запись информации.
7. Чем определяется емкость памяти?
· Количеством адресуемых элементов и количеством разрядов, составляющих одну ячейку.
8. В запоминающем устройстве какого типа время доступа не зависит от места расположения участка памяти?
· С произвольным доступом (RAM)
9. Чем определяется время обращения к регистровой памяти?
· Частотой синхронизации микропроцессора
10. Чем характеризуется идеальное запоминающее устройство?
· Бесконечно большой емкостью;
· Бесконечно малым временем обращения.
11. Сколько БИС с организацией 1К слов по 1 разряд потребуется для построения ЗУ с организацией 4К слов по 8 разрядов?
· Сначала собираем БИС по 8 разрядов каждая (получаем схемы 1К слов по 8 разрядов), затем соединяем 4 таких БИС, получая схему 4К слов по 8 разрядов è8*4=32
12. Чем определяется быстродействие запоминающего устройства при считывании информации?
· Временем, затрачиваемым на поиск нужной информации в памяти;
· Временем, затрачиваемым на считывание информации.
Взаимодействие узлов и устройств в ЭВМ типа IBM PC
1. С каким этапом совмещается этап формирования адреса следующей команды?
2. На каком этапе происходит выполнение операции в АЛУ?
3. Какие действия выполняются в ЭВМ на 4-м этапе выполнения линейной команды?
· Выполнение операции в АЛУ
4. На каком этапе происходит запись результата операции по адресу приемника результата?
5. Как изменится количество этапов выполнения команды пересылки данных MOV [BX+5],AX по сравнению с командой сложения?
6. Содержимое каких регистров меняется при формировании адреса следующей команды в персональной ЭВМ при отсутствии команд перехода?
7. Почему при формировании физического адреса содержимое сегментного регистра умножается на 16?
· Чтобы увеличить объем адресного пространства, к которому может обращаться микропроцессор
· Чтобы передавать адрес по 20-ти разрядной шине.
Управление памятью
1. Какиеосновные функции выполняет система управления памятью?
· Учет и модернизация состояния свободных и уже распределенных областей памяти;
· Определение потребностей каждой задачи в оперативной памяти (распределение памяти для выполнения задач);
· Непосредственное выделение задаче оперативной памяти.
2. Каковы основные системные требования при распределении памяти?
· Увеличение степени использования оперативной памяти при параллельном развитии нескольких процессов в мультипрограммном режиме;
· Обеспечение защиты информации при параллельном развитии нескольких процессов в мультипрограммном режиме;
· Обеспечение взаимодействия между процессами в мультипрограммном режиме.
3. Каковы основные требования пользователей к распределению памяти?
· Получение оперативной памяти в размерах, превышающих физически существующую;
· Обеспечение быстрого выполнения коротких программ;
· Легкость и простота взаимодействия между программами при использовании общих процедур.
4. Какая часть программного обеспечения всегда располагается в оперативной памяти?
· Ядро операционной системы
5. Что такое виртуальная память?
· Память, объем которой равен сумме объемов ОЗУ и внешних запоминающих устройств данного компьютера;
· Память, используемая программистом при написании программ, и имеющая объем, равный максимально возможному при заданной разрядности адресной шины.
6. Почему концепция виртуальной памяти базируется на ее страничном разбиении?
· При страничном разбиении памяти объемы физической и виртуальной страниц совпадают, что позволяет заменять страницу оперативной памяти новой страницей из внешней памяти без возникновения проблем фрагментации памяти.
7. Каким образом виртуальный адрес преобразуется в физический?
· Номер виртуальной страницы заменяется номером физической. Смещение в странице не меняется.
8. Какие адреса использует программист при составлении программ?
9. Каковы особенности статического распределения памяти?
· Вся необходимая оперативная память выделяется процессу в момент его порождения;
· Выделение памяти единым блоком необходимой длины;
· Возникновение свободных участков памяти, которые невозможно без предварительного преобразования использовать для вычислительного процесса, вследствие наличия программ различной длины.
10. Каковы предпосылки динамического распределения памяти?
· При каждом конкретном исполнении в зависимости от исходных данных некоторые части программы вообще не используются;
· Исполнение программы характеризуется принципом локальности ссылок.
11. Как преобразуется смещение в странице при переводе виртуальных адресов в физические?
12. Почему виртуальная память строится на основе страничного, а не сегментного представления памяти?
· Фиксированная длина страницы обеспечивает эффективное заполнение оперативной памяти в процессе выполнения программ;
· Отсутствует фрагментация оперативной памяти при обменен информацией между внешней и оперативной памятью.
13. Каковы основные недостатки сегментного распределения памяти?
· Образования фрагментации оперативной памяти при выполнении программ;
· Сложность обмена между оперативной и внешней памятью при выделении оперативной памяти пользователю.
14. Каковы преимущества статического распределения памяти?
· Быстрое время выполнения программы, которой выделена память.
Конвейер
1. Какие преимущества обеспечивает конвейерный принцип обработки информации (при идеальном конвейере)?
· Уменьшение времени выполнения программы;
· Повышение скорости загрузки блоков микропроцессора.
2. Как изменяется длительность такта при переходе от последовательного выполнения команд к конвейерному?
3. Чем определяется длительность такта работы микропроцессора при конвейерной обработке информации?
· Длительностью самого длинного этапа выполнения команды при последовательной обработке;
· Имеющимися на данный момент технологическими возможностями производства микропроцессорных БИС.
4. Какие из действий не выделяются в пятиступенчатом конвейере в отдельный этап?
· Формирование признака результата;
· Формирование адреса следующей команды.
5. Какими средствами при конвейерной обработке информации обеспечивается повышение производительности работы микропроцессора?
· Совмещением выполнения различных этапов различных команд в различных блоках микропроцессора.
6. Чем характеризуется идеальный конвейер?
7. Какова длительность выполнения 20 команд в идеальном 5‑ступенчатом конвейере при длительности такта 10 нс?
8. Каковы причины возникновения структурных конфликтов в конвейере?
· Недостаточное дублирование некоторых ресурсов;
· Некоторые ступени отдельных команд выполняются более одного такта.
9. Как называются конфликты в конвейере, возникающие при конвейеризации команд переходов?
10. Как называются конфликты в конвейере, возникающие в случаях, когда выполнение одной команды зависит от результата выполнения предыдущей команды? 3
11. Как называются конфликты в конвейере, возникающие в том случае, когда аппаратные средства микропроцессора не могут поддерживать все возможные комбинации команд в режиме одновременного выполнения с совмещением?
Микропроцессор с архитектурой IA-32
1. Какие из блоков, входящих в состав 32-разрядного микропроцессора, отсутствовали в структуре 16-разрядного микропроцессора?
· Блок управления защитой;
· Блок управления переключением задач.
2. Из каких блоков состоит диспетчер памяти 32-разрядного микропроцессора?
· Блок управления страницами;
3. Какова разрядность сегментных регистров в 32-разрядном микропроцессоре?
4. Сколько сегментных регистров имеется в микропроцессоре с архитектурой IA-32?
5. Какие дополнительные возможности адресации операндов имеются в системе команд 32-разрядных микропроцессоров по сравнению с 16-разрядными?
· Использование любого из восьми регистров общего назначения при формировании адреса;
· Масштабирование содержимого индексного регистра;
· Использование 8-, 16- и 32-разрядных смещений при относительной адресации.
6. Сколько 32-разрядных регистров общего назначения представлено в микропроцессоре с архитектурой IA-32?
· 8 (EAX, EBX, ECX, EDX, EDI, ESI, ESP, EBP)
Мультипрограммирование
1. Чем характеризуется мультипрограммный режим работы ЭВМ?
· Возможность перехода от выполнения одной задачи к другой;
· В памяти ЭВМ одновременно содержатся программы и данные для выполнения нескольких задач;
· Взаимная защита программ и данных, относящихся к различным задачам.
2. Что такое «процесс» в мультипрограммной ЭВМ?
3. Чем отличается состояние готовности процесса от состояния ожидания?
· В состоянии готовности процессу для исполнения необходим только центральный процессор, а в состоянии ожидания процесс не исполняется по причине занятости какого-либо ресурса помимо процессора.
4. Что характеризует коэффициент мультипрограммирования мультипрограммной ЭВМ?
· Максимальное количество программ, которое может одновременно обрабатываться в мультипрограммном режиме.
5. В каком случае увеличение коэффициента мультипрограммирования увеличивает пропускную способность ЭВМ?
· Когда устройства ЭВМ недогружены.
6. Какое из соотношений между последовательностями состояний процесса является верным?
· Порождение всегда предшествует активному состоянию;
· Активное состояние всегда предшествует окончанию.
7. Какие показатели характеризуются использование аппаратных ресурсов ЭВМ при мультипрограммном режиме работы?
· Коэффициент загрузки устройства;
· Средняя длина очереди к устройству.
8. Каким образом можно обеспечить повышение пропускной способности мультипрограммной ЭВМ в случае, когда к одному из ресурсов образуется большая очередь?
· Заменой данного ресурса на более производительный;
· Переформированием пакета задач.
9. Как вычисляется интервал существования процесса?
· Это время между порождением и окончанием процесса.
10. Как изменит повышение приоритета одной из программ пропускную способность мультипрограммной ЭВМ?
· Может привести как к повышению, так и к понижению пропускной способности.
11. Как в общем случае изменяется время выполнения программы при увеличении коэффициента мультипрограммирования?
12. Как в общем случае изменяется время выполнения пакета программ при увеличении коэффициента мультипрограммирования?
13. В каких случаях статическое распределение ресурсов предпочтительнее динамического?
· Когда необходимо обеспечить исполнение отдельной программы за минимальное время
14. Какие характеристики ресурса порождают конфликты?
15. Какие характеристики соответствуют виртуальному ресурсу?
· Виртуальный ресурс имеет расширенные функциональные возможности по отношению к физическому ресурсу, на базе которого он создан;
· Виртуальный ресурс обладает некоторыми дополнительными свойствами, которых физический ресурс не имеет.
16. Укажите основные режимы работы мультипрограммной ЭВМ.
17. Укажите основные одноочередные дисциплины распределения ресурсов.
· Круговой циклический алгоритм.
18. В какой из одноочередных дисциплин распределения ресурсов время нахождения в очереди длинных и коротких запросов зависит только от момента их поступления?
19. Какая из одноочередных дисциплин распределения ресурсов наиболее благоприятствует выполнению коротких запросов?
· Круговой циклический алгоритм
20. Какие из дисциплин распределения ресурсов относятся к многоочередным?
· Дисциплина с динамическим изменением приоритетов программ;
· Дисциплина со статическим указанием приоритетов программ.
21. Какие недостатки имеет существенное сокращение длительности кванта времени, выделяемого программе на владение ресурсом?
· Длинные программы тратят на выполнение недопустимо большое время;
· Значительно возрастает время, необходимое для переключения программ.
22. На основе какой одноочередной дисциплины распределения ресурсов обычно строятся многоочередные дисциплины?
· Круговой циклический алгоритм.
23. Какая из многоочередных дисциплин учитывает длину программы при распределении ресурсов?
· Со статическим указанием приоритетов программ. Считается, что продолжительность выполнения программы приблизительно пропорциональна ее длине. По крайней мере, от длины программы прямо зависит время, затрачиваемое на передачу программы между ОЗУ и внешним ЗУ при ее активизации.
24. Для каких целей в мультипрограммной ЭВМ используется алгоритм планирования Корбато?
· для определения номера очереди, в которую помещается новая программа при многоочередной дисциплине распределения ресурсов.
25. При какой дисциплине распределения ресурсов вновь поступивший запрос с максимальным уровнем приоритета будет быстрее принят к обслуживанию?
· В системе с абсолютными приоритетами запросов
26. Какая из модификаций многоочередной дисциплины распределения ресурсов предназначена для того, чтобы устранить недопустимо большое время выполнения длинных запросов?
· Система с динамическим изменением приоритетов программ.
27. Какой из режимов работы мультипрограммной ЭВМ используется в системах управления?
· Режим реального времени.
28. Какой из режимов работы ориентирован на обеспечение максимальной пропускной способности мультипрограммной ЭВМ?
29. Для каких программ эффективен пакетный режим работы мультипрограммной ЭВМ?
· Для больших отлаженных программ.
30. Какой порядок учета приоритета вновь поступивших запросов возможен в базовом варианте многоочередной дисциплины распределения ресурсов (со временем кванта, не зависящим от номера очереди)?
· Учет приоритетов невозможен.
31. Какой основной показатель используется при оценке эффективности ЭВМ, работающей в режиме реального времени?
· Выполнение задания за время, не превышающее максимально допустимого для данного задания.
32. Какой основной показатель используется при оценке эффективности ЭВМ, работающей в пакетном режиме?
· Выполнение задания за время, не превышающее максимально допустимого для данного задания.
· Пропускная способность ЭВМ
Защита информации
1. Какие неправомерные действия должны предотвращать средства защиты памяти?
· Неразрешенное взаимодействие пользователей друг с другом;
· Несанкционированный доступ пользователей к данным;
· Использование информации в памяти не в соответствии с ее функциональным назначением;
· Повреждение программ и данных из-за ошибок в программах.
2. На каких классических методах базируется система защиты памяти?
· Метод граничных регистров
· Метод ключей защиты
3. Каковы основные преимущества метода защиты отдельных ячеек памяти?
· Возможность отладки новых программ на ЭВМ, функционирующей в рабочем режиме;
· Защита на минимально возможном уровне представления информации.
4. Каковы основные недостатки метода ключей защиты?
· Реализация метода требует больших дополнительных аппаратных затрат.
5. Каковы основные достоинства метода ключей защиты?
· метод позволяет реализовать доступ программы к областям памяти, организованным в виде отдельных модулей, не представляющих собой единый массив,
· метод разрешает или запрещает доступ к блоку программы в зависимости от типа обращения (запись или чтение).
6. Каковы основные достоинства метода граничных регистров?
· Простота реализация метода.
7. Каковы основные недостатки метода граничных регистров?
· Метод поддерживает работу лишь с непрерывными областями памяти.
8. Каковы основные механизмы защиты памяти в персональной ЭВМ?
· Защита при управлении памятью;
· Защита по привилегиям.
9. Какая из проверок при управлении памятью базируется на методе граничных регистров?
· Сравнение сформированного адреса со значениями граничных регистров (?)
10. Какое количество уровней привилегий поддерживается на аппаратном уровне в персональных компьютерах?
11. Какие проверки выполняются в персональной ЭВМ средствами защиты при управлении памятью?
· Превышения эффективным адресом длины сегмента;
· Проверка прав доступа к сегменту на запись или только на чтение;
· Проверка функционального назначения сегмента.
12. Какие проверки в процессе функционирования программы на персональной ЭВМ выполняются средствами защиты по привилегиям?
· Возможность выполнять некоторые команды;
· Возможность выполнять команды ввода-вывода на том или ином внешнем устройстве;
· Возможность обращаться к данным других программ.
13. Чем определяется уровень привилегий сегмента персональной ЭВМ?
· Значением поля привилегий в дескрипторе сегмента
14. Какое количество уровней привилегий поддерживается на аппаратном уровне при защите страниц в персональных компьютерах?
15. В каком кольце защиты следует располагать программы при использовании одноуровневой программной системы?
1. Какой принцип логической организации памяти используется в персональной ЭВМ? сегментно-страничный
2. Для каких целей используется селектор в персональной ЭВМ? для выбора дескриптора из таблицы дескрипторов
3. В какой последовательности проводится преобразование логического адреса в физический в персональной ЭВМ?( Ответ: (?)
1. селектор из сегментного регистра à дескриптор сегмента из GDT или LDT à базовый адрес сегмента (из дескриптора) + смещение (из регистра EIP) = линейный адрес.
2. (если страничная адресация) линейный адрес à номер виртуальной страницы (ст. 20 разр.) и смещение в странце (мл. 12 разр.) à из КТС выбирается ЭКТС, содержащий
адрес ЭТС в ТС à ТС содержит базовый адрес физической страницы; сумма его со смещением в странице даёт физический адрес ячейки памяти)
4. Где располагаются селекторы дескрипторов? в сегментных регистрах
5. Где содержится начальный адрес сегмента информации персональной ЭВМ? в дескрипторе
6. Какая информация содержится в дескрипторе сегмента персональной ЭВМ? Дескриптор (рис. 16.2) содержит сведения о сегменте. В одном из его полей содержится базовый адрес сегмента. В остальных полях записана дополнительная информация о сегменте: длина, допустимый уровень прав доступа к данному сегменту с целью защиты находящейся в нем информации, тип сегмента (сегмент кода, сегмент данных, специальный системный сегмент и т.д.) и некоторые другие атрибуты.
7. Какая информация содержится в буфере ассоциативной трансляции? При страничном преобразовании номера виртуальной страницы в номер физической страницы используется кэш-буфер ассоциативной трансляции (TLB), содержащий физические адреса 32-х наиболее активно используемых страниц (рис. 16.5) и расположенный непосредственно в микропроцессоре.
8. Как определяется номер виртуальной страницы при сегментно-страничном преобразовании адреса? содержится в старших разрядах линейного адреса, полученного после сегментного преобразования
9. Из каких частей состоит логический адрес, используемый для получения физического адреса в персональной ЭВМ? из селектора и смещения в сегменте
10. Какое минимальное количество обращений к оперативной памяти выполняется в персональной ЭВМ при вычислении физического адреса в сегментированном адресном пространстве без использования средств сокращения времени преобразования адреса?1
11. Какое минимальное количество обращений к оперативной памяти выполняется в персональной ЭВМ при страничном преобразования адреса без использования средств сокращения времени преобразования?2
12. Какое минимальное количество обращений к оперативной памяти выполняется в персональной ЭВМ при вычислении физического адреса в сегментно-страничном адресном пространстве без использования средств сокращения времени преобразования?3
13. Какие средства используются в персональной ЭВМ для сокращения времени получения физического адреса памяти в сегментно-страничном адресном пространстве? сохранение базового адреса сегмента, полученного после первого обращения к данному сегменту, в «теневом» регистре микропроцессора, сохранение базового адреса страницы, полученного после первого обращения к данной странице, в буфере ассоциативной трансляции адресов страниц
14. Для каких целей в персональной ЭВМ используется буфер ассоциативной трансляции адреса страницы? для сокращения времени страничного преобразования адреса
Анатомия RAM
У каждого компьютера есть ОЗУ, встроенное в процессор или находящееся на отдельной подключенной к системе плате — вычислительные устройства просто не смогли бы работать без оперативной памяти. ОЗУ — потрясающий образец прецизионного проектирования, однако несмотря на тонкость процессов изготовления, память ежегодно производится в огромных объёмах. В ней миллиарды транзисторов, но она потребляет только считанные ватты мощности. Учитывая большую важность памяти, стоит написать толковый анализ её анатомии.
Итак, давайте приготовимся к вскрытию, выкатим носилки и отправимся в анатомический театр. Настало время изучить все подробности каждой ячейки, из которых состоит современная память, и узнать, как она работает.
Зачем же ты, RAM-ео?
Процессорам требуется очень быстро получать доступ к данным и командам, чтобы программы выполнялись мгновенно. Кроме того, им нужно, чтобы при произвольных или неожиданных запросах не очень страдала скорость. Именно поэтому для компьютера так важно ОЗУ (RAM, сокращение от random-access memory — память с произвольным доступом).
Существует два основных типа RAM: статическая и динамическая, или сокращённо SRAM и DRAM.
Мы будем рассматривать только DRAM, потому что SRAM используется только внутри процессоров, таких как CPU или GPU. Так где же находится DRAM в наших компьютерах и как она работает?
Большинству людей знакома RAM, потому что несколько её планок находится рядом с CPU (центральным процессором, ЦП). Эту группу DRAM часто называют системной памятью, но лучше её называть памятью CPU, потому что она является основным накопителем рабочих данных и команд процессора.
Как видно на представленном изображении, DRAM находится на небольших платах, вставляемых в материнскую (системную) плату. Каждую плату обычно называют DIMM или UDIMM, что расшифровывается как dual inline memory module (двухсторонний модуль памяти) (U обозначает unbuffered (без буферизации)). Подробнее мы объясним это позже; пока только скажем, что это самая известная RAM любого компьютера.
Она не обязательно должна быть сверхбыстрой, но современным ПК для работы с большими приложениями и для обработки сотен процессов, выполняемых в фоновом режиме, требуется много памяти.
Ещё одним местом, где можно найти набор чипов памяти, обычно является графическая карта. Ей требуется сверхбыстрая DRAM, потому что при 3D-рендеринге выполняется огромное количество операций чтения и записи данных. Этот тип DRAM предназначен для несколько иного использования по сравнению с типом, применяемым в системной памяти.
Ниже вы видите GPU, окружённый двенадцатью небольшими пластинами — это чипы DRAM. Конкретно этот тип памяти называется GDDR5X, о нём мы поговорим позже.
Графическим картам не нужно столько же памяти, как CPU, но их объём всё равно достигает тысяч мегабайт.
Не каждому устройству в компьютере нужно так много: например, жёстким дискам достаточно небольшого количества RAM, в среднем по 256 МБ; они используются для группировки данных перед записью на диск.
На этих фотографиях мы видим платы HDD (слева) и SSD (справа), на которых отмечены чипы DRAM. Заметили, что чип всего один? 256 МБ сегодня не такой уж большой объём, поэтому вполне достаточно одного куска кремния.
Узнав, что каждый компонент или периферийное устройство, выполняющее обработку, требует RAM, вы сможете найти память во внутренностях любого ПК. На контроллерах SATA и PCI Express установлены небольшие чипы DRAM; у сетевых интерфейсов и звуковых карт они тоже есть, как и у принтеров со сканнерами.
Если память можно встретить везде, она может показаться немного скучной, но стоит вам погрузиться в её внутреннюю работу, то вся скука исчезнет!
Скальпель. Зажим. Электронный микроскоп.
У нас нет всевозможных инструментов, которые инженеры-электронщики используют для изучения своих полупроводниковых творений, поэтому мы не можем просто разобрать чип DRAM и продемонстрировать вам его внутренности. Однако такое оборудование есть у ребят из TechInsights, которые сделали этот снимок поверхности чипа:
Если вы подумали, что это похоже на сельскохозяйственные поля, соединённые тропинками, то вы не так далеки от истины! Только вместо кукурузы или пшеницы поля DRAM в основном состоят из двух электронных компонентов:
Синими и зелёными линиями обозначены соединения, подающие напряжение на МОП-транзистор и конденсатор. Они используются для считывания и записи данных в ячейку, и первой всегда срабатывает вертикальная (разрядная) линия.
Канавочный конденсатор, по сути, используется в качестве сосуда для заполнения электрическим зарядом — его пустое/заполненное состояние даёт нам 1 бит данных: 0 — пустой, 1 — полный. Несмотря на предпринимаемые инженерами усилия, конденсаторы не способны хранить этот заряд вечно и со временем он утекает.
Это означает, что каждую ячейку памяти нужно постоянно обновлять по 15-30 раз в секунду, хотя сам этот процесс довольно быстр: для обновления набора ячеек требуется всего несколько наносекунд. К сожалению, в чипе DRAM множество ячеек, и во время их обновления считывание и запись в них невозможна.
К каждой линии подключено несколько ячеек:
Строго говоря, эта схема неидеальна, потому что для каждого столбца ячеек используется две разрядные линии — если бы мы изобразили всё, то схема бы стала слишком неразборчивой.
Полная строка ячеек памяти называется страницей, а длина её зависит от типа и конфигурации DRAM. Чем длиннее страница, тем больше в ней бит, но и тем большая электрическая мощность нужна для её работы; короткие страницы потребляют меньше мощности, но и содержат меньший объём данных.
Однако нужно учитывать и ещё один важный фактор. При считывании и записи на чип DRAM первым этапом процесса является активация всей страницы. Строка битов (состоящая из нулей и единиц) хранится в буфере строки, который по сути является набором усилителей считывания и защёлок, а не дополнительной памятью. Затем активируется соответствующий столбец для извлечения данных из этого буфера.
Если страница в чем разница» rel=dofollow»>страница слишком мала, то чтобы успеть за запросами данных, строки нужно активировать чаще; и наоборот — большая страница в чем разница» rel=dofollow»>страница предоставляет больше данных, поэтому активировать её можно реже. И даже несмотря на то, что длинная строка требует большей мощности и потенциально может быть менее стабильной, лучше стремиться к получению максимально длинных страниц.
Если собрать вместе набор страниц, то мы получим один банк памяти DRAM. Как и в случае страниц, размер и расположение строк и столбцов ячеек играют важную роль в количестве хранимых данных, скорости работы памяти, энергопотреблении и так далее.
Например, схема может состоять из 4 096 строк и 4 096 столбцов, при этом полный объём одного банка будет равен 16 777 216 битам или 2 мегабайтам. Но не у всех чипов DRAM банки имеют квадратную структуру, потому что длинные страницы лучше, чем короткие. Например, схема из 16 384 строк и 1 024 столбцов даст нам те же 2 мегабайта памяти, но каждая страница в чем разница» rel=dofollow»>страница будет содержать в четыре раза больше памяти, чем в квадратной схеме.
Все страницы в банке соединены с системой адресации строк (то же относится и к столбцам) и они контролируются сигналами управления и адресами для каждой строки/столбца. Чем больше строк и столбцов в банке, тем больше битов должно использоваться в адресе.
Для банка размером 4 096 x 4 096 для каждой системы адресации требуется 12 бит, а для банка 16 384 x 1 024 потребуется 14 бит на адреса строк и 10 бит на адреса столбцов. Стоит заметить, что обе системы имеют суммарный размер 24 бита.
Если бы чип DRAM мог предоставлять доступ к одной странице за раз, то это было бы не особо удобно, поэтому в них упаковано несколько банков ячеек памяти. В зависимости от общего размера, чип может иметь 4, 8 или даже 16 банков — чаще всего используется 8 банков.
Все эти банки имеют общие шины команд, адресов и данных, что упрощает структуру системы памяти. Пока один банк занят работой с одной командой, другие банки могут продолжать выполнение своих операций.
Весь чип, содержащий все банки и шины, упакован в защитную оболочку и припаян к плате. Она содержит электропроводники, подающие питание для работы DRAM и сигналов команд, адресов и данных.
На фотографии выше показан чип DRAM (иногда называемый модулем), изготовленный компанией Samsung. Другими ведущими производителями являются Toshiba, Micron, SK Hynix и Nanya. Samsung — крупнейший производитель, он имеет приблизительно 40% мирового рынка памяти.
Каждый изготовитель DRAM использует собственную систему кодирования характеристик памяти; на фотографии показан чип на 1 гигабит, содержащий 8 банков по 128 мегабита, выстроенных в 16 384 строки и 8 192 столбца.
Выше по рангу
Компании-изготовители памяти берут несколько чипов DRAM и устанавливают их на одну плату, называемую DIMM. Хотя D расшифровывается как dual (двойная), это не значит, что на ней два набора чипов. Под двойным подразумевается количество электрических контактов в нижней части платы; то есть для работы с модулями используются обе стороны платы.
Сами DIMM имеют разный размер и количество чипов:
На фотографии сверху показана стандартная DIMM для настольного ПК, а под ней находится так называемая SO-DIMM (small outline, «DIMM малого профиля»). Маленький модуль предназначен для ПК малого форм-фактора, например, ноутбуков и компактных настольных компьютеров. Из-за малого пространства уменьшается количество используемых чипов, изменяется скорость работы памяти, и так далее.
Существует три основных причины для использования нескольких чипов памяти на DIMM:
То есть каждому DIMM, который устанавливается в компьютер с Ryzen, потребуется восемь модулей DRAM (8 чипов x 8 бит = 64 бита). Можно подумать, что графическая карта 5700 XT будет иметь 32 чипа памяти, но у неё их только 8. Что же это нам даёт?
В чипы памяти, предназначенные для графических карт, устанавливают больше банков, обычно 16 или 32, потому что для 3D-рендеринга необходим одновременный доступ к большому объёму данных.
Один ранг и два ранга
Множество модулей памяти, «заполняющих» шину данных контроллера памяти, называется рангом, и хотя к контроллеру можно подключить больше одного ранга, за раз он может получать данные только от одного ранга (потому что ранги используют одну шину данных). Это не вызывает проблем, потому что пока один ранг занимается ответом на переданную ему команду, другому рангу можно передать новый набор команд.
Платы DIMM могут иметь несколько рангов и это особенно полезно, когда вам нужно огромное количество памяти, но на материнской плате мало разъёмов под RAM.
Так называемые схемы с двумя (dual) или четырьмя (quad) рангами потенциально могут обеспечить большую производительность, чем одноранговые, но увеличение количества рангов быстро повышает нагрузку на электрическую систему. Большинство настольных ПК способно справиться только с одним-двумя рангами на один контроллер. Если системе нужно больше рангов, то лучше использовать DIMM с буферизацией: такие платы имеют дополнительный чип, облегчающий нагрузку на систему благодаря хранению команд и данных в течение нескольких циклов, прежде чем передать их дальше.
Множество модулей памяти Nanya и один буферный чип — классическая серверная RAM
Но не все ранги имеют размер 64 бита — используемые в серверах и рабочих станциях DIMM часто размером 72 бита, то есть на них есть дополнительный модуль DRAM. Этот дополнительный чип не обеспечивает повышение объёма или производительности; он используется для проверки и устранения ошибок (error checking and correcting, ECC).
Вы ведь помните, что всем процессорам для работы нужна память? В случае ECC RAM небольшому устройству, выполняющему работу, предоставлен собственный модуль.
Шина данных в такой памяти всё равно имеют ширину всего 64 бита, но надёжность хранения данных значительно повышается. Использование буферов и ECC только незначительно влияет на общую производительность, зато сильно повышает стоимость.
Жажда скорости
У всех DRAM есть центральный тактовый сигнал ввода-вывода (I/O, input/output) — напряжение, постоянно переключающееся между двумя уровнями; он используется для упорядочивания всего, что выполняется в чипе и шинах памяти.
Если бы мы вернулись назад в 1993 год, то смогли бы приобрести память типа SDRAM (synchronous, синхронная DRAM), которая упорядочивала все процессы с помощью периода переключения тактового сигнала из низкого в высокое состояние. Так как это происходит очень быстро, такая система обеспечивает очень точный способ определения времени выполнения событий. В те времена SDRAM имела тактовые сигналы ввода-вывода, обычно работавшие с частотой от 66 до 133 МГц, и за каждый такт сигнала в DRAM можно было передать одну команду. В свою очередь, чип за тот же промежуток времени мог передать 8 бит данных.
Быстрое развитие SDRAM, ведущей силой которого был Samsung, привело к созданию в 1998 году её нового типа. В нём передача данных синхронизировалась по повышению и падению напряжения тактового сигнала, то есть за каждый такт данные можно было дважды передать в DRAM и обратно.
Как же называлась эта восхитительная новая технология? Double data rate synchronous dynamic random access memory (синхронная динамическая память с произвольным доступом и удвоенной скоростью передачи данных). Обычно её просто называют DDR-SDRAM или для краткости DDR.
Память DDR быстро стала стандартом (из-за чего первоначальную версию SDRAM переименовали в single data rate SDRAM, SDR-DRAM) и в течение последующих 20 лет оставалась неотъемлемой частью всех компьютерных систем.
Прогресс технологий позволил усовершенствовать эту память, благодаря чему в 2003 году появилась DDR2, в 2007 году — DDR3, а в 2012 году — DDR4. Каждая новая версия обеспечивала повышение производительности благодаря ускорению тактового сигнала ввода-вывода, улучшению систем сигналов и снижению энергопотребления.
DDR2 внесла изменение, которое мы используем и сегодня: генератор тактовых сигналов ввода-вывода превратился в отдельную систему, время работы которой задавалось отдельным набором синхронизирующих сигналов, благодаря чему она стала в два раза быстрее. Это аналогично тому, как CPU используют для упорядочивания работы тактовый сигнал 100 МГц, хотя внутренние синхронизирующие сигналы работают в 30-40 раз быстрее.
DDR3 и DDR4 сделали шаг вперёд, увеличив скорость тактовых сигналов ввода-вывода в четыре раза, но во всех этих типах памяти шина данных для передачи/получения информации по-прежнему использовала только повышение и падение уровня сигнала ввода-вывода (т.е. удвоенную частоту передачи данных).
Сами чипы памяти не работают на огромных скоростях — на самом деле, они шевелятся довольно медленно. Частота передачи данных (измеряемая в миллионах передач в секунду — millions of transfers per second, MT/s) в современных DRAM настолько высока благодаря использованию в каждом чипе нескольких банков; если бы на каждый модуль приходился только один банк, всё работало бы чрезвычайно медленно.
Тип DRAM | Обычная частота чипа | Тактовый сигнал ввода-вывода | Частота передачи данных |
SDR | 100 МГц | 100 МГц | 100 MT/s |
DDR | 100 МГц | 100 МГц | 200 MT/s |
DDR2 | 200 МГц | 400 МГц | 800 MT/s |
DDR3 | 200 МГц | 800 МГц | 1600 MT/s |
DDR4 | 400 МГц | 1600 МГц | 3200 MT/s |
Каждая новая версия DRAM не обладает обратной совместимостью, то есть используемые для каждого типа DIMM имеют разные количества электрических контактов, разъёмы и вырезы, чтобы пользователь не мог вставить память DDR4 в разъём DDR-SDRAM.
Сверху вниз: DDR-SDRAM, DDR2, DDR3, DDR4
DRAM для графических плат изначально называлась SGRAM (synchronous graphics, синхронная графическая RAM). Этот тип RAM тоже подвергался усовершенствованиям, и сегодня его для понятности называют GDDR. Сейчас мы достигли версии 6, а для передачи данных используется система с учетверённой частотой, т.е. за тактовый цикл происходит 4 передачи.
Тип DRAM | Обычная частота памяти | Тактовый сигнал ввода-вывода | Частота передачи данных |
GDDR | 250 МГц | 250 МГц | 500 MT/s |
GDDR2 | 500 МГц | 500 МГц | 1000 MT/s |
GDDR3 | 800 МГц | 1600 МГц | 3200 MT/s |
GDDR4 | 1000 МГц | 2000 МГц | 4000 MT/s |
GDDR5 | 1500 МГц | 3000 МГц | 6000 MT/s |
GDDR5X | 1250 МГц | 2500 МГц | 10000 MT/s |
GDDR6 | 1750 МГц | 3500 МГц | 14000 MT/s |
Кроме более высокой частоты передачи, графическая DRAM обеспечивает дополнительные функции для ускорения передачи, например, возможность одновременного открытия двух страниц одного банка, работающие в DDR шины команд и адресов, а также чипы памяти с гораздо большими скоростями тактовых сигналов.
Какой же минус у всех этих продвинутых технологий? Стоимость и тепловыделение.
Один модуль GDDR6 примерно вдвое дороже аналогичного чипа DDR4, к тому же при полной скорости он становится довольно горячим — именно поэтому графическим картам с большим количеством сверхбыстрой RAM требуется активное охлаждение для защиты от перегрева чипов.
Скорость битов
Производительность DRAM обычно измеряется в количестве битов данных, передаваемых за секунду. Ранее в этой статье мы говорили, что используемая в качестве системной памяти DDR4 имеет чипы с 8-битной шириной шины, то есть каждый модуль может передавать до 8 бит за тактовый цикл.
То есть если частота передачи данных равна 3200 MT/s, то пиковый результат равен 3200 x 8 = 25 600 Мбит в секунду или чуть больше 3 ГБ/с. Так как большинство DIMM имеет 8 чипов, потенциально можно получить 25 ГБ/с. Для GDDR6 с 8 модулями этот результат был бы равен 440 ГБ/с!
Обычно это значение называют полосой пропускания (bandwidth) памяти; оно является важным фактором, влияющим на производительность RAM. Однако это теоретическая величина, потому что все операции внутри чипа DRAM не происходят одновременно.
Чтобы разобраться в этом, давайте взглянем на показанное ниже изображение. Это очень упрощённое (и нереалистичное) представление того, что происходит, когда данные запрашиваются из памяти.
На первом этапе активируется страница в чем разница» rel=dofollow»>страница DRAM, в которой содержатся требуемые данные. Для этого памяти сначала сообщается, какой требуется ранг, затем соответствующий модуль, а затем конкретный банк.
Чипу передаётся местоположение страницы данных (адрес строки), и он отвечает на это передачей целой страницы. На всё это требуется время и, что более важно, время нужно и для полной активации строки, чтобы гарантировать полную блокировку строки битов перед выполнением доступа к ней.
Затем определяется соответствующий столбец и извлекается единственный бит информации. Все типы DRAM передают данные пакетами, упаковывая информацию в единый блок, и пакет в современной памяти почти всегда равен 8 битам. То есть даже если за один тактовый цикл извлекается один бит, эти данные нельзя передать, пока из других банков не будет получено ещё 7 битов.
А если следующий требуемый бит данных находится на другой странице, то перед активацией следующей необходимо закрыть текущую открытую страницу (это процесс называется pre-charging). Всё это, разумеется, требует больше времени.
Все эти различные периоды между временем отправки команды и выполнением требуемого действия называются таймингами памяти или задержками. Чем ниже значение, тем выше общая производительность, ведь мы тратим меньше времени на ожидание завершения операций.
Некоторые из этих задержек имеют знакомые фанатам компьютеров названия:
Название тайминга | Описание | Обычное значение в DDR4 |
tRCD | Row-to-Column Delay: количество циклов между активацией строки и возможностью выбора столбца | 17 циклов |
CL | CAS Latency: количество циклов между адресацией столбца и началом передачи пакет данных | 15 циклов |
tRAS | Row Cycle Time: наименьшее количество циклов, в течение которого строка должна оставаться активной перед тем, как можно будет выполнить её pre-charging | 35 циклов |
tRP | Row Precharge time: минимальное количество циклов, необходимое между активациями разных строк | 17 циклов |
Существует ещё много других таймингов и все их нужно тщательно настраивать, чтобы DRAM работала стабильно и не искажала данные, имея при этом оптимальную производительность. Как можно увидеть из таблицы, схема, демонстрирующая циклы в действии, должна быть намного шире!
Хотя при выполнении процессов часто приходится ждать, команды можно помещать в очереди и передавать, даже если память занята чем-то другим. Именно поэтому можно увидеть много модулей RAM там, где нам нужна производительность (системная память CPU и чипы на графических картах), и гораздо меньше модулей там, где они не так важны (в жёстких дисках).
Тайминги памяти можно настраивать — они не заданы жёстко в самой DRAM, потому что все команды поступают из контроллера памяти в процессоре, который использует эту память. Производители тестируют каждый изготавливаемый чип и те из них, которые соответствуют определённым скоростям при заданном наборе таймингов, группируются вместе и устанавливаются в DIMM. Затем тайминги сохраняются в небольшой чип, располагаемый на плате.
Даже памяти нужна память. Красным указано ПЗУ (read-only memory, ROM), в котором содержится информация SPD.
Процесс доступа к этой информации и её использования называется serial presence detect (SPD). Это отраслевой стандарт, позволяющий BIOS материнской платы узнать, на какие тайминги должны быть настроены все процессы.
Многие материнские платы позволяют пользователям изменять эти тайминги самостоятельно или для улучшения производительности, или для повышения стабильности платформы, но многие модули DRAM также поддерживают стандарт Extreme Memory Profile (XMP) компании Intel. Это просто дополнительная информация, хранящаяся в памяти SPD, которая сообщает BIOS: «Я могу работать с вот с такими нестандартными таймингами». Поэтому вместо самостоятельной возни с параметрами пользователь может настроить их одним нажатием мыши.
Спасибо за службу, RAM!
В отличие от других уроков анатомии, этот оказался не таким уж грязным — DIMM сложно разобрать и для изучения модулей нужны специализированные инструменты. Но внутри них таятся потрясающие подробности.
Возьмите в руку планку памяти DDR4-SDRAM на 8 ГБ из любого нового ПК: в ней упаковано почти 70 миллиардов конденсаторов и такое же количество транзисторов. Каждый из них хранит крошечную долю электрического заряда, а доступ к ним можно получить за считанные наносекунды.
Даже при повседневном использовании она может выполнять бесчисленное количество команд, и большинство из плат способны без малейших проблем работать многие годы. И всё это меньше чем за 30 долларов? Это просто завораживает.
DRAM продолжает совершенствоваться — уже скоро появится DDR5, каждый модуль которой обещает достичь уровня полосы пропускания, с трудом достижимый для двух полных DIMM типа DDR4. Сразу после появления она будет очень дорогой, но для серверов и профессиональных рабочих станций такой скачок скорости окажется очень полезным.