Автор: Пользователь скрыл имя, 24 Февраля 2012 в 11:42, лекция
Одним из важнейших устройств компьютера является память, или запоминающее устройство (ЗУ).
ЗУ - "функциональная часть цифровой вычислительной машины, предназначенной для записи, хранения и выдачи информации, представленной в цифровом виде."
Организация компьютерных систем. Память
Память
Одним из важнейших устройств компьютера является память, или запоминающее устройство (ЗУ).
ЗУ - "функциональная часть цифровой вычислительной машины, предназначенной для записи, хранения и выдачи информации, представленной в цифровом виде."
Под это определение попадает как собственно память, так и внешние запоминающие устройства (накопители на жестких и гибких дисках, магнитной ленты, DVD/CD-ROM), которые лучше отнести к устройствам ввода/вывода информации.
Память
"Память
определяет быстродействие" Фо
"Самый медленный верблюд определяет скорость каравана» Арабское народное
Основной единицей памяти является двоичный разряд, который называется битом. Бит может содержать 0 или 1.
Моделируется разным уровнем напряжения (высокое и низкое).
Использование бинарной арифметики “эффективно”
Двоично-десятичный код
Считается, что некоторые компьютеры используют и десятичную, и двоичную арифметику. На самом деле применяется двоично-десятичный код.
Например, для хранения одного десятичного разряда требуется использовать 4 бита (16 комбинаций для размещения 10 значений от 0-9)
Пример: 1944
В двоично-десятичном представлении:
0001 1001 0100 0100
В двоичном представлении:
0000011110011000
16 битов
в двоично-десятичном
В двоичном представлении – 65536 комбинаций.
Именно по этой причине говорят, что двоичная система эффективнее.
Представим, что есть надежное устройство, которое может различать участок напряжения от 0 до 10 В, соответственно, может хранить разряды от 0 до 9.
4 таких устройства дали бы 9999 комбинаций, в то время как хранение двоичных чисел дало бы всего 16 комбинаций.
Адреса памяти
Память состоит из ячеек, каждая из которых может хранить некоторую порцию информации.
Ячейка имеет номер, который называется адресом. Все ячейки содержат одинаковое число битов.
Если ячейка состоит из k битов, она может содержать одну из 2k комбинаций.
Соседние ячейки имеют последовательные адреса.
Считывание-запись
Адрес ячейки тоже представляется двоичным числом.
Для считывания данных из памяти необходимо организовать выводы информационные и адресные (есть также управляющие)
Код с исправлением ошибок
Память компьютера время от времени может давать ошибки из-за всплесков напряжения или по другим причинам.
Чтобы бороться с такими ошибками, используются коды с обнаружением и исправлением ошибок.
При этом
к каждому слову специальным
образом добавляются
Число контрольных разрядов для кода, способного
исправлять
одиночные ошибки
Иллюстрация кода с исправлением ошибок (метод Хэмминга) для 4-битных слов
7 секторов. Закодированное слово 1100 (АВ), (АВС), (АС), (ВС).
Добавим биты четности
Алгоритм Хэмминга для 16-битных слов
К 16-битному слову надо добавить 5 битов четности
Получившееся слово содержит 21 бит
1, 2, 4, 8, 16 – биты четности, остальные – биты данных
Каждый бит четности проверяет определенные битовые позиции, общее число битов со значением 1 в проверяемых позициях должно быть четным
В общем случае бит b проверяется битами b1,b2,..bj, такими, что b1+b2+…+bj=b. Например бит 5 проверяется битами 1 и 4, бит 6 – битам и 2 и 4.
Возьмем слово 1111000010101110
Кодированное слово 001011100000101101110
Допустим произошла одиночная ошибка
001001100000101101110
Проверим биты четности
Биты 2,8,16 – правильные, 1,4 – неправильный. В результате исключений приходим к выводу, что ошибка в 5 бите.
Найти неправильный бит можно и гораздо быстрее:
Кэш-память
Процессоры работали всегда быстрее, чем память.
На практике получается следующее: после того как процессор дает запрос памяти, должно пройти несколько циклов, прежде чем он получит запрашиваемое.
Два способа решения:
Оба варианта ведут к снижению производительности
Технологически можно построить память, размещаемую прямо на микросхему процессора, однако это экономически не оправдано, а так же есть ограничения на размеры процессора.
Поэтому используют маленькую память с большой скоростью работы (кэш-память) и большую память с невысокой скоростью работы.
Принцип локальности
ОЗУ
Существует два типа ОЗУ (оперативное запоминающее устройство): статическое и динамическое.
Статическое ОЗУ (Static Random Access Memory, SRAM). Информация в ОЗУ сохраняется на протяжении всего времени, пока к нему подается питание.
Статическое ОЗУ работает очень быстро. Обычно время доступа составляет несколько наносекунд. По этой причине статическое ОЗУ часто используется в качестве кэш-памяти второго уровня.
Динамическое ОЗУ (Dynamic Random Access Memory, DRAM) представляет собой массив ячеек, каждая из которых содержит транзистор и крошечный конденсатор. Конденсаторы могут быть заряженными и разряженными, что позволяет хранить нули и единицы.
Поскольку
электрический заряд имеет
Поскольку динамическому ОЗУ нужен только 1 транзистор и 1 конденсатор на бит (статическому ОЗУ требуется в лучшем случае 6 транзисторов на бит), динамическое ОЗУ имеет очень высокую плотность записи (много битов на одну микросхему). По этой причине основная память почти всегда строится на основе динамических ОЗУ.
Однако динамические ОЗУ работают очень медленно (время доступа занимает десятки наносекунд). Таким образом, сочетание кэш-памяти на основе статического ОЗУ и основной памяти на основе динамического ОЗУ соединяет в себе преимущества обоих устройств.
Оперативная память
Множество поколений интерфейсной логики, соединяющей ядро памяти с "внешним миром", сменилось за это время. Эволюция носила ярко выраженный преемственный характер - каждое новое поколение памяти практически полностью наследовало архитектуру предыдущего, включая, в том числе, и свойственные ему ограничения.
Ядро памяти (за исключением совершенствования проектных норм таких, например, как степень интеграции) не претерпело никаких принципиальных изменений.
FPM DRAM (Fast
Page Mode DRAM)
быстрая страничная
память
Самый древний тип, который все еще используется — FPM.
Основным отличием стала поддержка сокращенных адресов. Если очередная запрашиваемая ячейка находится в той же самой строке, что и предыдущая, ее адрес однозначно определяется одним лишь номером столбца и передача номера строки уже не требуется.
При последовательном чтении ячеек памяти, (равно как и обработке компактных одно-двух килобайтовых структур данных), время доступа сокращается на 40%, а то и больше, ведь обрабатываемая строка находится во внутреннем буфере микросхемы, и обращаться к матрице памяти нет никакой необходимости.
EDO-DRAM (Extended
Data Out)
память с усовершенствованным
выходом
FPM постепенно замещается EDO, которая позволяет обращаться к памяти еще до того, как закончилось предыдущее обращение.
Такой конвейерный режим не ускоряет доступ к памяти, но зато увеличивает пропускную способность, выдавая больше слов в секунду.
BEDO (Burst EDO) - пакетная EDO RAM
Двукратное увеличение производительности было достигнуто лишь в BEDO-DRAM (Burst EDO). Конструкторы добились сокращения времени цикла до 15 нс.
SDRAM (Synchronous DRAM) - синхронная DRAM
Появление микропроцессоров с шинами на 100 MHz привело к радикальному пересмотру механизма управления памятью, и подтолкнуло конструкторов к созданию синхронной динамической памяти - SDRAM (Synchronous-DRAM). Микросхемы SDRAM-памяти работают синхронно с контроллером, что гарантирует завершение цикла в строго заданный срок.
Так же, в SDRAM реализован усовершенствованный пакетный режим обмена. Контроллер может запросить как одну, так и несколько последовательных ячеек памяти, а при желании - всю строку целиком. Это стало возможным благодаря использованию полноразрядного адресного счетчика.
Другое усовершенствование - количество матриц (банков) памяти в SDRAM увеличено с одного до нескольких. Это позволяет обращаться к ячейкам одного банка параллельно с перезарядкой внутренних цепей другого, что вдвое увеличивает предельно допустимую тактовую частоту.
Помимо этого появилась возможность одновременного открытия двух (четырех) страниц памяти, причем открытие одной страницы (т.е. передача номера строки) может происходить во время считывания информации с другой, что позволяет обращаться по новому адресу столбца ячейки памяти на каждом тактовом цикле.
DDR SDRAM, SDRAM
II (Double Data Rate SDRAM)
SDRAM с удвоенной скоростью
передачи данных
Дальнее развитие синхронной памяти привело к появлению DDR-SDRAM - Double Data Rate SDRAM (SDRAM удвоенной скорости передачи данных). Удвоение скорости достигается за счет передачи данных и по фронту, и по спаду тактового импульса (в SDRAM передача данных осуществляется только по фронту).
Благодаря
этому эффективная частота
Сравнительная характеристика основных типов памяти