Міністерство освіти і науки України
Національний університет «Львівська політехніка»
Кафедра ЕОМ
ЗВІТ
з лабораторної роботи №4
з дисципліни: «Діагностика комп’ютерних систем»
Мета роботи: оволодіти засобами і методиками тестування продуктивності та характеристики головної пам’яті ПК, а також навчитися подавати аналітичні висновки щодо результатів досліджень.
Теоретичні відомості.
Оперативна пам'ять або оперативний запам’ятовуючий пристрій (ОЗП) призначений для збереження і текучої зміни інформації під час роботи комп’ютера. Таку пам’ять ще називають RAM (Random Access Memory – Пам’ять випадкового доступу).
При запуску на комп’ютері будь-якої програми, її код зчитується процесором з жорсткого диску, компакт-диску, або дискети в оперативну пам'ять. Далі всі маніпуляції з даними проводяться безпосередньо в оперативній пам’яті . При виключенні живлення комп'ютера вміст оперативної пам'яті втрачається.
Основним параметром, що відображає характеристики пам'яті, є її об'єм, який вимірюється в мегабайтах (Мбайт). Нагадаємо, що один мегабайт рівний 220 = 1048576 байт або приблизно 1000000 байт.
Кількість оперативної пам'яті, встановленої в комп'ютері робить істотний вплив на його продуктивність. Від кількості пам'яті залежить, які програми зможуть працювати на комп'ютері. Кожна програма пред'являє певні вимоги до об'єму пам'яті і працюватиме дуже поволі, якщо пам'яті не вистачає, або ж взагалі не запуститься.
З іншого боку, чим більше пам'яті, тим краще. Технічно максимальний об'єм пам'яті обмежується тільки можливостями материнської плати. Сучасні материнські плати для процесорів Pentium IV підтримують максимально від 1024 до 4096 Мбайт оперативної пам'яті.
Оперативна пам'ять може бути двох основних типів:
з динамічною вибіркою (Dynamic RAM, DRAM);
компанія статичною вибіркою (Static RAM, SRAM).
Швидкодія статичної пам'яті SRAM вища, ніж швидкодія динамічної DRAM, але статична пам'ять значно дорожча динамічною. Зазвичай динамічна пам'ять використовується як оперативна і відео пам’ять, а статична - як кеш в процесорах, жорстких дисках, на материнських платах.
Як працює динамічна пам'ять?
Як відомо, мінімальною одиницею інформації, яку може зберігати, обробляти або передавати комп'ютер є біт. Кожен біт може мати два стани: включений (1) або вимкнений (0). Будь-яка інформація зрештою складається з включених і вимкнених бітів - одиниць і нулів. Так, щоб зберегти або передати який-небудь об'єм даних, необхідно зберегти або передати кожен біт цих даних, незалежно від стану бита.
Для зберігання бітів інформації весь простір оперативної пам'яті розбитий на осередки(ячейки). Кожен осередок складається з конденсатора, керованого декількома транзисторами і може зберігати тільки один біт.
Якщо конденсатор осередку заряджений, то біт включений - в осередок записана логічна одиниця, якщо конденсатор розряджений - біт вимкнений - в осередок записаний логічний нуль. Щоб запам'ятатиодин байт даних, знадобиться 8 осередків, оскільки 1 байт- це 8 біт. Елементи пам'яті розташовані у вигляді сітки (матриці), і кожен осередок має свою адресу, що складається з номера рядка і номера стовпця. Одна така матриця називається сторінкою, а сукупність сторінок - банком.Для звернення до осередку пам'яті контроллер задає номер банку, номер сторінки в ньому, номер рядка і номер стовпця. На всі запити потрібний якийсь час, крім цього досить велика витрата часу йде на відкриття і закриття банку після самої операції читання/запису.
Коли процесор звертається до пам'яті для читання інформації, на входи мікросхеми поступає сигнал виведення даних ОE (Output Enabled), потім подається адреса рядка і одночасно з ним (або з деякою затримкою) сигнал адреси рядка RAS (Row Address Strobe). Це означає, що кожна шина стовпця з'єднується з елементом пам'яті вибраного рядка. Адреса осередку поступає по адресних лініях на дешифратор, який перетворить набір нулів і одиниць, що поступили, в номер рядка.
Ємкість конденсатора дуже мала (долі пікофаради), і його заряд теж малий, тому використовується підсилювач, підключений до кожної шини стовпця динамічної пам'яті. Інформація прочитується зі всього рядка елементів, що запам'ятовують, одночасно і поміщається в буфер вводу-виводу.
З незначною затримкою після сигналу RAS на входи динамічної пам'яті подається адреса стовпця і сигнал адреси стовпця СAS (Column Address Strobe), після чого з буфера вводу-виводу відбувається вибір біта відповідно до адреси стовпця. Цей біт і подається на вихід.
При записі подається сигнал WR (Write - Запис), і інформація поступає на шину стовпця не з буфера, а з входу пам'яті відповідно до адреси стовпця. Таким чином, проходження даних при записі задається комбінацією сигналів адреси стовпця і рядка, а також сигналом дозволу запису даних в пам'ять.
Розглядаючи роботу пам'яті, необхідно враховувати один момент. Конденсатори не можуть нескінченно довго зберігати заряд і він, врешті-решт, «стікає». Тому конденсатори необхідно перезаряджати. Операція перезарядки називається регенерацією (Refresh). Відбувається ця операція, приблизно, кожні 2 мс і деколи займає близько 90% від загального часу вибірки і до 10% і більше робочого часу процесора.
Найважливішою характеристикою оперативної пам'яті є швидкодія, яка визначається таким чином:
Швидкодія = тривалість циклу + час затримки + час доступу де:
тривалість циклу - час, витрачений на передачу даних;
час затримки (латентність) - початкова установка адреси рядка і стовпця;
час доступу - час пошуку самого осередку.
Вимірюється швидкодія в наносекундах (одна мільярдна частка секунди). Сучасні мікросхеми і пам'ять мають швидкодію нижче 10 нс.
Оперативною пам'яттю управляє контроллер, який знаходиться в чіпсеті материнської плати, а точніше - в тій його частині, яка називається північним мостом (North Bridge). Після процесора, оперативну пам'ять можна вважати самим швидкодіючим пристроєм. Тому основний обмін даними і відбувається між процесором і пам'яттю.
Вся інформація в персональному комп'ютері зберігається на жорсткому диску. При включенні комп'ютера в оперативний пристрій (ОЗУ), що запам'ятовує, з вінчестера записуються елементи операційної системи, драйвера і спеціальні програми. Потім туди будуть записані ті програми, які запускає користувач. При закритті цих програм вони будуть видалені з оперативної пам'яті. Дані, записані в оперативній пам'яті, передаються в процесор, там обробляються і записуються назад. І так відбувається постійно: після отримання команди процесор прочитує по вказаних адресах біти даних, обробляє їх і записує результат в оперативну пам'ять.
Такий обмін між процесором і оперативною пам'яттю відбувається до тих пір, поки елементів пам'яті вистачає для зберігання всіх даних. А якщо не вистачає? Тоді в роботу вступає файл підкачки. Цей файл розташований на жорсткому диску і туди записується все, що не поміщається в елементи оперативної пам'яті. Оскільки швидкодія вінчестера значно нижча за оперативну пам'ять, то робота файлу підкачки сильно уповільнює роботу системи і, крім того, знижує довговічність жорсткого диска.
Регулювання латентності динамічної пам'яті.
Для підвищення швидкодії динамічної пам'яті використовується регулювання часу затримки (латентності) в BIOS Setup. Час затримки можна регулювати за допомогою таймінгів пам'яті - відрізківь часу, відлічуваних в тактах сигналу опорної частоти роботи пам'яті, які задають ключові інтервали часу між різними операціями - установкою адреси на шині, читанням, записом і так далі Чотирма основними таймінгамі пам'яті є:
1.CAS Latency Time (tcl) - цей, мабуть, «найпопулярніший» таймінг означає затримку сигналу вибірки стовпця (СAS): тимчасова затримка (у тактах частоти шини) до початку читання даних пам'яттю після надходження команди читання. Зазвичай використовуються три значення: 2, 2.5 і 3 (такту). Історично вважається, що 2 такти істотно збільшують продуктивність системи (так було, наприклад, за часів SDRAM PС133);
2.RAS Precharge Delay (trp) - час підзарядки сигналом RAS. Визначає кількість тактів затримки після установки сигналу RAS, необхідних для заряджання елементу динамічної пам'яті перед початком циклу оновлення. Зменшення цього значення підвищує швидкодія, але надмірне для конкретної пам'яті його зниження може привести до втрати даних. Значення: 2, 3 або 4 такти. Кожен ступінь цього таймінга підвищує продуктивність системи приблизно на 1%. Але не кожен модуль дозволяє встановити мінімальне значення. Втім, більшість все ж таки дозволяє;
3.RAS to CAS Delay (trcd) - затримка між сигналами RAS і CAS. Коли пам'ять знаходиться в режимі регенерації, рядки і стовпці адресуються роздільно. Цей параметр дозволяє задати час переходу від сигналу RAS (row address strobe) до сигналу CAS (column address strobe). Природно, чим менше значення, тим вище швидкість пам'яті. Значення: 2, 3 або 4 такти. Не всі модулі пам'яті і не кожна плата здатні працювати при мінімальному значенні таймінга;
4.RAS Active to Precharge Delay (tras) - задає час затримки для заряджання рядка пам'яті. Значення: 5, 6, 7 або 8 тактів. Вважається, що даний таймінг теж здатний помітно вплинути на швидкість пам'яті. Але фактично це залежить від чіпсета. Враховуючи, що більшість модулів відмінно працюють при значеннях tras рівних 6 або 7 тактам, ці значення слід вважати кращим вибором.
Як випливає із сказаного, для зменшення латентності пам'яті і відповідно для підвищення швидкодії системи, значення перерахованих таймінгів краще встановлювати якомога менше - настільки, наскільки дозволяє стабільність кожної конкретної системи. Адже робота пам'яті з таймінгами, меншими певних значень, здатна привести до збоїв і зависань, а то і просто до непрацездатності системи.
Як працює статична пам'ять?
Статична пам'ять з довільним порядком вибірки (Static Random Access Memory, SRAM) отримала свою назву тому, що не вимагає регенерації. Осередок SRAM складається з шести транзисторів і є тригером - пристроєм, який скільки завгодно довго зберігає один зі своїх станів стійкої рівноваги і стрибкоподібно перемикається по сигналу ззовні з одного стану в інший.
Як ви, ймовірно, відмітили, в схемі відсутній конденсатор. Немає конденсатора - немає стікання заряду, а значить, немає необхідності його оновлювати. Адже регенерація може займати до 10% і більш процесорного часу. Економія часу значна!
Крім того, осередок SRAM сам по собі працює швидше за осередок DRAM, що дозволяє статичній пам'яті працювати на частоті процесора. Доречно зауважити, SRAM в більшості випадків і знаходиться усередині процесора. Виникає питання: чом би не використовувати тільки статичну пам'ять як ОЗУ? Річ у тому, що статична пам'ять дорожче динамічною приблизно на 30%.
Крім того, мікросхеми SRAM займають більше місця. Не слід забувати також, що більша кількість транзисторів впливає на температурний режим, причому не самим кращим чином. Це веде до зменшення терміну служби схеми. Тому в персональному комп'ютері використовуються обидва види пам'яті. Статична пам'ять SRAM отримала назву «кеш» (cache). Навіщо потрібний кеш? Оскільки кеш працює на частоті процесора, то в нього завантажуються дані з оперативної пам'яті. Але не все, а ті, до яких процесор найчастіше звертається. Звернення процесора до кеша, а не до оперативної пам'яті, помітно підвищує швидкодію системи. Але розмір кеша обмежений. І тому процесор не завжди знаходить в кеші потрібні дані. Для оцінки ефективності кеша використовується параметр, називається коефіцієнтом попадання в кеш.
Попадання в кеш - це прочитування процесором з кеша даних, які були заздалегідь туди записані з оперативної пам'яті. Саме заздалегідь, обернете на цю увагу. Чим вище коефіцієнт попадання, тим краще. За цим стежить спеціальний контроллер кеша, який і визначає його ефективність. Існує два типи кеша: кеш першого рівня і кеш другого рівня.
Існує три типи статичної пам'яті, що відрізняються за принципом роботи:
Async SRAM (Asynchronous Static Random Access Memory) - асинхронна статична пам'ять з довільним порядком вибірки. Це - застарілий тип пам'яті, асинхронний інтерфейс якої схожий з інтерфейсом DRAM і включає шини адреси, даних і управління;
Syncburst SRAM (Synchronous Burst Random Access Memory) - синхронна пакетна статична пам'ять з довільним порядком вибірки. Цей тип пам'яті синхронізований з системною шиною і краще всього підходить для виконання пакетних операцій;
Pipburst SRAM (Pipelined Burst Random Access Memory) - конвеєрна пакетна статична пам'ять з довільним порядком вибірки. Схожий з інтерфейсом Syncburst SRAM, але дозволяє отримувати дані без
тактів очікування.
Як правило, чим більше об'єм кеша, тим вище продуктивність системи. Але сам по собі об'єм ще не гарантує високої продуктивності. Для кеша головне контролер.Виконання роботи:
1. Перевірка пропускної здатності пам’яті (результат зображено на рис.1):
У програмі SiSoftware Sandra обираємо вкладку «Эталонные тесты» та натискаємо на «Пропускная способность памяти».
/
Рис.1 Результат тесту «Пропускна здатність пам’яті»
2. Перевірка латентності пам’яті (результат зображено на рис.2):
У програмі SiSoftware Sandra обираємо вкладку «Эталонные тесты» та натискаємо на «Латентность памяти».
/
Рис. 2 Результат тесту «Латентність пам’яті»
3. Перевірка кеш і пам’ять (результат зображено на рис.3):
У програмі SiSoftware Sandra обираємо вкладку «Эталонные тесты» та натискаємо на «Кеш и память».
/
Рис. 3 Результат тесту «Кеш і пам’ять»
4. Перевірка читання з пам’яті (результат зображено на рис.4):
У програмі AIDA64 Extreme Edition обираємо вкладку «Тест», натискаємо на «Читання з пам'яті» та на кнопку «Оновити»
/
Рис.4 Результат тесту «Читання з пам’яті
5. Перевірка запису в пам’ять (результат зображено на рис.5):
У програмі AIDA64 Extreme Edition обираємо вкладку «Тест», натискаємо на «Запис у пам'ять» та на кнопку «Оновити»
/
Рис.5 Результат тесту «Запис у пам’ять»
6. Перевірка затримки пам’яті (результат зображено на рис.6):
У програмі AIDA64 Extreme Edition обираємо вкладку «Тест», натискаємо на «Затримка пам'яті» та на кнопку «Оновити»
/
Рис.6 Результат тесту «Затримка пам’яті»
Висновок: при виконанні лабораторної роботи я вдосконалив свої навички роботи із засобами і методиками тестування продуктивності та характеристиками головної пам’яті ПК, а також навчився подавати аналітичні висновки щодо результатів досліджень.