Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VOPROS_VMSS_EKZAMYeN_2011.docx
Скачиваний:
5
Добавлен:
06.08.2019
Размер:
1 Mб
Скачать

Аналоговые схемы

Основная статья: Аналоговая интегральная схема

  • Операционные усилители.

  • Компараторы.

  • Генераторы сигналов.

  • Фильтры (в том числе на пьезоэффекте).

  • Аналоговые умножители.

  • Аналоговые аттенюаторы и регулируемые усилители.

  • Стабилизаторы источников питания: стабилизаторы напряжения и тока.

  • Микросхемы управления импульсных блоков питания.

  • Преобразователи сигналов.

  • Схемы синхронизации.

  • Различные датчики (например, температуры).

Цифровые схемы

  • Логические элементы

  • Триггеры

  • Счётчики

  • Регистры

  • Буферные преобразователи

  • Шифраторы

  • Дешифраторы

  • Цифровой компаратор

  • Мультиплексоры

  • Демультиплексоры

  • Сумматоры

  • Полусумматоры

  • Ключи

  • АЛУ

  • Микроконтроллеры

  • (Микро)процессоры (в том числе ЦП для компьютеров)

  • Однокристальные микрокомпьютеры

  • Микросхемы и модули памяти

  • ПЛИС (программируемые логические интегральные схемы)

Цифровые интегральные микросхемы имеют ряд преимуществ по сравнению с аналоговыми:

  • Уменьшенное энергопотребление связано с применением в цифровой электронике импульсных электрических сигналов. При получении и преобразовании таких сигналов активные элементы электронных устройств (транзисторов) работают в «ключевом» режиме, то есть транзистор либо «открыт» — что соответствует сигналу высокого уровня (1), либо «закрыт» — (0), в первом случае на транзисторе нет падения напряжения, во втором — через него не идёт ток. В обоих случаях энергопотребление близко к 0, в отличие от аналоговых устройств, в которых большую часть времени транзисторы находятся в промежуточном (резистивном) состоянии.

  • Высокая помехоустойчивость цифровых устройств связана с большим отличием сигналов высокого (например, 2,5-5 В) и низкого (0-0,5 В) уровня. Ошибка возможна при таких помехах, когда высокий уровень воспринимается как низкий и наоборот, что маловероятно. Кроме того, в цифровых устройствах возможно применение специальных кодов, позволяющих исправлять ошибки.

  • Большое отличие сигналов высокого и низкого уровня и достаточно широкий интервал их допустимых изменений делает цифровую технику нечувствительной к неизбежному в интегральной технологии разбросу параметров элементов, избавляет от необходимости подбора и настройки цифровых устройств.

Архитектура конвейера МП. Очередь команд МП86.

Очередь команд представляет собой набор байтовых регистров и выполняет роль регистра команд, в котором хранятся коды, выбранные из программной памяти.

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

  • получение и декодирование инструкции,

  • адресация и выборка операнда из ОЗУ,

  • выполнение арифметических операций,

  • сохранение результата операции.

И дея заключается в разделении обработки компьютерной инструкции на последовательность независимых стадий с сохранением результатов в конце каждой стадии. Это позволяет управляющим цепям процессора получать инструкции со скоростью самой медленной стадии обработки, однако при этом намного быстрее, чем при выполнении эксклюзивной полной обработки каждой инструкции от начала до конца.

Факторы, снижающие эффективность конвейера:

  1. Простой конвейера, когда некоторые ступени не используются (напр., адресация и выборка операнда из ОЗУ не нужны, если команда работает с регистрами).

  2. Ожидание: если следующая команда использует результат предыдущей, то последняя не может начать выполняться до выполнения первой (это преодолевается при использовании внеочередного выполнения команд — out-of-order execution).

  3. Очистка конвейера при попадании в него команды перехода (эту проблему удаётся сгладить, используя предсказание переходов).

Некоторые современные процессоры имеют более 30 ступеней в конвейере, что увеличивает производительность процессора, однако приводит к большому времени простоя (например, в случае ошибки в предсказании условного перехода). Не существует единого мнения по поводу оптимальной длины конвейера: различные программы могут иметь существенно различные требования.

Архитектура скалярного микропроцессора.Архитектура суперскалярного микропроцессора.

Процессор с единственным конвейе­ром называется скалярным; одновре­менно на ступень декодирования (вблизи начала конвейера) может по­пасть только одна команда. Более со­вершенные процессоры с нескольки­ми конвейерами носят название су­перскалярных. Эти процессоры могут выполнять за один такт более одной команды, поэтому при той же такто­вой частоте они способны обработать большее число команд, чем скаляр­ные

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

Прогнозирование ветвлений программы.

О дно из препятствий в достижении более высокой производительности за счёт параллелизма на уровне данных возникает вследствие остановки и переполнения конвейера при ветвлениях. Обычно до конца неизвестно, будет ли выбрана ветвь условного ветвления в конвейере, поскольку ветвление зависит от результата, который берётся из регистра. С того времени, как декодер инструкций процессора выяснил, что натолкнулся на инструкцию, вызывающую ветвление до того, как определяющее решение значение может быть прочитано из регистра, конвейер необходимо остановить на несколько циклов. Если ветвь выбрана, то его нужно заполнить. Одновременно с ростом частоты процессоров увеличивалась глубина конвейеров и современные разработки имеют до 20 стадий. С учётом того, что в среднем каждая пятая инструкция вызывает ветвление, без дополнительных мер возникнет значительный простой.

Такие техники, как прогнозирование ветвления и спекулятивное исполнение используются для уменьшения этих потерь. Прогнозирование ветвления заключается в том, что оборудование делает обоснованное решение о том, какая из ветвей будет выбрана для исполнения.

Динамическое прогнозирование ветвлений

Ясно, что точные прогнозы очень ценны, поскольку позволяют процессору работать с полной скоростью. В настоящее время проводится множество исследований, целью которых является усовершенствование алгоритмов прогнозирования ветвлений [41, 64, 103, 160]. Один из подходов - хранить (в особом устройстве) специальную таблицу, в которую центральный процессор будет записывать условные переходы, когда они встретятся. Если условный переход встретится снова, его можно будет найти в этой таблице. Простейшая версия такой схемы показана на рис. 4.28, а. В данном случае таблица содержит по одной ячейке для каждой команды условного перехода. В ячейке находится адрес команды перехода, а также бит, который указывает, произошел ли переход, когда эта команда встретилась в последний раз. Прогноз заключается в выборе того же пути, по которому программа пошла в предыдущий раз при выполнении команды перехода. Если прогноз оказывается неправильным, бит в таблице меняется.

Рис. 4.28. Таблица динамики ветвлений с одноразрядным указателем перехода (а); таблица динамики ветвлений с 2-разрядным указателем перехода (б); соответствие между адресом команды перехода и целевым адресом (в)

Существует несколько вариантов организации данной таблицы. Фактически они полностью аналогичны вариантам организации кэш-памяти. Рассмотрим машину с 32-разрядными командами, которые расположены таким образом, что два младших бита каждого адреса памяти равны 00. Таблица содержит 2я ячеек (строк). Из команды перехода можно извлечь п + 2 младших бита и осуществить сдвиг вправо на два бита. Это гг-разрядное число можно использовать в качестве индекса в таблице, проверяя, совпадает ли адрес, сохраненный там, с адресом перехода. Как и в случае с кэш-памятью, здесь нет необходимости сохранять п + 2 младших бита, поэтому их можно опустить (то есть сохраняются только старшие адресные биты - тег). Если адреса совпали, бит прогнозирования используется для прогнозирования перехода. Если тег неправильный или элемент недействителен, значит, имеет место промах. В этом случае можно применять правило перехода вперед/назад.

Если таблица динамики переходов содержит, скажем, 4096 элементов, то адреса 0, 16384, 32768 и т. д. будут конфликтовать; аналогичная проблема встречается и при работе с кэш-памятью. Здесь возможно такое же решение: 2-альтерна-тивный, 4-альтернативный или гг-альтернативный ассоциативный элемент. Как и в случае кэш-памяти, предельный случай - один //-альтернативный ассоциативный элемент.

При достаточно большом размере таблицы и достаточной степени ассоциативности эта схема хорошо подходит для большинства ситуаций. Тем не менее систематически приходится сталкиваться с проблемой. При выходе из цикла переход предсказывается неправильно, и, что еще хуже, этот неправильный прогноз изменяет бит в таблице, который после этого будет показывать, что переход совершать не требуется. То есть в следующий раз, когда опять потребуется выполнять цикл, переход в конце первого прохода цикла окажется спрогнозированным неправильно. Если цикл находится внутри другого цикла или внутри часто вызываемой процедуры, эта ошибка будет повторяться достаточно часто.

Для решения проблемы можно немного изменить метод прогнозирования, чтобы прогноз менялся не после одного, а только после двух последовательных неправильных прогнозов. Такой подход требует наличия в таблице двух битов прогнозирования переходов (рис. 4.28, б): один должен указывать, предполагается совершать переход или нет, а второй - был сделан переход в прошлый раз или нет.

Изменение последовательности кода. Спекулятивное выполнение.

Динамическое исполнение - Технология обработки данных в процессоре, обеспечивающая более эффективную работу процессора за счет манипулирования данными, а не простого исполнения списка инструкций (2). Динамическое исполнение представляет собой комбинацию трех технологий обработки данных. Это: множественное предсказание ветвлений, анализ потока данных и спекулятивное исполнение. Динамическое исполнение позволяет процессору предсказывать порядок инструкций.

Множественное предсказание ветвлений. Предсказывает прохождение программы по нескольким ветвям: Процессор может предвидеть разделение потока инструкций, используя алгоритм множественного предсказания ветвлений,. С большой точностью (более 90%) он предсказывает, в какой области памяти можно найти следующие инструкции. Это оказывается возможным, поскольку в процессе исполнения инструкции процессор просматривает программу на несколько шагов вперед. Этот метод позволяет увеличить загруженность процессора. Анализ потока данных. Анализирует и составляет график исполнения инструкций в оптимальной последовательности, независимо от порядка их следования в тексте программы. Используя анализ потока данных, процессор просматривает декодированные инструкции и определяет, готовы ли они к непосредственному исполнению или зависят от результата других инструкций. Далее процессор определяет оптимальную последовательность выполнения и исполняет инструкции наиболее эффективным образом.

Спекулятивное выполнение. Повышает скорость выполнения, просматривая программу вперед и исполняя те инструкции, которые необходимы: Процессор выполняет инструкции (до 5 инструкций одновременно) по мере их поступления в оптимизированной последовательности (спекулятивно).Поскольку выполнение инструкций происходит на основе предсказания ветвлений, результаты сохраняются как "спекулятивные". На конечном этапе порядок инструкций восстанавливается и и переводится в обычное машинное состояние.

Основные параметры электронной памяти ВМ. Статическое ОЗУ Динамическое ОЗУ. Архитектура электронной памяти ВМ. Классификация ИМС памяти.(dram sram)

Оперативная память (RAM – Random Access Memory) – это массив кристаллических ячеек, способных хранить данные. Существует много различных типов оперативной памяти, но с точки зрения физического принципа действия различают динамическую память (DRAM) и статическую память (SRAM).

Ячейки динамической памяти (DRAM) можно представить в виде микроконденсаторов, способных накапливать заряд на своих обкладках.

Это наиболее распространенный и экономически доступный тип памяти. Недостатки этого типа связаны, во-первых, с тем, что как при заряде, так и при разряде конденсаторов неизбежны переходные процессы, то есть запись данных происходит сравнительно медленно. Второй важный недостаток связан с тем, что заряды ячеек имеют свойство рассеиваться в пространстве, причем весьма быстро. Если оперативную память постоянно не <подзаряжать>, утрата данных происходит через несколько сотых долей секунды. Для борьбы с этим явлением в компьютере происходит постоянная регенерация (освежение, подзарядка) ячеек оперативной памяти.

Ячейки статической памяти (SRAM) можно представить как электронные микроэлементы – триггеры, состоящие из нескольких транзисторов. В триггере хранится не заряд, а состояние (включен/выключен), поэтому этот тип памяти обеспечивает более высокое быстродействие, хотя технологически он сложнее и, соответственно, дороже.

Микросхемы динамической памяти используют в качестве основной оперативной памяти компьютера. Микросхемы статической памяти используют в качестве вспомогательной памяти (так называемой кэш-памяти), предназначенной для оптимизации работы процессора.

Каждая ячейка памяти имеет свой адрес, который выражается числом. Максимальный объем оперативной памяти определяется разрядностью шины адреса (вопрос #1). Таким образом, имея 32-разрядную шину адреса, может быть осуществлена непосредственная адресация к полю памяти размером 232 = 4 294 967 296 байт (4 Гб).

Оперативная память в компьютере размещается на стандартных панельках, называемых модулями. Модули оперативной памяти вставляют в соответствующие разъемы на материнской плате.

Различают два вида оперативной памяти:

- SIMM – однорядные;

- DIMM – двухрядные.

Чтение:

1) Процессор <высылает> на шину адреса адрес нужной ячейки памяти.

2) Память обнаруживает, что этот адрес из её адресного пространства, и записывает в регистр адреса.

3) Дешифратор из двоичного кода получает <хрен, прочитаешь, какой код>, то ли <суммарный>, то ли <унитарный>.

4) Процессор дает команду прочитать. Считывает из ячейки информацию в регистр данных. Затем подключается к шине данных.

5) Готово. Процессор забирает с шины данных считанный код.

Запись:

1) Процессор <высылает> на шину адреса адрес нужной ячейки памяти, в которую нужно записать информацию.

2) Память обнаруживает, что этот адрес из её адресного пространства, и записывает в регистр адреса.

3) Процессор отправляет данные на шину данных.

4) С шины данных в регистр данных.

5) Запись в соответствующую ячейку.

Основные характеристики оперативной памяти:

1) Латентность (задержка при передаче данных) – у модулей SIMM она составляла около 60 нс., у первых DIMM-модулей 8-10 нс., у современной оперативной памяти DIMM DDR, DIMM DDR2 – 1,6-2,5 нс.

2) Объём одного модуля оперативной памяти может достигать 1 Гб. Стандартный объем современной оперативной памяти: 64, 128, 256, 512, 1024 Мб.

Динамическая оперативная память (Dynamic RAM – DRAM) используется в большинстве систем оперативной памяти современных ПК. Основное преимущество памяти этого типа состоит в том, что ее ячейки упакованы очень плотно, т.е. в небольшую микросхему можно упаковать много битов, а значит, на их основе можно построить память большой емкости.

Ячейки памяти в микросхеме DRAM – это крошечные конденсаторы, которые удерживают заряды. Именно так (наличием или отсутствием зарядов) и кодируются биты. Проблемы, связанные с памятью этого типа, вызваны тем, что она динамическая, т.е. должна постоянно регенерироваться, так как в противном случае электрические заряды в конденсаторах памяти будут “стекать” и данные будут потеряны. Регенерация происходит, когда контроллер памяти системы берет крошечный перерыв и обращается ко всем строкам данных в микросхемах памяти. Большинство систем имеют контроллер памяти (обычно встраиваемый в набор микросхем системной платы), который настроен на соответствующую промышленным стандартам частоту регенерации, равную, например, 15 мкс. Ко всем строкам данных обращение осуществляется по прохождении 128 специальных циклов регенерации. Это означает, что каждые 1,92 мс (128x15 мкс) прочитываются все строки в памяти для обеспечения регенерации данных.

Регенерация памяти, к сожалению, отнимает время у процессора: каждый цикл регенерации по длительности занимает несколько циклов центрального процессора. В старых компьютерах циклы регенерации могли занимать до 10% (или больше) процессорного времени, но в современных системах, работающих на частотах, равных сотням мегагерц, расходы на регенерацию составляют 1% (или меньше) процессорного времени. Некоторые системы позволяют изменить параметры регенерации с помощью программы установки параметров CMOS, но увеличение времени между циклами регенерации может привести к тому, что в некоторых ячейках памяти заряд “стечет”, а это вызовет сбои памяти. В большинстве случаев надежнее придерживаться рекомендуемой или заданной по умолчанию частоты регенерации.

Поскольку затраты на регенерацию в современных компьютерах составляют менее 1%, изменение частоты регенерации оказывает незначительное влияние на характеристики компьютера. Одним из наиболее приемлемых вариантов является использование для синхронизации памяти значений по умолчанию или автоматических настроек, заданных с помощью Setup BIOS. Большинство современных систем не позволяют изменять заданную синхронизацию памяти, постоянно используя автоматически установленные параметры. При автоматической установке системная плата считывает параметры синхронизации из системы определения последовательности в ПЗУ (serial presence detect – SPD) и устанавливает частоту периодической подачи импульсов в соответствии с полученными данными.

В устройствах DRAM для хранения одного бита используется только один транзистор и пара конденсаторов, поэтому они более вместительны, чем микросхемы других типов памяти. В настоящее время имеются микросхемы динамической оперативной памяти емкостью 1 Гбайт и больше. Это означает, что подобные микросхемы содержат более миллиарда транзисторов. В микросхеме памяти все транзисторы и конденсаторы размещаются последователь но, обычно в узлах квадратной решетки, в виде очень простых, периодически повторяющихся структур.

Транзистор для каждого одноразрядного регистра DRAM используется для чтения состояния смежного конденсатора. Если конденсатор заряжен, в ячейке записан 1; если заряда нет – записан 0. Заряды в крошечных конденсаторах все время стекают, вот почему память должна постоянно регенерироваться.

Даже мгновенное прерывание подачи питания или какой-нибудь сбой в циклах регенерации приведет к потере заряда в ячейке DRAM, а, следовательно, и к потере данных. В работающей системе подобное приводит к появлению “синего” экрана, глобальным отказам системы защиты, повреждению файлов или к полному отказу системы.

Динамическая оперативная память используется в персональных компьютерах; поскольку она недорогая, микросхемы могут быть плотно упакованы, а это означает, что запоминающее устройство большой емкости может занимать небольшое пространство.

К сожалению, память этого типа не отличается высоким быстродействием, обычно она намного “медленнее” процессора. Поэтому существует множество различных типов организации DRAM, позволяющих улучшить эту характеристику.

Существует тип памяти, совершенно отличный от других, – статическая оперативная память (Static RAM – SRAM). Она названа так потому, что, в отличие от динамической оперативной памяти (DRAM), для сохранения ее содержимого не требуется периодической регенерации. Но это не единственное ее преимущество. SRAM имеет более высокое быстродействие, чем DRAM, и может работать на той же частоте, что и современные процессоры.

Время доступа SRAM не более 2 нс.; это означает, что такая память может работать синхронно с процессорами на частоте 500 МГц или выше. Однако для хранения каждого бита в конструкции SRAM используется кластер из шести транзисторов. Использование транзисторов без каких-либо конденсаторов означает, что нет необходимости в регенерации. (Ведь если нет никаких конденсаторов, то и заряды не теряются.) Пока подается питание, SRAM будет помнить то, что сохранено.

По сравнению с DRAM быстродействие SRAM намного выше, но плотность ее гораздо ниже, а цена довольно высока. Более низкая плотность означает, что микросхемы SRAM имеют большие габариты, хотя их информационная емкость намного меньше. Большое число транзисторов и кластеризованное их размещение не только увеличивает габариты микросхем SRAM, но и значительно повышает стоимость технологического процесса по сравнению с аналогичными параметрами для микросхем DRAM. Например, емкость модуля DRAM может равняться 64 Мбайт или больше, в то время как емкость модуля SRAM приблизительно того же размера составляет только 2 Мбайт, причем их стоимость будет одинаковой. Таким образом, габариты SRAM в среднем в 30 раз превышают размер DRAM, то же самое можно сказать и о стоимости. Все это не позволяет использовать память типа SRAM в качестве оперативной памяти в персональных компьютерах.

Архитектура памяти ВМ с раздельным адресным пространством.

В Гарвардской архитектуре принципиально различаются два вида памяти:

  • Память программ

  • Память данных

В Гарвардской архитектуре принципиально невозможно производить операцию записи в память программ, что исключает возможность случайного разрушения управляющей программы в случае неправильных действий над данными. Кроме того, в ряде случаев для памяти программ и памяти данных выделяются отдельные шины обмена данными. Эти особенности определили области применения этой архитектуры построения микропроцессоров. Гарвардская архитектура применяется в микроконтролерах, где требуется обеспечить высокую надёжность работы аппаратуры и в сигнальных процессорах, где эта архитектура кроме обеспечения высокой надёжности работы устройств позволяет обеспечить высокую скорость выполнения программы, за счёт одновременного считывания управляющих команд и обрабатываемых данных, а так же запись полученных результатов в память данных.

1. Принцип программного управления.

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

2. Принцип однородности памяти.

Как программы (команды), так и данные хранятся в одной и той же памяти (и кодируются в одной и той же системе счисления - чаще всего двоичной). Над командами можно выполнять такие же действия, как и над данными.

3. Принцип адресуемости памяти.

Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.

Особенностью гарвардской архитектуры является то, что память данных и программ разделены и имеют отдельные шину данных и шину команд, что позволяет повысить быстродействие МП.

Сравнительный анализ:

Гарвардская архитектура начала интенсивно использоваться только в конце 1970-х годов, когда началось  интенсивное применение цифровых сигнальных процессоров. Причиной появления интереса к гарвардской архитектуре было то, что в цифровых сигнальных процессорах необходимый объем памяти данных МП, используемой для хранения промежуточных результатов, как правило, на порядок меньше требуемого объема памяти программ.

Достоинства гарвардской архитектуры следующие :

1.      Применение небольшой по объему памяти данных способствует ускорению поиска информации в памяти и увеличивает быстродействие МП.

2.      Гарвардская архитектура позволяет организовать параллельное выполнение программ – выборка следующей команды может происходить одновременно с выполнением предыдущей в результате чего сокращается время выборки команды.

Недостатком гарвардской архитектуры является усложнение архитектуры МП и необходимость генерации дополнительных управляющих сигналов для памяти команд и памяти данных.

Постоянная память ВМ. Энергонезависимое ОЗУ.

Постоянное запоминающее устройство (ПЗУ) — энергонезависимая память, используется для хранения массива неизменяемых данных.

В современных компьютерах используются запоминающие устройства трех основных типов:

  • ROM (Read Only Memory). Постоянное запоминающее устройство – ПЗУ, не способное выполнять операцию записи данных.

  • DRAM (Dynamic Random Access Memory). Динамическое запоминающее устройство с произвольным порядком выборки.

  • SRAM (Static RAM). Статическая оперативная память.

Память типа ROM

информация счисление память оперативный

В памяти типа ROM (Read Only Memory), или ПЗУ (постоянное запоминающее устройство), данные можно только хранить, изменять их нельзя. Именно поэтому такая память используется только для чтения данных. ROM также часто называется энергонезависимой памятью, потому что любые данные, записанные в нее, сохраняются при выключении питания. Поэтому в ROM помещаются команды запуска ПК, т.е. программное обеспечение, которое загружает систему.

ROM и оперативная память – не противоположные понятия. На самом деле ROM представляет собой часть оперативной памяти системы. Другими словами, часть адресного пространства оперативной памяти отводится для ROM. Это необходимо для хранения программного обеспечения, которое позволяет загрузить операционную систему.

Основной код BIOS содержится в микросхеме ROM на системной плате, но на платах адаптеров также имеются аналогичные микросхемы. Они содержат вспомогательные подпрограммы BIOS и драйверы, необходимые для конкретной платы, особенно для тех плат, которые должны быть активизированы на раннем этапе начальной загрузки, например видеоадаптер. Платы, не нуждающиеся в драйверах на раннем этапе начальной загрузки, обычно не имеют ROM, потому что их драйверы могут быть загружены с жесткого диска позже – в процессе начальной загрузки.

В настоящее время в большинстве систем используется одна из форм Flash-памяти, которая называется электрически стираемой программируемой постоянной памятью (Electrically Erasable Programmable Readonly Memory – EEPROM). Flash-память является по-настоящему энергонезависимой и перезаписываемой, она позволяет пользователям легко модифицировать ROM, программно-аппаратные средства системных плат и других компонентов (таких, как видеоадаптеры, платы SCSI, периферийные устройства и т.п.).

По разновидностям микросхем ПЗУ

  • По технологии изготовления кристалла:

    • ROM — (англ. read-only memory, постоянное запоминающее устройство), масочное ПЗУ, изготавливается фабричным методом. В дальнейшем нет возможности изменить записанные данные.

    • PROM — (англ. programmable read-only memory, программируемое ПЗУ (ППЗУ)) — ПЗУ, однократно «прошиваемое» пользователем.

    • EPROM — (англ. erasable programmable read-only memory, перепрограммируемое ПЗУ (ПППЗУ)). Например, содержимое микросхемы К537РФ1 стиралось при помощи ультрафиолетовой лампы. Для прохождения ультрафиолетовых лучей к кристаллу в корпусе микросхемы было предусмотрено окошко с кварцевым стеклом.

    • EEPROM — (англ. electrically erasable programmable read-only memory, электрически стираемое перепрограммируемое ПЗУ). Память такого типа может стираться и заполняться данными несколько десятков тысяч раз. Используется в твердотельных накопителях. Одной из разновидностей EEPROM является флеш-память (англ. flash memory).

    • ПЗУ на магнитных доменах, например К1602РЦ5, имело сложное устройство выборки и хранило довольно большой объём данных в виде намагниченных областей кристалла, при этом не имея движущихся частей (см. Компьютерная память). Обеспечивалось неограниченное количество циклов перезаписи.

    • NVRAM, non-volatile memory — «неразрушающаяся» память, строго говоря, не является ПЗУ. Это ОЗУ небольшого объёма, конструктивно совмещённое с батарейкой. В СССР такие устройства часто назывались «Dallas» по имени фирмы, выпустившей их на рынок. В NVRAM современных ЭВМ батарейка уже конструктивно не связана с ОЗУ и может быть заменена.

  • По виду доступа:

    • С параллельным доступом (parallel mode или random access): такое ПЗУ может быть доступно в системе в адресном пространстве ОЗУ. Например, К573РФ5;

    • С последовательным доступом: такие ПЗУ часто используются для однократной загрузки констант или прошивки в процессор или ПЛИС, используются для хранения настроек каналов телевизора, и др. Например, 93С46, AT17LV512A.

  • По способу программирования микросхем (записи в них прошивки):

    • Непрограммируемые ПЗУ;

    • ПЗУ, программируемые только с помощью специального устройства — программатора ПЗУ (как однократно, так и многократно прошиваемые). Использование программатора необходимо, в частности, для подачи нестандартных и относительно высоких напряжений (до +/- 27 В) на специальные выводы.

    • Внутрисхемно (пере)программируемые ПЗУ (ISP, in-system programming) — такие микросхемы имеют внутри генератор всех необходимых высоких напряжений, и могут быть перепрошиты без программатора и даже без выпайки из печатной платы, программным способом.

Назначение и принцип работы кэш-памяти. Взаимодействие кэш-памяти с МП и ОЗУ.

Кэш — промежуточный буфер с быстрым доступом, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Доступ к данным в кэше идёт быстрее, чем выборка исходных данных из оперативной (ОЗУ) и быстрее внешней (жёсткий диск или твердотельный накопитель) памяти, за счёт чего уменьшается среднее время доступа и увеличивается общая производительность компьютерной системы.

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

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

Ряд моделей центральных процессоров (ЦП) обладают собственным кэшем, для того чтобы минимизировать доступ к оперативной памяти (ОЗУ), которая медленнее, чем регистры. Кэш-память может давать значительный выигрыш в производительности, в случае когда тактовая частота ОЗУ значительно меньше тактовой частоты ЦП. Тактовая частота для кэш-памяти обычно ненамного меньше частоты ЦП.

Кэш центрального процессора разделён на несколько уровней. В универсальном процессоре в настоящее время число уровней может достигать 3. Кэш-память уровня N+1 как правило больше по размеру и медленнее по скорости доступа и передаче данных, чем кэш-память уровня N.

Самой быстрой памятью является кэш первого уровня — L1-cache. По сути, она является неотъемлемой частью процессора, поскольку расположена на одном с ним кристалле и входит в состав функциональных блоков. В современных процессорах обычно кэш L1 разделен на два кэша, кэш команд (инструкций) и кэш данных (Гарвардская архитектура). Большинство процессоров без L1 кэша не могут функционировать. L1 кэш работает на частоте процессора, и, в общем случае, обращение к нему может производиться каждый такт. Зачастую является возможным выполнять несколько операций чтения/записи одновременно. Латентность доступа обычно равна 2−4 тактам ядра. Объём обычно невелик — не более 384 Кбайт.

Вторым по быстродействию является L2-cache — кэш второго уровня, обычно он расположен на кристалле, как и L1. В старых процессорах — набор микросхем на системной плате. Объём L2 кэша от 128 Кбайт до 1−12 Мбайт. В современных многоядерных процессорах кэш второго уровня, находясь на том же кристалле, является памятью раздельного пользования — при общем объёме кэша в nM Мбайт на каждое ядро приходится по nM/nC Мбайта, где nC количество ядер процессора. Обычно латентность L2 кэша, расположенного на кристалле ядра, составляет от 8 до 20 тактов ядра.

Кэш третьего уровня наименее быстродействующий, но он может быть очень внушительного размера — более 24 Мбайт. L3 кэш медленнее предыдущих кэшей, но всё равно значительно быстрее, чем оперативная память. В многопроцессорных системах находится в общем пользовании и предназначен для синхронизации данных различных L2.

Архитектура кэш-памяти прямого отображения.

Если каждый блок основной памяти имеет только одно фиксированное место, на котором может поместиться в кэш, то такой кэш называется кэшем с прямым отображением.

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

При записи в кэш ищем ячейку, адрес которой совпадает с индексом записываемой информации. После этого в память тэгов и память данных записываем соответственно тэг и данные, в соответствии с адресом оперативной памяти.

Чтение из кэша (см. рис). Пусть v (value) - данные, за которыми происходит обращение. Выбираем из переданного адреса индекс, и по этому индексу в теговой памяти находим предыдущее значение тэга. Далее, сравниваем предыдущее значение тэга с текущим значением, и если они совпадают, следовательно информацию в соответствующей ячейки памяти данных можно считать достоверной. Если не совпадают - ситуация кэш-промаха.

Недостатки:

Все блоки, находящиеся в одной и той же строке (с одинаковым индексом) не могут находиться в кэше одновременно. В то время как операция чтения соседних ячеек памяти является довольно распространённой.

Достоинства:

Простота реализации

Распределение памяти в ВМ.

Системы памяти современных ЭВМ представляют собой совокупность аппаратных средств, предназначенных для хранения используемой в ЭВМ информации. К этой информации относятся обрабатываемые данные, прикладные программы, системное программное обеспечение и служебная информация различного назначения. К системе памяти можно отнести и программные средства, организующие управление ее работой в целом, а также драйверы различных видов запоминающих устройств.Память представляет собой одну из важнейших подсистем ЭВМ, во многом определяющую их производительность. Тем не менее в течение всей истории развития вычислительных машин она традиционно считается их "узким местом".Ключевым принципом построения памяти ЭВМ является ее иерархическая организация (принцип, сформулированный еще Джоном фон Нейманом), которая предполагает использование в системе памяти компьютера запоминающих устройств (ЗУ) с различными характеристиками.

Вычислительные возможности ЭВМ в основном определяются характеристиками ее памяти, которая, как и архитектура ЭВМ, должна удовлетворять следующим требованиям:

  1. Универсальность, т.е. многофункциональное использование всех типов памяти для хранения программ и любых типов данных, а также обеспечение ее технических характеристик в заданных пределах.

  2. Общность решаемых задач, т.е. память должна быть ориентирована на решение любого класса задач и обеспечивать максимальную эффективность организации вычислительного процесса.

  3. Высокое быстродействие - память должна обеспечивать работу процессора в реальном времени и не снижать характеристики его производительности.

  4. Надежность. В связи с ростом емкости памяти ЭВМ доля аппаратурных затрат на ее реализацию неуклонно возрастает, что приводит к увеличению числа сбоев и отказов памяти. Поэтому обеспечение высокой надежности памяти и достоверности результатов особенно возрастает.

  5. Низкая стоимость. Так как емкость памяти и быстродействие постоянно возрастают, то и увеличивается и стоимость памяти. Поэтому данная проблема приобретает особую актуальность.

  6. Обеспечение совместного использования и доступа к памяти множеством программ или процессоров в мультипрограммных и многопроцессорных комплексах.

  7. Дружественность, т.е. ориентированность памяти к классам решаемых задач пользователя с целью обеспечения улучшения технических характеристик системы и использование удобного как программного, так и аппаратного интерфейса.

Классификация архитектур памяти по требованиям к ним выглядит следующим образом:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]