Изобразите связь между памятью внешней памятью и устройствами ввода и вывода в виде схемы
Процессор – основной рабочий элемент КС. Выполняет операции над данными, хранящимися в памяти; подает команды на ввод-вывод информации с устройств ввода-вывода и др.
В состав процессора входят:
а) устройство управления;
б) арифметико-логическое устройство;
Устройство управления управляет вычислительным процессом, посылая устройствам (например, АЛУ) сигналы, предписывающие определенные действия.
Арифметико-логическое устройство производит арифметические и логические операции над поступившими данными.
Регистры осуществляют временное хранение данных и состояний процессора.
Внутренняя память предназначена для хранения данных, непосредственно не используемых в вычислительном процессе.
Состоит из следующих основных частей:
а) оперативная память;
в) буферная память;
г) постоянная память.
Оперативная память (оперативное запоминающее устройство) – предназначена для хранения данных, непосредственно участвующих в вычислительном процессе. По сравнению с внешней памятью, отличается небольшой емкостью и большим быстродействием. Реализуется в виде микросхем.
Кэш-память (сверхоперативная память) – используется в качестве буфера между более медленной оперативной памятью и более быстрым процессором для согласования их по скорости. Реализуется в виде микросхем.
Буферная память (буферное запоминающее устройство) – предназначена для промежуточного хранения информации при обмене ею между устройствами КС, работающими с разными скоростями, для согласования их по скорости. Может реализовываться как часть устройства.
Постоянная память (постоянное запоминающее устройство) – ее содержимое устанавливают на заводе-изготовителе и в дальнейшем оно не меняется. Реализуется в виде микросхем. В постоянную память записываются программы, которые имеет смысл раз и навсегда встроить в нее. По назначению эти программы делятся на: программы запуска машины; базовую систему ввода-вывода, интерпретатор языка Бейсик; программы для работы с внешними (периферийными) устройствами.
В настоящее время вместо постоянного запоминающего устройства используется программируемое постоянное запоминающее устройство, содержимое которого может меняться. Его разновидностью является стираемое постоянное запоминающее устройство, которое допускает многократное перепрограммирование.
Устройства ввода обеспечивают считывание данных и программ и перенос их в память (например, клавиатура, мышь, устройство для чтения компакт-дисков и др.).
Устройства вывода представляет результаты обработки информации в форме, удобной для человеческого восприятия (например, принтер, монитор), а также обеспечивает запоминание результатов в памяти.
Внешняя память (внешнее запоминающее устройство) предназначена для хранения больших массивов данных, непосредственно не используемых в вычислительном процессе. При необходимости использования информации, хранящейся во внешней памяти, она предварительно перемещается в оперативную. Реализуется чаще всего на магнитных дисках.
Внешняя память — часть памяти компьютера, которая используется для долговременного хранения программ и данных.
Этот вид памяти позволяет повторно использовать программы и данные. Благодаря этому текст достаточно набрать один раз, а цифровые фотографии можно рассматривать в течение многих лет.
Устройства внешней памяти часто называют накопителями. К ним относятся, например, накопители на магнитных и оптических дисках, а также современные внешние запоминающие устройства на основе полупроводниковой флэш-памяти.
Внешняя память любого типа состоит из некоторого носителя информации (например, диска или полупроводникового кристалла) и электронной схемы управления (контроллера).
Компьютерный носитель информации — это средство длительного хранения данных в компьютерном формате. Носитель может быть съёмным (как в накопителях на оптических дисках), а может быть помещён внутрь неразборного устройства (жёсткий магнитный диск — «винчестер»).
Магнитные и оптические диски для обеспечения доступа к любому блоку данных быстро вращаются, а читающая головка перемещается вдоль радиуса диска. В более современных видах внешней памяти, где носителем информации является полупроводниковый кристалл, никаких движущихся частей нет, а для чтения и записи данных используются только электрические импульсы (аналогично ОЗУ).
В переносных устройствах внешней памяти, например во внешних жёстких дисках и флэш-накопителях, носитель и схема управления объединены в единый блок. Такие устройства подключаются к компьютеру снаружи через разъём.
Центральный процессор не может непосредственно обращаться к данным на носителе, он работает с ними через контроллер внешней памяти. На рисунке 5.16 схематично показано, как читаются данные с внешнего носителя информации и записываются в ОЗУ 1 .
1 В действительности процесс обмена более сложен, в нём участвует ещё и контроллер ПДП.
Рис. 5.16
Для связи с контроллером процессор использует порты — регистры контроллера, к которым процессор может обратиться по номеру. Процессор передаёт контроллеру «задание» на передачу данных, и контроллер берёт руководство процессом на себя. В это время центральный процессор может параллельно выполнять программу дальше или решать другую задачу. Таким образом, выполнить чтение (и запись) данных из внешней памяти гораздо сложнее, чем из внутренней памяти.
Для внешней памяти характерны следующие черты:
• обменом данными управляют контроллеры;
• прежде чем процессор сможет непосредственно использовать программу или данные, хранящиеся во внешней памяти, их нужно предварительно загрузить в ОЗУ;
• данные располагаются блоками (на дисках их принято называть секторами); блок данных читается и пишется как единое целое, что существенно ускоряет процедуру обмена; работать с частью блока невозможно.
В качестве внешней памяти используются самые разные носители. Первоначально программы и данные сохранялись на бумажных перфокартах (рис. 5.17) и перфолентах. Подписанные обычной ручкой или карандашом, они сортировались программистами вручную. Затем произошёл переход к магнитным носителям: магнитным лентам, барабанам и дискам.
Рис. 5.17. Перфокарта
На магнитных дисках биты данных хранятся в виде небольших намагниченных (или ненамагниченных) областей. Секторы размещаются на концентрических окружностях (имеющих общий центр), которые называются дорожками. Поскольку длина дорожки зависит от положения на диске, количество секторов на дорожках может быть разным. Доступ к секторам диска — произвольный, максимальная скорость достигается тогда, когда читаемые или записываемые секторы располагаются подряд.
Управление такой сложной системой очень трудоёмко — поэтому, как нам уже известно из истории вычислительной техники, появление магнитных дисков вызвало создание специального ПО для работы с ними — операционных систем (ОС). ОС берёт на себя все технические детали, предоставляя пользователю работу с некоторыми наборами данных — файлами. Таким образом, начиная с дисковых накопителей, наличие файловой системы — это характерная черта внешней памяти, которая существенно отличает её от внутренней.
Следующей технологией хранения данных стали оптические компакт-диски, CD (англ. Compact Disk). При записи данных (одним из способов) луч лазера «выжигает» на поверхности диска дорожку, в которой чередуются впадины и возвышения. При считывании также применяется луч лазера, только меньшей интенсивности, чтобы не разрушить данные. Для распознавания нулей и единиц используется различное отражение от перепадов глубины и ровной поверхности диска. В отличие от магнитных дисков, где информация хранится на отдельных замкнутых дорожках, данные на оптическом диске записываются вдоль непрерывной спирали, как на старых грампластинках .
Сейчас широко используются оптические диски следующих поколений: DVD (англ. Digital Versatile Disk — цифровой многоцелевой диск, ёмкость до 17 Гбайт) и Blu-ray-диски (ёмкостью до 500 Гбайт). Они имеют тот же диаметр, что и CD-диски, но для повышения плотности записи используют лазер с меньшей длиной волны. Были разработаны также комбинированные магнитооптические диски. Носителем информации в них служит магнитное вещество. При нагреве лазером оно плавится, частицы среды ориентируются в магнитном поле, и меняются оптические
свойства поверхности диска. После восстановления нормальной температуры такие диски необычайно устойчивы к внешним воздействиям. Тем не менее они не получили распространения из-за высокой стоимости и малой скорости записи.
Отметим, что на всех видах дисков есть разметка на секторы, благодаря которой контроллер может быстро находить нужную информацию. Сами данные помещаются между «заголовком» сектора и его завершающей записью.
Наконец, последнее достижение в области устройств внешней памяти — запоминающие устройства на базе флэш-памяти. В них нет движущихся частей, а носителем информации служит полупроводниковый кристалл. Данные во флэш-памяти обновляются только блоками, но для устройств внешней памяти это вполне естественно. Максимальное количество перезаписей данных для каждого блока хотя и велико, но всё же ограничено. Поэтому встроенный контроллер при записи использует специальный алгоритм для выбора свободных блоков, стараясь загружать секторы диска как можно более равномерно.
Кроме широко распространённых флэш-дисков (сленговое название — «флэшки») этот вид памяти используется в картах памяти (рис. 5.18) для фотоаппаратов, плееров и мобильных телефонов, а также в твёрдотельных винчестерах SSD (англ. Solid, State Disk).
Напомним, что ПЗУ также может изготовляться на базе флэш-памяти.
Рис. 5.18. Флэш-карта
Следующая страница Взаимодействие разных видов памяти
Cкачать материалы урока
Итак, мы познакомились с разными видами внутренней и внешней памяти. Осталось разобраться, как они взаимодействуют между собой.
Иерархия памяти. Кэширование. Как следует из обсуждения в § 32, невозможно создать память, которая имела бы одновременно большой объём и высокое быстродействие. Поэтому используют многоуровневую (иерархическую) систему из нескольких типов памяти. Как правило, чем больший объём имеет память, тем медленнее она работает.
Самая быстрая (и очень небольшая) память — это регистры процессора. Гораздо больше по объёму, но заметно медленнее внутренняя память (ОЗУ и ПЗУ). Далее следует огромная, но ещё более медленная внешняя память. Наконец, последний уровень — это данные, которые можно получить из компьютерных сетей (рис. 5.19).
Рис. 5.19
Для редактирования файла, расположенного на диске (внешняя память), программа обработки загружает его в ОЗУ (внутренняя память), а конкретные символы, с которыми в данные доли секунды работает процессор, «поднимаются» по иерархии выше — в регистры процессора.
Производительность компьютера в первую очередь зависит от «верхних» уровней памяти — процессорной памяти и ОЗУ. Быстродействие процессоров значительно выше, чем скорость работы ОЗУ, поэтому процессору приходится ждать, пока до него дойдут данные из оперативной памяти. Чтобы улучшить ситуацию, между процессором и ОЗУ добавляют ещё один слой памяти, который называют кэш-памятью, или кэшем (от англ, cache — тайник, прятать).
Кэш-память — это память, ускоряющая работу другого (более медленного) типа памяти, за счёт сохранения прочитанных данных на случай повторного обращения к ним.
Кэш-память — это статическая память, которая работает значительно быстрее динамического ОЗУ. В ней нет собственных адресов, она работает не по фон-неймановскому принципу адресности.
При чтении из ОЗУ процессор обращается к контроллеру кэш-памяти, который хранит список всех ячеек ОЗУ, копии которых находятся в кэше. Если требуемый адрес уже есть в этом списке, то запрашивать ОЗУ не нужно и контроллер передаёт процессору значение, связанное (ассоциированное) с этим адресом (рис. 5.20) 1 . Такой принцип организации памяти называется ассоциативным.
1 Это напоминает поиск в Интернете содержимого документа по его названию.
Если нужных данных нет в кэш-памяти, они читаются из ОЗУ, но одновременно попадают и в кэш — при следующем обращении их уже не нужно читать из ОЗУ.
Рис. 5.20
Обычно в кэш-память заносится содержимое не только запрошенной ячейки, но и ближайших к ней (эта стрелка на рис. 5.20 показана более толстой). Таким образом, в кэше хранятся копии часто используемых ячеек ОЗУ, и передача этих данных в процессор происходит быстрее.
В работе кэш-памяти есть две основные трудности. Во-первых, объём кэша намного меньше объёма ОЗУ, и он быстро заполняется — приходится заменять наиболее «ненужные» (например, редко используемые) данные. Во-вторых, если считанные из кэш-памяти данные обрабатываются процессором и сохраняются в ОЗУ, нужно обновлять и содержимое кэша. Обе эти задачи решает контроллер кэш-памяти. Несмотря на трудности, кэширование во многих случаях повышает скорость выполнения программы в несколько раз.
Сама кэш-память также строится по многоуровневой схеме: в современных процессорах есть, по крайней мере, 2-3 уровня. Некоторые из них входят в состав процессора, а остальные выполнены в виде отдельных микросхем (поэтому на схеме многоуровневой памяти на рис. 5.19 кэш только частично расположен внутри процессора). Кэш для программ и для данных изготовляется раздельно. Это удобно потому, что считываемую программу, в отличие от данных, не принято изменять, поэтому кэш команд можно делать проще.
Подчеркнём, что термин «кэширование» в вычислительной технике имеет довольно широкий смысл: речь идёт о сохранении информации в более быстродействующей памяти с целью повторного использования. Например, браузер кэширует файлы, полученные из Интернета, сохраняя их на жёстком диске в специальной папке. В накопителе на жёстком диске также используется кэширование. Таким образом, кэш может быть организован как с помощью аппаратных средств (кэш процессора), так и программно (кэш браузера).
Виртуальная память. Пользователям хочется, чтобы программное обеспечение было интеллектуальным и дружественным и чтобы в нём были предусмотрены все самые мелкие детали, которые им могут потребоваться. Программистам хочется написать программу с наименьшими затратами сил и времени, поэтому они широко используют среды быстрой разработки программ (англ. RAD — Rapid. Application Development). В результате программы всё больше увеличиваются в размере. Кроме того, объём обрабатываемых данных постоянно растёт. Поэтому компьютерам требуется все больше и больше памяти, особенно в многозадачном режиме, когда одновременно запускаются сразу несколько программ.
Как же согласовать эти требования с ограниченным объёмом ОЗУ? Современные операционные системы используют для этого идею виртуальной памяти. Предполагается, что компьютер обладает максимально допустимым объёмом памяти, с которым может работать процессор, а реально установленное ОЗУ — лишь некоторая часть этого пространства. Оставшаяся часть размещается в специальном системном файле или отдельном разделе жёсткого диска. Если ёмкости ОЗУ не хватает для очередной задачи, система копирует «наименее нужную» (дольше всего не использовавшуюся) часть ОЗУ на диск, освобождая необходимый объём памяти. Когда, наоборот, потребуются данные с диска, они будут возвращены в освобожденное таким же образом место ОЗУ (и это совсем не обязательно будет то самое первоначальное место!).
При использовании виртуальной памяти выполнение программ замедляется, но зато они могут выполняться на компьютере с недостаточным объёмом ОЗУ. В этом случае установка дополнительного ОЗУ может повысить быстродействие во много раз.
Использование виртуальной памяти ещё раз подтверждает, что деление памяти на внутреннюю и внешнюю память — это искусственная мера. Она вызвана тем, что невозможно создать идеальную память, удовлетворяющую всем требованиям сразу.
Следующая страница Основные характеристики памяти
Cкачать материалы урока
Процессор должен обмениваться данными с внутренней памятью и устройствами ввода и вывода. Выделить отдельные каналы для связи процессора с каждым из многочисленных устройств нереально. Вместо этого сделана общая линия связи, доступ к которой имеют все устройства, использующие её по очереди. Такой информационный канал называется шиной.
Шина (или магистраль) — это группа линий связи для обмена данными между несколькими устройствами компьютера.
Традиционно шина делится на три части (рис. 5.10) — это:
• шина данных, по которой передаются данные;
• шина адреса, определяющая, куда именно передаётся информация;
• шина управления, которая организует процесс обмена (несёт сигналы чтение/запись, обращение к внутренней/ внешней памяти, данные готовы/не готовы и т. п.).
Рис. 5.10
Рассмотрим процесс записи данных из процессора в память. На шину данных процессор выставляет данные для записи, на шину адреса — нужный адрес памяти, а на шину управления — сигналы для записи информации в память. Далее он вынужден ожидать, пока данные будут «взяты» с шины. В это время все остальные устройства постоянно «слушают» шину (проверяют её состояние). В нашем примере по сигналам на шине память обнаруживает, что для неё имеются данные. Она сохраняет их по заданному адресу и должна по шине управления сообщить процессору, что операция завершена. На практике, учитывая высокую надёжность работы памяти, сигнал подтверждения часто не используется: процессор просто выжидает определённое время и продолжает выполнение программы. Из этого примера понятно, что для успешного обмена данными по шине должны быть введены чёткие правила (их принято называть протоколом шины), которые должны соблюдать все устройства.
По сравнению с первыми ЭВМ, взаимодействие процессора с внешними устройствами организуется теперь по-другому. В классической архитектуре процессор контролировал все процессы ввода/вывода. Получалось так, что быстродействующий процессор тратил много времени на ожидание при работе с значительно более медленными внешними устройствами. Поэтому появились специальные электронные схемы, которые руководят обменом данными между процессором и внешними устройствами. В третьем поколении такие устройства назывались каналами ввода/ вывода, а в четвёртом — контроллерами 1 (на рис. 5.10 они обозначены буквой К).
Контроллер — это электронная схема для управления внешним устройством и простейшей предварительной обработки данных.
1 Это название происходит от английского слова control — управление; не следует путать с русским словом «контролёр».
Современный контроллер — это специальный микропроцессор, предназначенный для обслуживания одного или нескольких однотипных устройства ввода/вывода (УВВ) или внешней памяти. Нагрузка на центральный процессор при этом существенно снижается, и это увеличивает эффективность работы всей системы в целом. Контроллер, собранный в виде отдельной микросхемы, называют микроконтроллером.
В качестве примера рассмотрим контроллер современного жёсткого диска. Его основная задача — по принятым от процессора координатам найти на диске требуемые данные, прочитать их и передать в ОЗУ. Но контроллер способен выполнять и другие, порой весьма нетривиальные функции. Так, он сохраняет в служебной области диска информацию обо всех имеющихся на магнитной поверхности некачественно изготовленных секторах (а их при современной высокой плотности записи избежать не удаётся!) и способен «на ходу» подменять их резервными, что создаёт видимость диска, который полностью свободен от дефектов.
Как видно из приведённой на рис. 5.10 схемы, теперь данные могут передаваться между внешними устройствами и ОЗУ напрямую, минуя процессор. Кроме того, наличие шины существенно упрощает подсоединение к ней новых устройств. Архитектуру, которую можно легко расширять за счёт подключения к шине новых устройств, часто называют магистрально-модульной архитектурой.
Если спецификация на шину (детальное описание всех её логических и физических параметров) является открытой (опубликована), то производители могут разрабатывать к такой шине любые дополнительные устройства. Такой подход называют принципом открытой архитектуры. При этом в компьютере предусмотрены стандартные разъёмы для подключения новых устройств, удовлетворяющих стандарту. Поэтому пользователь может собрать такой компьютер, который ему нужен. Необходимо только помнить, что при подключении любого нового устройства нужно установить специальную программу — драйвер, которая управляет обменом данными между этим устройством и процессором.
В современных компьютерах для повышения эффективности работы используется несколько шин, например одна — между процессором и памятью, другая связывает процессор с видеосистемой и т. д.
Следующая страница Обмен данными с внешними устройствами
Cкачать материалы урока
Синхронная передача данных характерна для периферийных устройств, для которых известны временные соотношения. При этом типе передачи устройство ввода-вывода должно быть готово к приему или передаче данных за время, равное времени выполнения определенной команды процессора. Синхронная передача реализуется при минимальных затратах технических и программных средств.
Асинхронная передача данных, иногда называемая обменом посредством “рукопожатия”, широко используется. При такой передаче данных микропроцессор перед выполнением операции ввода-вывода проверяет состояние периферийного устройства. Обычно при обмене необходимо:
· Проверить состояние внешнего устройства;
· Активизировать устройство, если последнее готово к обмену;
· Передать данные (ввести или вывести);
Асинхронная передача является идеальной в смысле согласования временных различий между периферией и микропроцессором. Недостаток ее в том, что микропроцессор вынужден ожидать, пока периферийное устройство не будет готово к обмену. Методом, позволяющим устранить этот недостаток, является передача данных с прерыванием программы.
Передача данных с прерыванием программы – это такой тип обмена данными , при котором для выполнения операций ввода-вывода производится прерывание программы микропроцессора. Такой тип обмена особенно удобен при работе с периферийными устройствами с низким быстродействием, а также в случаях, когда момент передачи данных в микропроцессоре непредсказуем, например при работе с каналами связи. Основная черта такой передачи в том, что обмен инициируется самими внешними устройствами. Для реализации данного обмена в микропроцессоре предусматриваются специальные схемы, которые в конце выполнения каждой машинной операции проверяют наличие сигнала прерывания. Если сигнал прерывания обнаружен, то выполняется следующая последовательность действий:
· После выполнения текущей команды микропроцессор выдает сигнал подтверждения прерывания;
· Микропроцессор запоминает содержимое счетчика команд (обычно в стеке) для того, чтобы после выполнения подпрограммы обслуживания прерывания вернуться к выполнению прерванной программы;
· Запоминается содержимое внутренних регистров и выполняется передача данных под управлением специальной программы (подпрограмма обслуживания прерывания);
· Осуществляется возврат к продолжению выполнения основной программы.
Начало подпрограммы обслуживания прерывания обычно имеет фиксированный адрес в памяти, который называется вектором. В системе могут быть реализованы больше, чем одно прерывание. В этом случае каждое прерывание имеет свой вектор и свою подпрограмму обслуживания. Каждое прерывание в системе может быть программно запрещено или разрешено, это действие называется маскированием и демаскированием соответственно. Если система прерываний одноуровневая, то ни одно из прерываний не может быть обслужено, пока не закончено обслуживание какого-то другого. В многоуровневой системе прерываний каждое прерывание имеет свой приоритет (значимость). Если в какой-то момент времени выполяется прерывание с более низким приоритетом, чем пришедшее, то обслуживание этого прерывание откладывается, а начинается выполнение вновь поступившего прерывания.
Рассмотренные методы предназначены для обмена данными между микропроцессором и внешними устройствами. Для обмена данными между внешними устройствами и памятью нет необходимости пересылать данные через микропроцессор, так как это займет ресурсы микропроцессора и время. Можно ввести в систему контроллер прямого доступа в память, который выполняет указанные функции обмена. Проблема использования контроллера прямого доступа в память заключается в том, то внешнее устройство должно обмениваться данными с памятью, используя уже имеющиеся информационные шины (шина адреса, данных, управления). Задача разделения единого информационного канала между микропроцессором и каналом прямого доступа в память решается путем использования свойств трехуровневого состояния информационных магтстралей. На рисунке показано подключение микропроцессора, памяти и внешнего устройства к шинам при обычном режиме.
В этом режиме состояние информационных магистралей может иметь два уровня: нулевое и единичное. В режиме прямого доступа в память внешнее устройство берет на себя функции по управлению обменом информацией с памятью, а выводы микропроцессора, подключенные к шинам должны быть переведены в третье состояние. Третье состояние – это состояние высокого сопротивления (высокоимпедансное состояние), что означает отключение от шины. Для реализации этого внешнее устройство посылает сигнал захват шин на специальный вывод микропроцессора, в ответ на этот сигнал микропроцессор посылает сигнал подтвержление захвата и переводит свои выводы в третье состояние. Режим захвата шин для микропроцессора продолжается до тех пор пока внешнее устройство работает с памятью и пока им не будет снят сигнал захвата шин. В этом режиме состояние микропроцессора “замораживается” без каких-либо изменений. Режим иллюстрируется рисунком.
В таком варианте контроллер прямого доступа в память не используется, так как функции управления шинами выполняет частично сам микропроцессор, частично внешнее устройство. Контроллер используется тогда, когда простои микропроцессора в режиме захвата шин недопустимы. Тогда контроллер берет на себя функции анализа свободности шин и выполнения операций обмена тогда, когда шины свободны. В таком режиме микропроцессор даже не замечает, что какие-то устройства занимают шины.
Читайте также: