Если внимательно присмотреться, современного человека в повседневной жизни окружает множество различных типов устройств электронной памяти. Многие из них заняли свое место в нашем с вами словаре:
БИОС Каждый пользователь знает, что в компьютере есть память. Однако не всем известно, что большинство электронных устройств, которыми мы ежедневно пользуемся, также снабжены тем или другим видом памяти. Вот лишь несколько примеров устройств с памятью:
- Сотовые телефоны
- Карманные компьютеры
- Игровые приставки
- Автомобильные радиоприемники
- Видеомагнитофоны
- Телевизоры
В этой статье разъясняется, почему имеется большое количество различных типов памяти и в чем заключаются их особенности. Начнем с основных принципов функционирования: Какие именно функции выполняет память компьютера?
Основы функционирования памяти компьютера
Хотя с технической точки зрения памятью является любое электронное устройство хранения информации, чаще всего этот термин используют для обозначения быстродействующих оперативных запоминающих устройств. Если бы центральный процессор компьютера получал все необходимые данные напрямую с жесткого диска, он работал бы очень медленно. Когда информация хранится в оперативной памяти, центральный процессор может получить ее намного быстрее. Большинство разновидностей запоминающих устройств предназначены для временного хранения информации.
Процессор получает доступ к устройствам памяти с соблюдением определенной иерархии. Независимо от того, поступает информация с энергонезависимого запоминающего устройства (жесткий диск) или с устройства ввода (клавиатура), большая часть данных сначала попадает в оперативное запоминающее устройство (ОЗУ). Центральный процессор часто хранит нужные данные в кэше, а определенные специальные инструкции – в регистре. О кэше и регистрах поговорим позже.
Все компоненты компьютера, в том числе центральный процессор, жесткий диск и операционная система, работают как одно целое, а оперативная память является одной из самых важных составляющих. С момента включения компьютера и до полного его выключения центральный процессор постоянно использует оперативную память.
Как работает память персонального компьютера. Типичный сценарий
Рассмотрим типичный сценарий:
- Включается компьютер.
- При этом загружаются данные с постоянного запоминающего устройства (ПЗУ, ROM) и выполняется самотестирование при включении питания для проверки правильности функционирования главных компонентов. Частью этого тестирования является проверка контроллером памяти всех адресов оперативной памяти с помощью операции быстрой записи / считывания, чтобы убедиться в отсутствии неисправностей чипов памяти. Под операцией записи / считывания имеется в виду процесс записи бита в ячейку памяти и последующего считывания оттуда информации.
- Компьютер загружает из постоянного запоминающего устройства базовую систему ввода / вывода (BIOS). В BIOS содержится главная информация об устройствах хранения данных, последовательности начальной загрузки, настройках безопасности, системе "Plug and Play" (автоматическое распознавание устройств), и некоторые другие сведения.
- Компьютер загружает операционную систему (ОС) с жесткого диска в оперативную память системы. Обычно критически важные части операционной системы остаются в оперативной памяти все время, пока компьютер находится во включенном состоянии. Такой подход обеспечивает центральному процессору немедленный доступ к операционной системе, что повышает производительность и улучшает функциональные возможности системы в целом.
- Когда пользователь запускает приложение, оно также загружается в оперативную память. Для поддержания нормального функционирования оперативной памяти многие приложения загружают в нее сначала только наиболее важные части программы, а затем при необходимости добавляют иные требующиеся элементы.
- После того, как было загружено приложение, каждый открываемый для использования в этом приложении файл также загружается в оперативную память.
- Когда производится сохранение файла и завершается работа приложения, этот файл записывается в указанном устройстве хранения данных, после чего он и соответствующее приложение удаляются из оперативной памяти.
По такому же принципу каждый раз, когда запускаются те или иные программы либо открываются те или иные файлы, они помещаются в оперативную память. Иначе говоря, они помещаются в рабочую память компьютера для облегчения доступа центрального процессора к содержащейся в них информации. Центральный процессор вызывает нужные данные из оперативной памяти, обрабатывает их и записывает новые данные обратно в оперативную память в непрерывном цикле. В большинстве компьютеров такой обмен данными между оперативной памятью и центральным процессором производится миллионы раз в секунду. Когда приложение закрывается, оно вместе с сопутствующими файлами, как правило, удаляется из оперативной памяти, освобождая место для новых данных. Если перед удалением файлов их не сохранить в долговременном запоминающем устройстве, они будут утеряны.
Часто неопытные пользователи задают один и тот же вопрос: "Почему в компьютере нужно использовать так много систем памяти?"
Как работает память персонального компьютера. Типы памяти компьютера
Типы памяти компьютера
В типичном компьютере имеется:
Типы памяти компьютера
В типичном компьютере имеется:
Жесткий диск
Почему их так много? Прочитав ответ на этот вопрос, можно многое узнать о памяти компьютера! Во-первых, мощным центральным процессорам для достижения максимальной производительности нужно обеспечить быстрый и легкий доступ к большим объемам данных. Если процессор не может получить нужные ему данные, он в буквальном смысле слова прекращает работу и ждет их поступления. Современные процессоры, работающие на частоте около 1 ГГц, могут обрабатывать большие объемы данных – теоретически миллиарды байт в секунду. Проблема, с которой столкнулись конструкторы компьютеров, заключается в том, что стоимость памяти, способной удовлетворить потребности 1 ГГц центрального процессора, очень высока, намного больше, чем сумма, которую согласились бы заплатить за большой объем такой памяти покупатели.
Конструкторы решили проблему высокой стоимости путем создания "многоярусной" памяти – использования дорогой памяти небольшого объема и резервирования ее более дешевой памятью большого объема.
Самой дешевой широко распространенной памятью с оперативной записью и считыванием является жесткий диск. Жесткие диски располагают большими объемами недорогой энергонезависимой памяти. Память на них стоит пенсы за мегабайт, однако считывание записанной таким образом информации занимает много времени (до секунды на один мегабайт). Поскольку место на жестком диске такое дешевое и его достаточно много, этот способ хранения информации создает последний уровень иерархии памяти центрального процессора, именуемый виртуальной памятью.
Предпоследний уровень иерархии образует оперативная память. Функционирование оперативной памяти подробно рассмотрено в статье о том, как работает оперативная память, однако некоторые особенности необходимо указать в этом материале.
Разрядность центрального процессора указывает на то, сколько байт информации он может одновременно получить из оперативной памяти. Например, 16-битный центральный процессор может одновременно обрабатывать 2 байта (1 байт = 8 бит, следовательно, 16 бит = 2 байта), а 64-битный процессор может одновременно обрабатывать 8 байтов.
Мегагерц – мера скорости работы центрального процессора, или тактовой частоты, измеряется миллионами в секунду. Таким образом, 32-бит 800-МГц процессор Pentium III может обрабатывать одновременно 4 байта информации и производить операции 800 миллионов раз в секунду (при конвейеризации может и больше!). Задача системы памяти состоит в том, чтобы она удовлетворяла этим требованиям.
Сама оперативная память компьютера не обладает достаточным быстродействием, чтобы работать с той же тактовой частотой, что и центральный процессор. Поэтому необходимо применять кэш (о нем расскажем позже). Тем не менее, чем быстрее работает оперативная память, тем лучше. В наше время продолжительность цикла большинства чипов составляет от 50 до 70 наносекунд. Скорость считывания / записи, как правило, зависит от типа используемой оперативной памяти, например, динамического ОЗУ (DRAM), синхронной динамической памяти (SDRAM), либо памяти RDRAM. Эти различные виды оперативной памяти рассмотрим позже. Кэш первого и второго уровня
Жесткий диск
Почему их так много? Прочитав ответ на этот вопрос, можно многое узнать о памяти компьютера! Во-первых, мощным центральным процессорам для достижения максимальной производительности нужно обеспечить быстрый и легкий доступ к большим объемам данных. Если процессор не может получить нужные ему данные, он в буквальном смысле слова прекращает работу и ждет их поступления. Современные процессоры, работающие на частоте около 1 ГГц, могут обрабатывать большие объемы данных – теоретически миллиарды байт в секунду. Проблема, с которой столкнулись конструкторы компьютеров, заключается в том, что стоимость памяти, способной удовлетворить потребности 1 ГГц центрального процессора, очень высока, намного больше, чем сумма, которую согласились бы заплатить за большой объем такой памяти покупатели.
Конструкторы решили проблему высокой стоимости путем создания "многоярусной" памяти – использования дорогой памяти небольшого объема и резервирования ее более дешевой памятью большого объема.
Самой дешевой широко распространенной памятью с оперативной записью и считыванием является жесткий диск. Жесткие диски располагают большими объемами недорогой энергонезависимой памяти. Память на них стоит пенсы за мегабайт, однако считывание записанной таким образом информации занимает много времени (до секунды на один мегабайт). Поскольку место на жестком диске такое дешевое и его достаточно много, этот способ хранения информации создает последний уровень иерархии памяти центрального процессора, именуемый виртуальной памятью.
Предпоследний уровень иерархии образует оперативная память. Функционирование оперативной памяти подробно рассмотрено в статье о том, как работает оперативная память, однако некоторые особенности необходимо указать в этом материале.
Разрядность центрального процессора указывает на то, сколько байт информации он может одновременно получить из оперативной памяти. Например, 16-битный центральный процессор может одновременно обрабатывать 2 байта (1 байт = 8 бит, следовательно, 16 бит = 2 байта), а 64-битный процессор может одновременно обрабатывать 8 байтов.
Мегагерц – мера скорости работы центрального процессора, или тактовой частоты, измеряется миллионами в секунду. Таким образом, 32-бит 800-МГц процессор Pentium III может обрабатывать одновременно 4 байта информации и производить операции 800 миллионов раз в секунду (при конвейеризации может и больше!). Задача системы памяти состоит в том, чтобы она удовлетворяла этим требованиям.
Сама оперативная память компьютера не обладает достаточным быстродействием, чтобы работать с той же тактовой частотой, что и центральный процессор. Поэтому необходимо применять кэш (о нем расскажем позже). Тем не менее, чем быстрее работает оперативная память, тем лучше. В наше время продолжительность цикла большинства чипов составляет от 50 до 70 наносекунд. Скорость считывания / записи, как правило, зависит от типа используемой оперативной памяти, например, динамического ОЗУ (DRAM), синхронной динамической памяти (SDRAM), либо памяти RDRAM. Эти различные виды оперативной памяти рассмотрим позже.
Как работает память персонального компьютера. Оперативная память
Оперативная память
Быстродействие оперативной памяти определяется разрядностью шины и ее быстродействием. Разрядность – количество бит, которые могут отправляться на центральный процессор одновременно, а быстродействие – количество групп битов, которые можно отправлять каждую секунду. Каждый раз, когда данные передаются от памяти к центральному процессору, выполняется цикл шины. Например, 100 МГц 32-битная шина теоретически способна пропускать к центральному процессору по 4 байта (32 бита разделить на 8 = 4 байта) 100 миллионов раз в секунду, а 66 МГц 16-битная шина может пропускать по 2 байта данных 66 миллионов раз в секунду. Несложные математические подсчеты показывают, что если в нашем примере заменить 16-битную шину 32-битной и увеличить быстродействие с 66 МГц до 100 МГц, к центральному процессору удастся пропускать ежесекундно втрое больше данных (400 миллионов байтов по сравнению со 132 миллионами байтов).
В действительности оперативная память, как правило, не работает с оптимальной скоростью. Радикально меняет положение дел задержка. Задержка – это количество периодов тактовой частоты, которые нужны для считывания одного бита информации. Например, оперативная память, работающая с тактовой частотой 100 МГц, может отправить бит информации за 0,00000001 секунды, но для запуска процесса считывания первого бита может потребоваться 0,00000005 секунды. Для компенсации задержки центральными процессорами используется специальный прием, называемый пакетно-монопольным (групповым) режимом обмена данными.
При работе в групповом режиме предполагается, что запрашиваемые центральным процессором данные хранятся в располагающихся по порядку адресов ячейках памяти. Контроллер памяти действует исходя из предположения, что все данные, с которыми будет работать центральный процессор, будут и далее поступать из этой же серии адресов памяти, поэтому сразу считывает по нескольку последовательных битов данных. В результате только первый бит считывается с максимальной задержкой; следующие за ним биты считываются гораздо быстрее. Номинальный групповой режим памяти обычно представляют в виде четырех чисел, разделенных черточками. Первое число указывает на количество периодов тактовой частоты, требующихся для инициирования процесса считывания; второе, третье и четвертое числа указывают на то, сколько периодов тактовой частоты, или тактов, требуется для считывания каждого следующего бита из строки, часто называемой также шиной слов. Например: выражение 5-1-1-1 значит, что для считывания первого бита нужно 5 тактов, а для считывания каждого последующего бита – по одному такту. Очевидно, что чем меньше эти числа, тем лучше производительность памяти.
Групповой режим часто используется в сочетании с конвейерным режимом, еще одним средством уменьшения задержки. В конвейерном режиме извлечение данных из памяти организуется в виде конвейерного процесса. Контроллер памяти одновременно считывает из памяти одно или более слов, отправляет текущее слово или слова на центральный процессор и записывает одно или более слов в ячейки памяти. Сочетание группового и конвейерного режима позволяет существенно уменьшить время запаздывания данных из-за задержек.
Почему же нельзя купить самую быструю и самую большую память, которую только можно достать? Тактовая частота и разрядность шины памяти должны соответствовать параметрам системной шины. Можно использовать оперативную память, рассчитанную на работу с тактовой частотой 100 МГц, в системе с тактовой частотой 66 МГц, однако она будет работать с тактовой частотой шины 66 МГц и от ее повышенного быстродействия не будет никакого толку, а 32-битную память невозможно согласовать с 16-битной шиной.
Если даже использовать шину с большой разрядностью и высоким быстродействием, все равно на извлечение данных из карты памяти и доставку их к центральному процессору уходит больше времени, чем на обработку этих данных процессором. Для устранения имеющегося противоречия используется кэш.
Как работает память персонального компьютера. Кэш и регистры
Кэш и регистры
Кэш устраняет это узкое место, сохраняя наиболее часто используемые процессором данные и при необходимости предоставляя их процессору с очень малой задержкой. Для достижения большого быстродействия память небольшого объема, именуемая первичным кэшем или кэшем первого уровня, встраивается непосредственно в центральный процессор. Кэш первого уровня очень мал, обычно его объем составляет от 2 до 64 килобайт.
Кэш второго уровня, как правило, располагают на плате памяти возле центрального процессора. Кэш второго уровня подключается непосредственно к процессору. Специальная интегральная схема, располагающаяся на материнской плате, контроллер кэша второго уровня, управляет использованием процессором кэша второго уровня. В зависимости от особенностей работы центрального процессора, кэш второго уровня может иметь объем от 256 килобайт до 2 мегабайт. В большинстве систем нужные центральному процессору данные извлекаются из кэша в течение приблизительно 95 процентов рабочего времени, что существенно сокращает время простоя процессора, связанного с ожиданием поступления данных из оперативной памяти.
В некоторых недорогих системах кэш второго уровня не используется. Во многих высокопроизводительных центральных процессорах кэш второго уровня размещается на процессорном чипе. Размер кэша второго уровня и место его размещения (на кристалле процессора или на материнской плате) являются важнейшими факторами, определяющими производительность процессора. Подробности, касающиеся кэширования, можно почерпнуть из статьи о том, как работает кэширование.
Чаще всего в качестве кэш-памяти используют определенный тип ОЗУ, а именно статическое ОЗУ (static random access memory, SRAM). В статическом ОЗУ каждая ячейка памяти состоит из нескольких транзисторов, обычно от четырех до шести, образующих запоминающий элемент, называемый бистабильным мультивибратором, причем этот мультивибратор способен переключаться между двумя устойчивыми состояниями. Это значит, что данные в ОЗУ не нужно постоянно обновлять, как в динамическом ОЗУ (DRAM). Каждая ячейка памяти может хранить имеющиеся в ней данные сколь угодно долго, нужно лишь, чтобы на нее все это время подавалось электропитание. Поскольку нет необходимости в постоянном обновлении, статическое ОЗУ может работать очень быстро. Однако из-за сложности схемы каждой ячейки использовать такую память в качестве стандартной оперативной памяти было бы недопустимо дорого.
Статическое ОЗУ кэша может быть асинхронным и синхронным. Синхронное статическое ОЗУ точно синхронизируется с тактовой частотой центрального процессора, тогда как асинхронное такими возможностями не располагает. Маленький бит синхронизации влияет на производительность. Согласование с тактовой частотой процессора – хорошая вещь, поэтому всегда следует отдавать предпочтение синхронному статическому ОЗУ. (Подробно об устройстве и принципах работы различных типов ОЗУ можно узнать из статьи о том, как работает ОЗУ).
Заключительной ступенью памяти являются регистры. Эти ячейки памяти встраиваются прямо в центральный процессор и предназначаются для хранения определенных данных, в которых нуждается процессор, в частности данных для арифметико-логического устройства (ALU, АЛУ). Являясь составной частью центрального процессора, они управляются непосредственно компилятором, отправляющим информацию на процессор для обработки. Больше о работе регистров можно узнать из статьи о том, как работают микропроцессоры.
pcwork.ru