Оперативна пам'ять функції і характеристики. Які функції виконує оперативна пам'ять? Пристрій матриці статичної пам'яті

Повнотекстовий пошук:

Де шукати:

всюди
тільки в назві
тільки в тексті

виводити:

опис
слова в тексті
тільки заголовок

Головна> Реферат> Інформатика


Федеральне агентство з освіти
державне освітня установа
вищої професійної освіти
«Санкт-Петербурзький державний
інженерно-економічний університет »

Таким чином, звідти все інструкції, які необхідно виконати, будуть передані процесору, при необхідності, виконувати різні передачі даних. Ці два компоненти будуть взаємодіяти один з одним, обмінюючись даними, які необхідні. Схеми, які дозволяють зберігати та видавати інформацію.

Результат знову зберігається в пам'яті і може бути переглянутий через периферійний пристрій виведення. Для зберігання інформації пам'ять складається з набору осередків або осередків, званих осередками пам'яті, де розміщуються інструкції і дані. Щоб комп'ютер міг отримати доступ до тих, які йому потрібні в будь-який час, кожне з місць пам'яті ідентифікується числом, званим адресою пам'яті. Кожна комірка пам'яті зберігає один байт. Для вимірювання великої кількості осередків пам'яті, необхідних комп'ютера, використовуються мегабайти і гігабайти.

РЕФЕРАТ

«Оперативна пам'ять ПК, види, призначення та основні характеристики»
з дисципліни «Інформатика»

Керівник А. А. Кантаровіч
Виконавець В. Калмиков
Група 2601

Санкт-Петербург
2010

1.Оперативний пам'ять. 2

2. Види оперативної пам'яті, Їх призначення та основні характеристики. 5

2.1 Статична пам'ять 5

В інформатиці пам'ять відноситься до частини компонентів, складових комп'ютер. Це пристрої, які зберігають комп'ютерні дані за певний проміжок часу. Пам'ять комп'ютерів забезпечує одну з основних функцій сучасних обчислень, збереження або зберігання інформації. Це один з фундаментальних компонентів всіх сучасних комп'ютерів, який в поєднанні з центральним процесором реалізує основи комп'ютерної моделі фон Неймана, що використовуються з роками. Ці сучасні відмінності корисні, оскільки вони є фундаментальними для комп'ютерної архітектури в цілому.

3. Пристрій матриці статичної пам'яті 6

4. Типи статичної пам'яті 8

4.2 Динамічна пам'ять. 9

5. Процедури та функції для роботи з динамічною пам'яттю. 16

Список літератури 21


1.Оперативний пам'ять.

Оперативна пам'ять - це, у вітчизняній науковій термінології, "оперативний пристрій" або ОЗУ, а в західній - RAM, тобто "Random Access Memory" ( "пам'ять з довільним доступом"). ОЗУ є область тимчасового зберігання даних, за допомогою якої забезпечується функціонування програмного забезпечення. Пам'ять складається з осередків, кожна з яких призначена для зберігання певного обсягу даних, як правило, одного або чотирьох біт. Чіпи пам'яті працюють синхронно з системною шиною. Комп'ютерна оперативна пам'ять є динамічною (звідси - DRAM або Dynamic RAM) - для зберігання даних в такий пам'яті потрібна постійна подача електричного струму, при відсутності якого осередку спустошуються. Приклад незалежній або постійної пам'яті (ПЗУ або ROM - Read Only Memory) пам'яті - флеш-пам'ять, в якій електрику використовується лише для запису і читання, в той час як для самого зберігання даних джерело живлення не потрібен. Осередки пам'яті в мікросхемах є конденсатори, які заряджаються в разі необхідності записи логічної одиниці, і розряджаються при записі нуля. Спустошення пам'яті в разі відсутності електроенергії здійснюється саме за рахунок витоку струмів з конденсаторів. (Рис.1)

Крім того, позначається важлива і значна технічна різниця між запам'ятовуючими і запам'ятовують, яка була розбавлена ​​історичним використанням термінів «первинне сховище», для пам'яті з довільним доступом і «вторинним сховищем» для запам'ятовуючих пристроїв маса. Це пояснюється в наступних розділах, в яких традиційний термін «зберігання» використовується як підзаголовок для зручності.

Так як тільки мікропроцесор не здатний вміщати великий обсяг пам'яті, необхідний для зберігання інструкцій і даних програми, транзистори можуть використовуватися в якості елементів пам'яті в поєднанні з мікропроцесором. Інші інтегральні схеми, звані чіпами пам'яті з довільним доступом, які містять велику кількість транзисторів, використовуються для забезпечення необхідної пам'яті. Існує кілька типів оперативної пам'яті.

Принцип роботи оперативної пам'яті можна представити в такий спосіб. Оскільки осередки організовані у вигляді двовимірної матриці, для отримання доступу до тієї чи іншої осередку необхідно вказати адресу відповідних рядка та стовпця. Для вибору адреси застосовуються імпульси RAS # (Row Access Strobe - стробірующій імпульс доступу до рядка) і CAS # (Column Acess Strobe - стробірующій імпульс доступу до колонку) при яких рівень сигналу (точніше, напруга) змінюється з високого на низький. Ці імпульси синхронізовані з тактується імпульсом, тому оперативна пам'ять також називається синхронної (SDRAM). Спочатку подається сигнал активації необхідної рядки, після чого - імпульс RAS #, а потім - CAS #. При операції запису відбувається те ж саме, за винятком того, що в цьому випадку подається спеціальний імпульс дозволу записи WE # (Write Enable), який також повинен змінитися з високого на низький. Після завершення роботи з усіма осередками активної рядки виконується команда Precharge, що дозволяє перейти до наступного рядка. Існують і інші сигнали, але в контексті даної статті їх можна не згадувати, щоб невиправдано не ускладнювати матеріал.

Комп'ютер має два типи пам'яті. Ця пам'ять читається тільки, тобто ви не можете її записати. Ваша інформація була записана виробником при створенні обладнання і не зникає при вимкненні комп'ютера. Ця пам'ять необхідна для роботи комп'ютера і містить інструкції і технічні дані різних компонентів комп'ютера.

В області інформатики пам'ять заснована на напівпровідниках, які можуть зчитуватися і записуватися мікропроцесором або іншими апаратними пристроями. Це абревіатура для англійської пам'яті довільного доступу. Ви можете отримати доступ до місць зберігання в будь-якому порядку.

Найважливіша характеристика пам'яті, від якої залежить продуктивність - це пропускна здатність, яка виражається як добуток частоти системної шини на обсяг даних, переданих за кожен такт. У випадку з пам'яттю SDRAM ми має шину шириною 64 біта або 8 байт. Отже, наприклад, пропускна здатність пам'яті типу DDR333 становить 333 МГц х 8 Байт = 2,7 Гбайта в секунду або 2700 Мбайт в секунду. Звідси, до речі, й іншу назву пам'яті - PC2700, по її пропускної здатності в мегабайтах в секунду. Останнім часом часто використовується двухканальное підключення пам'яті, при якому теоретична пропускна здатність подвоюється. Тобто, у випадку з двома модулями DDR333 ми отримаємо максимально можливу швидкість обміну даних 5,4 Гб / с.

В інформатиці - частина пам'яті довільного доступу комп'ютера або комп'ютера, яка зарезервована для тимчасового зберігання інформації, яка була недавно прочитана або записана на диску. Кеш диска виконує різні функції: в деяких випадках він зберігає певні адреси секторів; в інших випадках він зберігає копію каталогу, а в інших - зберігає частини або розширення виконуваної програмиабо програм.

Пристрій матриці статичної пам'яті

При обчисленні тип пам'яті також називається перепрограмувальний тільки для читання. В інформатиці - пам'ять на основі напівпровідників, яка містить інструкції або дані, які можуть бути прочитані, але не змінені. Потім виробник створює один або кілька чіпів, що містять ці інструкції або дані.

Проте, частота роботи пам'яті і, отже, її теоретична пропускна здатність не є єдиними параметрами, що відповідають за продуктивність. Насправді не менш важливу роль відіграють і латентність пам'яті, тобто значення затримок між подачею команди і її виконанням. Ці значення прийнято називати таймингами, які виражаються в тактах, які пройшли між надходженням будь-якої команди і її реальним ісполненіем.Четире найважливіших таймінгу, які завжди використовуються при описі тих чи інших модулів пам'яті - tRCD, tCL, tRP, tRAS (іноді додатково вказується і Command rate), причому записуються вони зазвичай в цій же послідовності у вигляді 4-4-4-12- (1T) (цифри в даному випадку довільні). Абревіатура tRCD розшифровується як timе of RAS # to CAS # Delay - таймінг затримки між імпульсами RAS # і CAS #. Скорочення tCL означає timе of CAS # Latency - таймінг затримки щодо імпульсу CAS # після подачі команди запису або читання. tRP - це timе of Row Precharge: таймінг між завершенням обробки рядка і переходу до нового рядка. Значення tRAS (time of Active to Precharge Delay) вважається одним з основних параметрів, оскільки він описує час затримки між активацією рядка і подачею команди Precharge, якої закінчується робота з цим рядком. Нарешті, параметр Command rate може призвести до затримок між командою вибору конкретного чіпа на модулі і командою активації рядка; зазвичай ця затримка становить не більше одного-двох тактів.

Види оперативної пам'яті, їх призначення та основні характеристики

При обчисленні проміжний склад даних, тобто зарезервована частина пам'яті, в якій дані тимчасово підтримуються доти, поки у неї не буде можливості завершити її передачу на або з пристрою, що запам'ятовує або іншого місця в пам'яті. Деякі пристрої, такі як принтери або адаптери, які їх підтримують, зазвичай мають свої власні буфери.

характеристики спогадів

Поділ між первинним, вторинним, третинним, офф-лайн засноване на ієрархії пам'яті або відстані від центрального процесора. Він використовується для тривалого зберігання і, отже, використовується у вторинних, третинних і автономних запам'ятовуючих пристроях. Динамічна пам'ять - це енергозалежна пам'ять, яка також вимагає періодично оновлювати відібрані змісти або читати і переписувати без змін.

Можливість доступу до несуміжних інформації

  • Існують і інші способи характеризації різних типів пам'яті.
  • Волатильність інформації.
  • Незалежна пам'ять вимагає постійної енергії для зберігання інформації.
  • Незалежна пам'ять зазвичай використовується тільки в первинних пам'яті.
Випадковий доступ означає, що будь-який пункт пам'яті може бути доступно в будь-який час в тому ж, зазвичай маленькому тимчасовому інтервалі.

Загальне правило говорить: чим менше таймінги при одній тактовій частоті, тим швидше пам'ять. Більш того, в цілому ряді випадків швидше виявляється пам'ять з меншими таймингами, що працює навіть на більш низькій тактовій частоті. Вся справа в тому, що, як ми вже згадували, оперативна пам'ять працює синхронно з системною шиною, тому пам'ять з частотою, що не кратною частоті системної шини і з пропускною здатністю, що перевищує пропускну здатність системної шини ніяких переваг перед більш дешевою не має. Наприклад, системна шина сучасних процесорів Pentium 4 працює на частоті 800 МГц, що при ширині шини 64 біт забезпечує максимальну пропускну здатність в 6,4 Гбайта в секунду. Оптимальним вибором для таких чіпів є двоканальна пам'ять DDR2 400 з аналогічною пропускною спроможністю в ті ж 6,4 Гбайта в секунду. Використання в двоканальному режимі більш дорогих модулів типу DDR2 533/677 реальної прибавки в продуктивності навряд чи дасть. Більш того, в інших випадках є сенс знизити робочу частоту таких модулів, але домогтися більш низьких таймінгів. Це позитивно позначиться на продуктивності - щоб переконатися в цьому, досить "прогнати" різні тестові програми.

Можливість зміни інформації

Послідовний доступ означає, що доступ до інформаційного блоку займе змінний часовий інтервал, в залежності від одиниці інформації, яка була прочитана раніше. Пристрій може знадобитися для пошуку або обертання. Пам'ять, доступна тільки для читання, зберігає інформацію, що зберігається під час виготовлення, і одна пам'ять записи дозволяє записувати інформацію тільки один раз в якийсь момент після виготовлення. Існують також незмінні спогади, які використовуються в теоретичних і автономних спогадах.

2. Види оперативної пам'яті, їх призначення та основні характеристики.

існує багато різних видівоперативної пам'яті, але їх все можна поділити на дві основні підгрупи - статична пам'ять (Static RAM) і динамічна пам'ять (Dynamic RAM).

Ці два типи пам'яті відрізняються, перш за все, різної в корені технологічної реалізацією - SRAM буде зберігати записані дані до тих пір, поки не запишуть нові або НЕ відключать харчування, а DRAM може зберігати дані лише невеликий час, після якого дані потрібно відновити (регенерувати) , інакше вони будуть втрачені.

Пам'ять про більш високої ємності є результатом швидкої еволюції технології напівпровідникових матеріалів. Перші шахові програми працювали на машинах, які використовували магнітні базові спогади. Швидкість комп'ютерів збільшилася, помножена на приблизно 000, і обсяг пам'яті виріс в аналогічній пропорції. Цей факт особливо важливий для програм, що використовують таблиці транспозиція: у міру збільшення швидкості комп'ютера, для підтримки додаткової кількості позицій, які шукає програма, необхідні пропорційно великі ємності пам'яті.

Розглянемо переваги і недоліки SRAM і DRAM:

Пам'ять типу DRAM, в силу своєї технології, має велику щільність розміщення даних, ніж SRAM.

DRAM набагато дешевше SRAM, але остання, продуктивніше і надійніше, оскільки завжди готова до зчитування.

2.1 Статична пам'ять

Статична пам'ять, або SRAM (Statistic RAM) є найбільш продуктивним типом пам'яті. Мікросхеми SRAM застосовуються для кешування оперативної пам'яті, в якій використовуються мікросхеми динамічної пам'яті, а також для кешування даних в механічних пристроях зберігання інформації, в блоках пам'яті відеоадаптерів і т. Д. Фактично, мікросхеми SRAM використовуються там, де необхідний обсяг пам'яті не дуже великий, але високі вимоги до швидкодії, а раз так, то виправдано використання дорогих мікросхем. У персональних комп'ютерах з процесорами, у яких не було інтегрованої на кристалі кеш-пам'яті другого рівня, завжди використовувалися мікросхеми SRAM зовнішнього кеша. Для здешевлення системних плат і можливості їх модернізації виробники системних плат з процесорами 486 і перших поколінь Pentium встановлювали спеціальні ліжечка (роз'єми для мікросхем з DIP-корпусом), в які можна було встановлювати різні мікросхеми SRAM, що відрізняються як за швидкодією і обсягом пам'яті, так і різної розрядністю. Для конфігурації пам'яті на системній платі передбачався набір джамперів. Для довідки прямо на системній платі фарбою наносилася інформація про встановлення джамперів, наприклад, як показано в табл. (В колонках JS1 і JS2 вказані номери контактів, які треба замкнути перемичками).

Мінікомп'ютери: вони характеризуються регулярної базовою конфігурацією, яка може складатися з монітора, флоппі-дисків, дисків, принтерів і т.д. макрокомпьютери: це ті, які в своїй базовій конфігурації містять блоки, які забезпечують більшу інформаційну ємність, термінали і т.д. мікрокомп'ютери і персональні комп'ютери: з просуванням мікроелектроніки в 70-х роках можна було включити всі компоненти центрального процесора комп'ютера в єдину інтегральну схему, звану мікропроцесором.

Це стало основою для створення комп'ютерів, які називалися мікрокомп'ютерами. Походження мікрокомп'ютерів відбувалося в Сполучених Штатах від комерціалізації перших мікропроцесорів. Комп'ютер - це потужний накопичувач даних. Будь-яка програма, веб-сторінка або відкритий файлякимось чином реєструються, десь в пристрої. Як і користувачі, пам'ять є однією з найбільш добре розроблених функцій системи.

Приклад таблиці конфігурації кеш-пам'яті на системній платі:

Відзначимо, що зміною конфігурації кеш-пам'яті займалися тільки тоді, коли виходила з ладу будь-яка мікросхема кеш-пам'яті. В інших випадках змінювати положення джамперів не рекомендувалося. Надалі, у міру розробки досконаліших мікросхем SRAM, вони безпосередньо припаювалися на системну плату в кількості 1, 2 або 4 штук. На системних платах, які випускаються в даний час, мікросхеми SRAM використовуються, в основному, тільки для кешування введення / виведення і інших системних функцій.

Але коли справа доходить до віртуальної пам'яті, що таке перша, а іноді і єдина річ, про яку ми думаємо? Ви можете легко знайти цей вислів, записане в інформації про комп'ютер для продажу, або про вимоги до запуску гри або програмного забезпечення.

Кожен з них має певну роль і відповідний момент для використання. Число секторів може здатися перебільшеним, але воно окупається. Наприклад, якщо машина запитувала тільки жорсткий диск, Вона повинна була бути набагато потужнішою - і весь процес був би дуже повільним.

3. Пристрій матриці статичної пам'яті

Подібно осередкам динамічної, тригери об'єднуються в єдину матрицю, що складається з рядків (row) і стовпців (column), останні з яких так само називаються бітами (bit).

На відміну від осередку динамічної пам'яті, для управління якої достатньо лише одного ключового транзистора, осередок статичної пам'яті управляється як мінімум двома. Це не здасться дивним, якщо згадати, що тригер, на відміну від конденсатора, має окремі входи для запису логічного нуля і одиниці відповідно. Таким чином, на осередок статичної пам'яті витрачається цілих вісім транзисторів (див. Рис.2) - чотири йдуть, власне, на сам тригер і ще два - на керуючі "засувки".

Типи статичної пам'яті

Потік інформації на вашому комп'ютері досить інтенсивний, навіть якщо він не працює. Багато дані приймаються процесором, який швидко повинен позбутися їх, щоб отримати інший пакет без перевантаження. Кеш-пам'ять, яка має найбільш затребувані інструкції, є першим орієнтованим місцем розташування. Дані, нарешті, передаються процесору, зчитуються і переписуються в одній з пам'яті для подальшого використання. Процесору потрібні дані, які вже існують на комп'ютері. . Центральний процесор є частиною системи, що відповідає за виконання завдань, зазначених користувачем.


Мал. 2. Пристрій 6-транзістроной одно-портової осередку SRAM-пам'яті

Причому, шість транзисторів на осередок - це ще не межа! Існують і більш складні конструкції! Основний недолік шести транзисторної осередки полягає в тому, що в кожен момент часу може оброблятися всього лише один рядок матриці пам'яті. Паралельне читання осередків, розташованих в різних рядках одного і того ж банку неможливо, так само як неможливо і читання одного осередку одночасно із записом іншої.

Завдяки численним обчислень і запитам даних, вона відповідає за створення програмного забезпечення, яке ви хочете використовувати, наприклад. Але що, якщо ви хочете знову відкрити ту ж програму? Для цього він використовує такі спогади, розкидані по всьому устаткуванню, кожен з яких має специфіку і конкретні цілі.

Кешування - це найлегша і швидка пам'ять у вашій системі, де відбувається тимчасова інформація, яку потрібно обробляти швидше. Це перший варіант захисту даних, оскільки він має пряму або дуже тісний зв'язок з процесором. Тому його основна функція полягає в тому, щоб зберегти результати роботи процесора, які надаються при його роботі.

Цього обмеження позбавлена ​​Багатопортовий пам'ять. Кожна осередок Багатопортовий пам'яті містить один-єдиний тригер, але має кілька комплектів керуючих транзисторів, кожен з яких підключений до "своїм" лініях ROW і BIT, завдяки чому різні осередки матриці можуть оброблятися незалежно. Такий підхід набагато більш прогресивний, ніж розподіл пам'яті на банки. Адже, в останньому випадку паралелізм досягається лише при зверненні до осередків різних банків, що не завжди здійснимо, а багато портова пам'ять допускає одночасну обробку будь-яких осередків, позбавляючи програміста від необхідності вникати в особливості її архітектури.

Його створення грунтувалося саме на необхідності розміщувати такі результати, не витрачаючи місця на інші спогади і отримувати відповідь відразу після запиту, роблячи його латентність майже нульовий. Коли процесор хоче отримати доступ до інформації, це перше місце пошуку. Якщо кеш має це між вашими файлами, завершення сканування завершується, і дані виконуються негайно.

Дані рівня 1 менше, але легко доступні. На рівні 2 швидкість невелика, але передача все одно не скомпрометована. Решта шари слідують одному і тому ж принципу. Всі вони завжди використовуються, але вони не завжди дбають про все сховище. Крім того, ви не можете збільшити розмір кеша без заміни процесора. Деякі дані більше і важливіше, тому їм необхідний більш динамічний і потужний контроль доступу.

Найбільш часто зустрічається двох - портова пам'ять, пристрій осередки якої зображено на рис. 3. (увага! Це зовсім не та пам'ять яка, зокрема, застосовується в кеші першого рівня мікропроцесорів Intel Pentium). Неважко підрахувати, що для створення однієї комірки двох - портової пам'яті витрачається вісім транзисторів. Нехай ємність кеш пам'яті становить 32 КБ, тоді тільки на одне ядро ​​піде понад два мільйони транзисторів!

Мал. 3. Пристрій 8-транзістроной двох портової осередку SRAM-пам'яті


Мал. 3. Осередок динамічної пам'яті втілена в кристалі


Федеральне агентство з освіти
Державна освітня установа

вищої професійної освіти
«Санкт-Петербурзький державний
інженерно-економічний університет »

РЕФЕРАТ
«Оперативна пам'ять ПК, види, призначення та основні характеристики»
з дисципліни «Інформатика»
Керівник А. А. Кантаровіч
Виконавець В. Калмиков
Група 2601
Санкт-Петербург
2010

Зміст.
1.Оперативний пам'ять. 3
2. Види оперативної пам'яті, їх призначення та основні характеристики. 5
2.1 Статична пам'ять 6
3. Пристрій матриці статичної пам'яті 7
4. Типи статичної пам'яті 8
4.2 Динамічна пам'ять. 9
5. Процедури та функції для роботи з динамічною пам'яттю. 17
Список літератури 21

1.Оперативний пам'ять.

Оперативна пам'ять - це, у вітчизняній науковій термінології, "оперативний пристрій" або ОЗУ, а в західній - RAM, тобто "Random Access Memory" ( "пам'ять з довільним доступом"). ОЗУ є область тимчасового зберігання даних, за допомогою якої забезпечується функціонування програмного забезпечення. Пам'ять складається з осередків, кожна з яких призначена для зберігання певного обсягу даних, як правило, одного або чотирьох біт. Чіпи пам'яті працюють синхронно з системною шиною. Комп'ютерна оперативна пам'ять є динамічною (звідси - DRAM або Dynamic RAM) - для зберігання даних в такий пам'яті потрібна постійна подача електричного струму, при відсутності якого осередку спустошуються. Приклад незалежній або постійної пам'яті (ПЗУ або ROM - Read Only Memory) пам'яті - флеш-пам'ять, в якій електрику використовується лише для запису і читання, в той час як для самого зберігання даних джерело живлення не потрібен. Осередки пам'яті в мікросхемах є конденсатори, які заряджаються в разі необхідності записи логічної одиниці, і розряджаються при записі нуля. Спустошення пам'яті в разі відсутності електроенергії здійснюється саме за рахунок витоку струмів з конденсаторів. (Рис.1)

рис.1

Принцип роботи оперативної пам'яті можна представити в такий спосіб. Оскільки осередки організовані у вигляді двовимірної матриці, для отримання доступу до тієї чи іншої осередку необхідно вказати адресу відповідних рядка та стовпця. Для вибору адреси застосовуються імпульси RAS # (Row Access Strobe - стробірующій імпульс доступу до рядка) і CAS # (Column Acess Strobe - стробірующій імпульс доступу до колонку) при яких рівень сигналу (точніше, напруга) змінюється з високого на низький. Ці імпульси синхронізовані з тактується імпульсом, тому оперативна пам'ять також називається синхронної (SDRAM). Спочатку подається сигнал активації необхідної рядки, після чого - імпульс RAS #, а потім - CAS #. При операції запису відбувається те ж саме, за винятком того, що в цьому випадку подається спеціальний імпульс дозволу записи WE # (Write Enable), який також повинен змінитися з високого на низький. Після завершення роботи з усіма осередками активної рядки виконується команда Precharge, що дозволяє перейти до наступного рядка. Існують і інші сигнали, але в контексті даної статті їх можна не згадувати, щоб невиправдано не ускладнювати матеріал.
Найважливіша характеристика пам'яті, від якої залежить продуктивність - це пропускна здатність, яка виражається як добуток частоти системної шини на обсяг даних, переданих за кожен такт. У випадку з пам'яттю SDRAM ми має шину шириною 64 біта або 8 байт. Отже, наприклад, пропускна здатність пам'яті типу DDR333 становить 333 МГц х 8 Байт = 2,7 Гбайта в секунду або 2700 Мбайт в секунду. Звідси, до речі, й іншу назву пам'яті - PC2700, по її пропускної здатності в мегабайтах в секунду. Останнім часом часто використовується двухканальное підключення пам'яті, при якому теоретична пропускна здатність подвоюється. Тобто, у випадку з двома модулями DDR333 ми отримаємо максимально можливу швидкість обміну даних 5,4 Гб / с.
Проте, частота роботи пам'яті і, отже, її теоретична пропускна здатність не є єдиними параметрами, що відповідають за продуктивність. Насправді не менш важливу роль відіграють і латентність пам'яті, тобто значення затримок між подачею команди і її виконанням. Ці значення прийнято називати таймингами, які виражаються в тактах, які пройшли між надходженням будь-якої команди і її реальним ісполненіем.Четире найважливіших таймінгу, які завжди використовуються при описі тих чи інших модулів пам'яті - tRCD, tCL, tRP, tRAS (іноді додатково вказується і Command rate), причому записуються вони зазвичай в цій же послідовності у вигляді 4-4-4-12- (1T) (цифри в даному випадку довільні). Абревіатура tRCD розшифровується як timе of RAS # to CAS # Delay - таймінг затримки між імпульсами RAS # і CAS #. Скорочення tCL означає timе of CAS # Latency - таймінг затримки щодо імпульсу CAS # після подачі команди запису або читання. tRP - це timе of Row Precharge: таймінг між завершенням обробки рядка і переходу до нового рядка. Значення tRAS (time of Active to Precharge Delay) вважається одним з основних параметрів, оскільки він описує час затримки між активацією рядка і подачею команди Precharge, якої закінчується робота з цим рядком. Нарешті, параметр Command rate може призвести до затримок між командою вибору конкретного чіпа на модулі і командою активації рядка; зазвичай ця затримка становить не більше одного-двох тактів.
Загальне правило говорить: чим менше таймінги при одній тактовій частоті, тим швидше пам'ять. Більш того, в цілому ряді випадків швидше виявляється пам'ять з меншими таймингами, що працює навіть на більш низькій тактовій частоті. Вся справа в тому, що, як ми вже згадували, оперативна пам'ять працює синхронно з системною шиною, тому пам'ять з частотою, що не кратною частоті системної шини і з пропускною здатністю, що перевищує пропускну здатність системної шини ніяких переваг перед більш дешевою не має. Наприклад, системна шина сучасних процесорів Pentium 4 працює на частоті 800 МГц, що при ширині шини 64 біт забезпечує максимальну пропускну здатність в 6,4 Гбайта в секунду. Оптимальним вибором для таких чіпів є двоканальна пам'ять DDR2 400 з аналогічною пропускною спроможністю в ті ж 6,4 Гбайта в секунду. Використання в двоканальному режимі більш дорогих модулів типу DDR2 533/677 реальної прибавки в продуктивності навряд чи дасть. Більш того, в інших випадках є сенс знизити робочу частоту таких модулів, але домогтися більш низьких таймінгів. Це позитивно позначиться на продуктивності - щоб переконатися в цьому, досить "прогнати" різні тестові програми.

2. Види оперативної пам'яті, їх призначення та основні характеристики.

Існує багато різних видів оперативної пам'яті, але їх все можна поділити на дві основні підгрупи - статична пам'ять (Static RAM) і динамічна пам'ять (Dynamic RAM).
Ці два типи пам'яті відрізняються, перш за все, різної в корені технологічної реалізацією - SRAM буде зберігати записані дані до тих пір, поки не запишуть нові або НЕ відключать харчування, а DRAM може зберігати дані лише невеликий час, після якого дані потрібно відновити (регенерувати) , інакше вони будуть втрачені.
Розглянемо переваги і недоліки SRAM і DRAM:
Пам'ять типу DRAM, в силу своєї технології, має велику щільність розміщення даних, ніж SRAM.
DRAM набагато дешевше SRAM, але остання, продуктивніше і надійніше, оскільки завжди готова до зчитування.

2.1 Статична пам'ять

Статична пам'ять, або SRAM (Statistic RAM) є найбільш продуктивним типом пам'яті. Мікросхеми SRAM застосовуються для кешування оперативної пам'яті, в якій використовуються мікросхеми динамічної пам'яті, а також для кешування даних в механічних пристроях зберігання інформації, в блоках пам'яті відеоадаптерів і т. Д. Фактично, мікросхеми SRAM використовуються там, де необхідний обсяг пам'яті не дуже великий, але високі вимоги до швидкодії, а раз так, то виправдано використання дорогих мікросхем. У персональних комп'ютерах з процесорами, у яких не було інтегрованої на кристалі кеш-пам'яті другого рівня, завжди використовувалися мікросхеми SRAM зовнішнього кеша. Для здешевлення системних плат і можливості їх модернізації виробники системних плат з процесорами 486 і перших поколінь Pentium встановлювали спеціальні ліжечка (роз'єми для мікросхем з DIP-корпусом), в які можна було встановлювати різні мікросхеми SRAM, що відрізняються як за швидкодією і обсягом пам'яті, так і різної розрядністю. Для конфігурації пам'яті на системній платі передбачався набір джамперів. Для довідки прямо на системній платі фарбою наносилася інформація про встановлення джамперів, наприклад, як показано в табл. (В колонках JS1 і JS2 вказані номери контактів, які треба замкнути перемичками).
Приклад таблиці конфігурації кеш-пам'яті на системній платі:
    Size SRAM JS1 JS2
    256 К 32x8 1-2 1-2
    512 К 64x8 2-3 1-2
    1 М 128x8 2-3 2-3
Відзначимо, що зміною конфігурації кеш-пам'яті займалися тільки тоді, коли виходила з ладу будь-яка мікросхема кеш-пам'яті. В інших випадках змінювати положення джамперів не рекомендувалося. Надалі, у міру розробки досконаліших мікросхем SRAM, вони безпосередньо припаювалися на системну плату в кількості 1, 2 або 4 штук. На системних платах, які випускаються в даний час, мікросхеми SRAM використовуються, в основному, тільки для кешування введення / виведення і інших системних функцій.

3. Пристрій матриці статичної пам'яті

Подібно осередкам динамічної, тригери об'єднуються в єдину матрицю, що складається з рядків (row) і стовпців (column), останні з яких так само називаються бітами (bit).
На відміну від осередку динамічної пам'яті, для управління якої достатньо лише одного ключового транзистора, осередок статичної пам'яті управляється як мінімум двома. Це не здасться дивним, якщо згадати, що тригер, на відміну від конденсатора, має окремі входи для запису логічного нуля і одиниці відповідно. Таким чином, на осередок статичної пам'яті витрачається цілих вісім транзисторів (див. Рис.2) - чотири йдуть, власне, на сам тригер і ще два - на керуючі "засувки".

Мал. 2. Пристрій 6-транзістроной одно-портової осередку SRAM-пам'яті
Причому, шість транзисторів на осередок - це ще не межа! Існують і більш складні конструкції! Основний недолік шести транзисторної осередки полягає в тому, що в кожен момент часу може оброблятися всього лише один рядок матриці пам'яті. Паралельне читання осередків, розташованих в різних рядках одного і того ж банку неможливо, так само як неможливо і читання одного осередку одночасно із записом іншої.
Цього обмеження позбавлена ​​Багатопортовий пам'ять. Кожна осередок Багатопортовий пам'яті містить один-єдиний тригер, але має кілька комплектів керуючих транзисторів, кожен з яких підключений до "своїм" лініях ROW і BIT, завдяки чому різні осередки матриці можуть оброблятися незалежно. Такий підхід набагато більш прогресивний, ніж розподіл пам'яті на банки. Адже, в останньому випадку паралелізм досягається лише при зверненні до осередків різних банків, що не завжди здійснимо, а багато портова пам'ять допускає одночасну обробку будь-яких осередків, позбавляючи програміста від необхідності вникати в особливості її архітектури.
Найбільш часто зустрічається двох - портова пам'ять, пристрій осередки якої зображено на рис. 3. (увага! Це зовсім не та пам'ять яка, зокрема, застосовується в кеші першого рівня мікропроцесорів Intel Pentium). Неважко підрахувати, що для створення однієї комірки двох - портової пам'яті витрачається вісім транзисторів. Нехай ємність кеш пам'яті становить 32 КБ, тоді тільки на одне ядро ​​піде понад два мільйони транзисторів!
Мал. 3. Пристрій 8-транзістроной двох портової осередку SRAM-пам'яті

Мал. 3. Осередок динамічної пам'яті втілена в кристалі

4. Типи статичної пам'яті

Існує як мінімум три типи статичної пам'яті: асинхронна, синхронна і конвеєрна. Всі вони практично нічим не відрізняються від відповідних їм типів динамічної пам'яті.
Асинхронна статична пам'ять
Асинхронна статична пам'ять працює незалежно від контролера і тому, контролер не може бути впевнений, що закінчення циклу обміну співпаде з початком чергового тактового імпульсу. В результаті, цикл обміну подовжується принаймні на один такт, знижуючи тим самим ефективну продуктивність. "Завдяки" останній обставині, в даний час асинхронна пам'ять практично ніде не застосовується (останніми комп'ютерами, на яких вона ще використовувалися в якості кеша другого рівня, стали "троячки" - машини, побудовані на базі процесора Intel 80386).
Синхронна статична пам'ять
Синхронна статична пам'ять виконує всі операції одночасно з тактовими сигналами, в результаті чого час доступу до осередку укладається в один-єдиний такт. Саме на синхронної статичної пам'яті реалізується кеш першого рівня сучасних процесорів.
Конвеєрна статична пам'ять
Конвеєрна статична пам'ять являє собою синхронну статичну пам'ять, оснащену спеціальними "засувками", які утримують лінії даних, що дозволяє читати (записувати) вміст одного осередку паралельно з передачею адреси іншої.
Так само, конвеєрна пам'ять може обробляти кілька суміжних осередків за один робочий цикл. Досить передати лише адреса першого осередку пакета, а адреси інших мікросхема вирахує самостійно, - тільки встигай подавати (забирати) записування (лічені) дані!
За рахунок більшої апаратної складності конвеєрної пам'яті, час доступу до першій клітинці пакета збільшується на один такт, однак, це практично не знижує продуктивності, тому що всі наступні осередки пакета обробляються без затримок.
Конвеєрна статична пам'ять використовується зокрема в кеші другого рівня мікропроцесорів Pentium-II і її формула виглядає так: 2-1-1-1.

4.2 Динамічна пам'ять.

Всі змінні, оголошені в програмі, розміщуються в одній безперервній області оперативної пам'яті, яка називається сегментом даних. Довжина сегмента даних визначається архітектурою мікропроцесорів 8086 і становить 65 536 байт, що може викликати відомі труднощі при обробці великих масивів даних.
З іншого боку, обсяг пам'яті ПК (зазвичай не менше 640 Кбайт) достатній для успішного вирішення завдань з великою розмірністю даних. Виходом з ситуації може бути використання так званої динамічної пам'яті.
Динамічна пам'ять - це оперативна пам'ять ПК, що надається програмою при її роботі, за вирахуванням сегмента даних F4 Кбайт), стека (зазвичай 16 Кбайт) і власне тіла програми.
Розмір динамічної пам'яті можна варіювати в широких межах (див. Додаток 1). За замовчуванням цей розмір визначається всієї доступної пам'яттю ПК і, як правило, становить не менше 200-300 Кбайт. Динамічна пам'ять - це фактично єдина можливість обробки масивів даних великої розмірності. Без динамічної пам'яті важко або неможливо вирішити багато практичні завдання.
Така необхідність виникає, наприклад, при розробці систем автоматизованого проектування (САПР): розмірність математичних моделей, що використовуються в САПР, може значно відрізнятися в різних проектах; статичне (т. е. на етапі розробки САПР) розподіл пам'яті в цьому випадку, як правило, неможливо. Нарешті, динамічна пам'ять широко застосовується для тимчасового запам'ятовування даних при роботі з графічними і звуковими засобами ПК.
Динамічне розміщення даних означає використання динамічної пам'яті безпосередньо при роботі програми. На відміну від цього, статичне розміщення здійснюється компілятором Турбо Паскаля в процесі компіляції програми. При динамічному розміщенні заздалегідь не відомі ні тип, ні кількість розміщуваних даних, до них не можна звертатися за іменами, як до статичних змінних.
Оперативна пам'ять ПК являє собою сукупність елементарних осередків для зберігання інформації - байтів, кожен з яких має власний номер. Ці номери називаються адресами, вони дозволяють звертатися до будь-якого байту пам'яті.
Турбо Паскаль надає в розпорядження програміста гнучкий засіб керування динамічною пам'яттю - так звані покажчики. Покажчик - це змінна, яка в якості свого значення містить адресу байта пам'яті.
У ПК адреси задаються сукупністю двох шістнадцяткових слів, які називаються сегментом і зсувом. Сегмент - це ділянка пам'яті, що має довжину 65 536 байт F4 Кбайт) і починається з фізичної адреси, кратної 16 (т. Е. О, 16, 32, 48 і т. Д.). Зсув вказує, скільки байтів від початку сегмента необхідно пропустити, щоб звернутися до потрібною адресою. Адресний простір ПК складає 1 Мбайт (мова йде про так званої стандартної пам'яті ПК; на сучасних комп'ютерах з процесорами 80386 і вище адресний простір складає 4 Гбайт, проте в Турбо Паскалі немає коштів, що підтримують роботу з додатковою пам'яттю; при використанні середовища Borland Pascal with Objects 7.0 така можливість є).
Для адресації в межах 1 Мбайт потрібно 20 двійкових розрядів, які виходять з двох шістнадцяткових слів (сегмента і зміщення) наступним чином (рис. 6.1): вміст сегмента зміщується вліво на 4 розряди, що звільнилися праві розряди заповнюються нулями, результат складається з вмістом зміщення. Фрагмент пам'яті в 16 байт називається параграфом, тому можна сказати, що сегмент адресує пам'ять з точністю до параграфа, а зміщення - з точністю до байта. Кожному сегменту відповідає безперервна і окремо адресується область пам'яті. Сегменти можуть слідувати в пам'яті один за іншим без проміжків або з деяким інтервалом, або, нарешті, перекривати один одного. Таким чином, за своєю внутрішньою структурою будь-покажчик являє собою сукупність двох слів (даних типу WORD), що трактували як сег- 154.
За допомогою покажчиків можна розміщувати в динамічній пам'яті будь-якої з відомих в Турбо Паскалі типів даних. Лише деякі з них (BYTE, CHAR, SHORTINT, BOOLEAN) займають у внутрішньому перед- поданні один байт, інші - кілька суміжних. Тому насправді покажчик адресує лише перший байт даних. 6.3. Оголошення покажчиків.
Як правило, в Турбо Паскалі покажчик зв'язується з деяким типом даних. Такі покажчики будемо називати типізований. Для оголошення типизированного покажчика використовується значок л, який поміщається перед відповідним типом, наприклад: var pi AInteger; р2: "Real; type PerconPomter =" PcrconRecord; PerconRecord = record Name: String; Job: String; Next: PerconPomter end; Зверніть увагу: при оголошенні типу PerconPointer ми послалися на тип PerconRecord, який попередньо в програмі оголошено не було. Як уже зазначалося, в Турбо Паскалі послідовно проводиться в життя принцип, відповідно до якого перед використанням будь-якого ідентифікатора він повинен бути описаний. Виняток зроблено лише для покажчиків, які можуть посилатися на ще не оголошений тип даних. Це зроблено не випадково.
Динамічна пам'ять дає можливість реалізувати широко застосовується в деяких програмах організацію даних у вигляді списків. Кожен елемент списку має в своєму складі покажчик на сусідній елемент (рис. 6.2), що забезпечує можливість перегляду і корекції списку. Якби в Турбо Паскалі не було цього винятку, реалізація списків була б значно ускладнена. У Турбо Паскалі можна оголошувати покажчик і не пов'язувати його при цьому з будь-яким конкретним типом даних. Для цього служить стандартний тип POINTER, наприклад: var р: pointer.
1-й елемент списку Покажчик - 2-й елемент списку Останній елемент списку NIL Рис. 6.2. Облікова структура даних Покажчики такого роду будемо називати нешіпізірованнимі. Оскільки неті- пізірованние покажчики не пов'язані з конкретним типом, з їх допомогою зручно динамічно розміщувати дані, структура і тип яких змінюються в ході роботи програми.
Як вже говорилося, значеннями покажчиків є адреси змінних в пам'яті, тому варто було б очікувати, що значення одного покажчика можна передавати іншій. Насправді це не зовсім так. У Турбо Паскалі можна передавати значення тільки між покажчиками, пов'язаними з одним і тим же типом даних. Якщо, наприклад, оголошені змінні pl, p2; "Integer; РЗ: лЯоа1; рр: pointer; то присвоювання pl: = р2; цілком допустимо, в той час як присвоювання pl: = РЗ; заборонено, оскільки Р1 і РЗ вказують па різні типиданих. Це огра- обмеження, однак, не поширюється на нетипізовані покажчики, по- тому ми могли б записати рр: - РЗ, pl: = рр; і тим самим досягти потрібного результату.
Читач має право поставити питання, чи варто було вводити обмеження і тут же давати кошти для їх обходу. Вся справа в тому, що будь-яке обмеження, з одного боку, вводиться для підвищення надійності програм, а з іншого - зменшує потужність мови, робить його менш придатним для якихось Застосувань.
У Турбо Паскалі нечисленні винятки щодо типів даних надають мові необхідну гнучкість, але їх використання вимагає від програміста додаткових зусиль і таким чином свиде- свідчить про цілком усвідомленому дії.
Виділення і звільнення динамічної пам'яті Вся динамічна пам'ять в Турбо Паскалі розглядається як суцільний масив байтів, який називається купою. Фізично купа розташовується в старших адресах відразу за областю пам'яті, яку займає тіло програми. Початок купи зберігається в стандартній змінною HeapOrg (рис. 6.3), ко-кінець - у змінній HeapEnd. Поточну кордон незайнятої динамічної пам'яті містить змінна Heapptr. Памяхь під будь-яку динамічно розміщувану змінну виділяється процедурою NEW. Параметром звернення до цієї процедури є збірний покажчик. В результаті звернення покажчик набуває значення, відповідне динамічному адресою, починаючи з якого можна розмістити дані, наприклад: var i, j: "Integer; г: AReal; begin New (i); end.
Після виконання цього фрагмента покажчик 1 придбає значення, яке перед цим мав покажчик купи HEAPPTR, а сам HEAPPTR збільшить своє значення на 2, т. К. Довжина внутрішнього представлення типу INTEGER, з кото яким пов'язаний покажчик I, становить 2 байта (на самому ділі це не зовсім гак: пам'ять під будь-яку змінну виділяється порціями, кратними 8 байтам - см. розд. 6.7). Оператор new (г); викличе ще раз зміщення покажчика HEAPPTR, але тепер уже на 6 байт, тому що така довжина внутрішнього представлення типу REAL Аналогічним чином виділяється пам'ять і для змінної будь-якого іншого типу. Після того як покажчик придбав деяке значення, т. Е. Став вказувати на конкретну фізичну байт пам'яті, за цією адресою можна розмістити будь-яке значення відповідного типу. Для цього відразу за покажчиком без будь-яких прогалин ставиться значок л, наприклад: i = 2, (В область пам'яті i поміщено значення 2) гл = 2 * pi; (В область пам'яті г поміщено значення 6.28) \
Розташування купи в пам'яті ПК Таким чином, значення, на яке вказує покажчик, т. Е. Власне дані, розміщені в купі, позначені Л, який ставиться відразу за покажчиком. Якщо за покажчиком немає значка, то мається на увазі ад адресу, за якою розміщені дані. Має сенс ще раз задуматися над щойно сказаним: значенням будь-якого покажчика є адреса, а щоб вказати, що мова йде не про адресу, а про тих даних, які розміщені за цією адресою, за покажчиком ставиться Л. Якщо ви чітко усвідомити собі це, у вас не буде проблем при роботі з динамічною пам'яттю. Динамічно розміщені дані можна використовувати в будь-якому місці програми, де це допустимо для констант і змінних відповідним відповідного типу, наприклад: гол:<* sqr (rA) + \Л - 17; Разумеется, совершенно недопустим оператор г:= sqr(rA) + iA - 17; т. к. указателю r нельзя присвоить значение вещественного выражения. Точно так же недопустим оператор гл:= sqr (г) ; поскольку значением указателя r является адрес, и его (в отличие от того значения, которое размещено по этому адресу) нельзя возводить в квадрат. Ошибочным будет и такое присваивание: =х; 158 Ядро Турбо Паскаля т. к. вещественным данным, на которые указывает R, нельзя присвоить значение указателя (адрес).
Динамічну пам'ять можна не тільки забирати з купи, а й повертати назад. Для цього використовується процедура DISPOSE. Наприклад, оператори disposed); dispose (i); повернуть в купу 8 байт, які раніше були виділені вказівниками 1 і R (див. вище). Відзначимо, що процедура dtspose (PTR) не змінює значення покажчика PTR, а лише повертає в купу пам'ять, раніше пов'язану з цим покажчиком. Од- Однак повторне застосування процедури до вільного вказівником призведе до виникнення помилки періоду виконання. Звільнився покажчик програміст може помітити зарезервованим словом NIL. Позначений чи будь-якої покажчик чи ні, можна перевірити в такий спосіб: const р: 4lGal = NIL; begin if p = NIL then new (p); dispose (p); p: NIL; end. Ніякі інші операції порівняння над покажчиками не дозволені. Наведений вище фрагмент ілюструє кращий спосіб оголошення покажчика у вигляді типизированной константи (див. Розділ 7) з одночасним присвоєнням йому значення NIL. Слід врахувати, що початкове значення покажчика (при його оголошенні в розділі змінних) може бути довільним. Використання покажчиків, яким не присвоєно значення процедурою NEW або іншим способом, не контролюється системою і може привести до непередбачуваних результатів.
і т.д.................
Поділіться з друзями або збережіть для себе:

Завантаження ...