Организация компьютерных систем. Память

Автор: Пользователь скрыл имя, 24 Февраля 2012 в 11:42, лекция

Описание работы

Одним из важнейших устройств компьютера является память, или запоминающее устройство (ЗУ).
ЗУ - "функциональная часть цифровой вычислительной машины, предназначенной для записи, хранения и выдачи информации, представленной в цифровом виде."

Работа содержит 1 файл

Лекция 3.doc

— 1.52 Мб (Скачать)

  Организация компьютерных систем. Память

  Память

  Одним из важнейших устройств компьютера является память, или запоминающее устройство (ЗУ).

  ЗУ - "функциональная часть цифровой вычислительной машины, предназначенной для записи, хранения и выдачи информации, представленной в цифровом виде."

  Под это  определение попадает как собственно память, так и внешние запоминающие устройства (накопители на жестких  и гибких дисках, магнитной ленты, DVD/CD-ROM), которые лучше отнести к устройствам ввода/вывода информации.

  Память

  "Память  определяет быстродействие"  Фон-Нейман

  "Самый  медленный верблюд  определяет скорость  каравана»                    Арабское народное

  Основной  единицей памяти является двоичный разряд, который называется битом. Бит может  содержать 0 или 1.

  Моделируется разным уровнем напряжения (высокое и низкое).

  Использование бинарной арифметики “эффективно”

  Двоично-десятичный код

  Считается, что некоторые компьютеры используют и десятичную, и двоичную арифметику. На самом деле применяется двоично-десятичный код.

  Например, для хранения одного десятичного  разряда требуется использовать 4 бита (16 комбинаций для размещения 10 значений от 0-9)

  Пример: 1944

  В двоично-десятичном представлении:

        0001  1001  0100  0100

  В двоичном представлении:

        0000011110011000

  16 битов  в двоично-десятичном представлении  могут хранить числа от 0 до 9999

  В двоичном представлении – 65536 комбинаций.

  Именно  по этой причине говорят, что двоичная система эффективнее.

  Представим, что есть надежное устройство, которое  может различать участок напряжения от 0 до 10 В, соответственно, может хранить разряды от 0 до 9.

  4 таких  устройства дали бы 9999 комбинаций, в то время как хранение  двоичных чисел дало бы всего  16 комбинаций.

  Адреса  памяти

  Память  состоит из ячеек, каждая из которых может хранить некоторую порцию информации.

  Ячейка  имеет номер, который называется адресом. Все ячейки содержат одинаковое число битов.

  Если ячейка состоит из k битов, она может содержать одну из 2k комбинаций.

  Соседние  ячейки имеют последовательные адреса.

                

  Считывание-запись

  Адрес ячейки тоже представляется двоичным числом.

  Для считывания данных из памяти необходимо организовать выводы информационные и адресные (есть также управляющие)

  Код с исправлением ошибок

  Память  компьютера время от времени может давать ошибки из-за всплесков напряжения или по другим причинам.

  Чтобы бороться с такими ошибками, используются коды с обнаружением и исправлением ошибок.

  При этом к каждому слову специальным  образом добавляются дополнительные биты.

  

  Число контрольных разрядов для кода, способного

  исправлять  одиночные ошибки 

  Иллюстрация кода с исправлением ошибок (метод Хэмминга) для 4-битных слов

  7 секторов. Закодированное слово 1100 (АВ), (АВС), (АС), (ВС).

  Добавим биты четности

  

  Алгоритм  Хэмминга для 16-битных слов

  К 16-битному  слову надо добавить 5 битов четности

  Получившееся  слово содержит 21 бит 

  1, 2, 4, 8, 16 – биты четности, остальные –  биты данных

  Каждый  бит четности проверяет определенные битовые позиции, общее число  битов со значением 1 в проверяемых  позициях должно быть четным

  • Бит 1 проверяет   1,3,5,7,…19,21
  • Бит 2 проверяет   2,3,6,7,…18,19
  • Бит 4 проверяет   4,5,6,7,12,13,14,15,20,21
  • Бит 8 проверяет   8,9,10,11,12,13,14,15
  • Бит 16 проверяет 16,17,18,19,20,21

  В общем  случае бит 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 передача данных осуществляется только по фронту).

  Благодаря этому эффективная частота увеличивается  в два раза - 100 MHz DDR-SDRAM по своей  производительности эквивалента 200 MHz SDRAM. Правда, по маркетинговым соображениям, производители DDR-микросхем стали  маркировать их не тактовой (рабочей) частой, а максимально достижимой пропускной способностью, измеряемой в мегабайтах в секунду. Т.е. DDR-1600 работает вовсе не 1.6 GHz, а всего лишь на 100 MHz. Соответственно, DDR-2100 работает на частоте 133 MHz.

  Сравнительная характеристика основных типов памяти

Информация о работе Организация компьютерных систем. Память