extracted_text:
тема 1 вопрос 22
RISC и  CISC архитектуры
Здесь рассматриваются базовые свойства архитектур CISC и RISC, а также особенности интеграции
элементов RISCархитектуры в процессорах x86. Особое внимание уделяется описанию преимуществ и
недостатков этой интеграции. Показано естественность взаимообогащения CISC и RISCпроцессоров
эффективными аппаратнопрограммными решениями, а также практичность развития процессоров в
этом направлении.
Организация первых моделей процессоров  i8086/8088  была направлена, в частности, на сокращение
объёма программ, критичного для систем того времени, отличавшихся малой оперативной памятью.
Расширение спектра операций, реализуемых системой команд, позволило уменьшить размер программ,
а также трудоёмкость их написания и отладки. Однако увеличение числа команд повысило
трудоёмкость разработки их топологических и микропрограммных реализаций.
Последнее проявилось в удлинении сроков разработки CISCпроцессоров, а также в проявлении
различных ошибок в их работе. Кроме того, нерегулярность потока команд ограничила развитие
топологии временным параллелизмом обработки инструкций на конвейере "выборка команды
дешифрация команды выборка данных вычисление запись результата".
Эти недостатки обусловили необходимость разработки альтернативной архитектуры, нацеленной,
прежде всего, на снижение нерегулярности потока команд уменьшением их общего количества. Это
было реализовано в RISCпроцессорах, название которых означает "чипы с сокращённой системой
команд" (Reduced Instruction Set Computer). Одновременно "классические" процессоры получили
обозначение CISC (Complex Instruction Set Computer)  компьютер со сложным набором инструкций.
Сокращение нерегулярности потока команд позволило обогатить топологию RISCпроцессоров
пространственным параллелизмом, специализированными аппаратными АЛУ (ALU  блок логики и
арифметики = Arithmetic (and) Logic Unit), независимыми кэш данных и команд, раздельными шинами
вводавывода. Последние, в частности, увеличили длину конвейеров команд. Всё это повысило и
производительность  увеличением числа операций, выполняемых за один такт, и быстродействие
сокращением пути транзактов  RISCпроцессоров. При этом срок разработки данных чипов
свидетельствует о том, что её трудоёмкость меньше, чем в случае CISCпроцессоров.
На мировых рынках CISCпроцессоры представлены, в основном, клонами процессоров Intel серии x86,
производимыми AMD, Cyrix, а RISC  чипами Alpha, PowerPC, SPARC. Уступая во многом последним,
процессоры x86 сохранили лидерство на рынке персональных систем лишь благодаря совместимости с
программным обеспечением младших моделей, общая стоимость которого  в начале 90х годов
составила несколько миллиардов долларов США. В свою очередь, достоинства RISCпроцессоров
укрепили их позиции на более молодом рынке высокопроизводительных машин.
Несмотря на формальное разделение "сфер влияния", между представителями этих архитектур в
начале 90х годов началась острая конкуренция за превентивное улучшение характеристик. В первую
очередь, производительности и её отношения к трудоёмкости разработки процессоров. Следуя
принципу "бить врага его оружием", создатели и CISC, и RISCпроцессоров нередко боролись с
конкурентами, заимствуя их удачные решения.
Первыми на то решились разработчики Intel, реализовавшие в i486 пространственный параллелизм
вычислений с фиксированной и плавающей запятой. Поддержка каждого АЛУ своей шиной
данных/команд и регистровым блоком повысила производительность i486 одновременным выполнением
указанных команд. Кроме того, интеграция кэш и очереди команд позволила поднять частоту ядра
процессора в 23 раза в сравнении с системной шиной. Однако совместное размещение данных и команд
ограничило эффективность кэш необходимостью его полной перезагрузки после выполнения команд
переходов.
Для устранения недостатка в Pentium реализованы раздельные кэш для команд и данных, позволяющие
после переходов перезагружать лишь команды  такое решение называется Гарвардской архитектурой, а
также предсказание переходов, снижающее частоту перезагрузок. Последнее достигается
предварительной загрузкой в кэш команд с обоих разветвлений. Введение второго целочисленного
тракта, состоящего из АЛУ, адресного блока, шин данных/команд, и работающего на общий блок
регистров, повысило производительность поддержкой параллельной обработки целочисленных данных. Развитием данной тенденции стало обогащение Pentium MMX мультимедийным трактом, образованным
АЛУ, шинами данных/команд и регистровым файлом.
При этом в случае выборки двух целочисленных команд, зависящих по данным, каждая из них
выполняется последовательно, что снижает эффективность работы процессора. Частично поправило
ситуацию создание оптимизирующих рекомпиляторов, например, Pen_Opt фирмы Intel, разделяющих по
возможности такие команды.
Реализация описанного управления обработкой команд CISCформата вызвала дополнительный рост
трудоёмкости разработки Pentium в сравнении с i8086/i486, что привело не только к увеличению её
реального срока на 27% в сравнении с ожидаемым, но и к проявлению ошибок в первых моделях
данного процессора.
Учтя это, компания Intel реализовала в Pentium Pro RISCподобную организацию вычислений.
Интерпретация команд х86 внутренними  RISC86  инструкциями VLIWформата помимо снижения
нерегулярности их потока, обеспечила синхронную загрузку четырёх операционных  по два с
плавающей и фиксированной запятой  АЛУ этого чипа. Термин VLIW расшифровывается как "очень
длинное командное слово" (Very Long Instruction Word). Инструкции этого формата содержат команды
для всех параллельных АЛУ.
Обогащение управления обработкой предвыборкой данных и команд, предполагаемых к обработке в
ближайшие 20 тактов, повысило регулярность загрузки вычислительных трактов. В свою очередь,
осуществление предвыборки из интегрированного на кристалле кэш второго уровня, обслуживаемого
раздельными шинами "интерфейскэш" и "кэшАЛУ" и работающего на частоте АЛУ, повысило
быстродействие подготовки команд в сравнении с внешними кэш. Дополнительное повышение
производительности Pentium Pro обеспечило увеличение длины команд до 11 ступеней введением
ступеней трансляции и предвыборки. Кроме того, интеграция кэш второго уровня позволила умножать
частоту ядра в 56 раз.
В архитектуре Р6 RISCрешения впервые в семействе х86 перестали быть лишь дополнением исконных
CISCсредств повышения производительности  роста разрядности, отложенной записи шины и других.
Поэтому частица PRO в названии первого процессора этой серии обозначает "Полноценная RISC
архитектура" (Precision RISC Organization).
Топологические новинки Pentium II  интеграция тракта MMX, мультипроцессорный интерфейс Xeon,
вынесение кэш второго уровня на кристалл в корпусе чипа, как и полное устранение кэш второго
уровня в Celeron, не имеют в данном случае качественной роли и направлены на оптимизацию
отношения характеристик этих процессоров, к их цене.
При этом сокращение нерегулярности потока RISC86инструкицй ограничило рост требований к
развитию управления вычислениями в сравнении с Pentium. Одновременно снижение трудоёмкости
разработки аппаратнопрограммных реализаций алгоритмов работы Pentium Pro, достигнутое развитием
САПР, ослабило влияние развития обработки данных, оцениваемого ростом объёма информации,
заложенной в реализациях этой обработки, на общую трудоёмкость разработки процессоров,
оцениваемую её длительностью.
Последнее создало возможность оптимизации соотношения характеристик чипов и их трудоёмкости не
снижением последней ограничением внедрения прогрессивных решений в CISCархитектуру или
ограничением функциональных возможностей RISCпроцессоров, а ростом характеристик,
достигаемым сочетанием преимуществ упомянутых архитектур.
Сказанное иллюстрирует и организация современных RISCпроцессоров. Их отличает, в данном случае,
развитие систем команд с целью сохранения иерархической совместимости и снижения трудоёмкости
разработки программ. Это сближает технологии обработки команд процессорами упомянутых
архитектур. Например, SuperSparc взяли от последних моделей х86 предсказание переходов и
предварительную интерпретацию кода.
Таким образом, развиваясь, каждая из рассмотренных архитектур, "отказавшись" от своих черт  CISC
от скалярности вычислений, RISC от "простоты" системы команд, приобрела лучшие черты конкурента,
что повысило характеристики её представителей.
Это подтверждает и процессор Merced, разрабатываемый недавними противниками  Intel и Hewlett
Packard. Имеющиеся сведения позволяют предположить, что его архитектура продолжит тенденции
Pentium Pro по оптимизации обработки внутренних VLIWподобных команд реализацией эффективных
архитектурных решений при одновременной оптимизации преобразования "внешних" инструкций. Особо отмечаются намерения создания двух вариантов этого чипа, различающихся лишь множеством
этих инструкций. Первый будет совместим с CISCсемейством x86, второй  с RISCпроцессорами
Alpha.
Будучи "един в двух лицах", Merced ознаменует прекращение соперничества CISC и RISC, в ходе
которого представители данных архитектура улучшили свои характеристики реализацией лучших
аппаратнопрограммных решений конкурентов. Это позволяет предположить, что дальнейшее развитие
массовых процессоров пройдёт по пути развития топологических и микропрограммных решений
вычислительного ядра RISCорганизации при одновременном повышении возможностей CISCподобной
"внешней" системы команд.
Архитектура процессоров. CISC и RISC
Чтобы разработать процессор, нужны гигантские инвестиции и годы работы. Почему всё получается так
сложно? Ответ на этот вопрос кроется в истории.
Автор: Сергей Озеров | Раздел: Платформа | Дата: 25 октября 2005 года
В семидесятых годах прошлого столетия проектирование и изготовление центральных процессоров
было занятием, принципиально доступным каждому. Если какомунибудь сотруднику, скажем,
Стэндфордского университета приходила в голову интересная идея, он мог легко набрать команду,
основать фирму, найти инвесторов и уже через годдва выбросить на рынок свои CPU.
Через тридцать с небольшим лет процессоры усложнились до такой степени, что разработка хоть
скольконибудь быстрого по современным меркам кристалла требует огромной армии инженеров,
гигантских инвестиций и целого моря времени. И дело здесь отнюдь не в тонких кремниевых
технологиях и стоящих миллиарды долларов полупроводниковых фабриках  просто уже в
восьмидесятых годах разработка принципиально нового CPU требовала двухтрех, а в девяностых
пятишести лет напряженной работы. Те же китайцы, даже располагая подробной информацией о
тридцатилетней истории проектирования процессоров, владея новейшими фабриками по производству
кремниевых кристаллов и не стремясь изобретать чтото новое, потратили на разработку собственного
простейшего MIPS32подобного процессора Godson (примерно эквивалентного по производительности
i486) несколько лет. Это не считая еще одного года, когда новый кристалл отлаживали. А на разработку
MIPS64подобной архитектуры с приемлемой производительностью (~Pentium III 500–600 МГц) у
китайской Академии наук ушло еще четыре года,  четыре года, потраченных только на то, чтобы
повторить успех более чем двенадцатилетней давности. Но почему все получается так сложно? Чтобы
ответить на этот вопрос нам придется вернуться на 3040 лет в прошлое.
Шаг первый. CISC
Так уж исторически сложилось, что поначалу совершенствование процессоров было направлено на то,
чтобы сконструировать по возможности более функциональный компьютер, который позволил бы
выполнять как можно больше разных инструкций. Вопервых, так было удобнее для программистов
(компиляторы языков высокого уровня еще только начинали развиваться, и все понастоящему важные
программы писались на ассемблере), а вовторых, использование сложных инструкций зачастую
позволяло сильно сократить размеры написанной на ассемблере программы. А где меньше инструкций –
меньше и затраченное на исполнение программы время.
Надо признать, что достигнутые на этом пути успехи действительно впечатляли  в последних версиях
ЭВМ выразительность ассемблерного листинга зачастую не уступала выразительности программы,
написанной на языке высокого уровня. Однойединственной машинной инструкцией можно было
сказать практически все, что угодно. К примеру, такие машины, как DEC VAX, аппаратно
поддерживали инструкции "добавить элемент в очередь", "удалить элемент из очереди" и даже
"провести интерполяцию полиномом" (!); а знаменитое семейство процессоров Motorola 68k почти для
всех инструкций поддерживало до двенадцати (!) режимов адресации памяти, вплоть до взятия в
качестве аргумента инструкции "данных, записанных по адресу, записанному вон в том регистре, со
смещением, записанным вот в этом регистре". Отсюда и общее название соответствующих архитектур:
CISC  Complex Instruction Set Computers ("компьютеры с набором инструкций на все случаи жизни").
На практике это привело к тому, что подобные инструкции оказалось сложно не только выполнять, но и
просто декодировать (выделять из машинного кода новую инструкцию и отправлять ее на
исполнительные устройства). Чтобы машинный код CISCкомпьютеров изза сложных инструкций не
разрастался до огромного размера, машинные инструкции в большинстве этих архитектур имели
неоднородную структуру (разное расположение и размеры кода операции и ее операндов) и сильно отличающуюся длину (в x86, например, длина инструкций варьируется от 1 до 15 байт). Еще одной
проблемой стало то, что при сохранении приемлемой сложности процессора многие инструкции
оказалось принципиально невозможно выполнить "чисто аппаратно", и поздние CISCпроцессоры были
вынуждены обзавестись специальными блоками, которые "на лету" заменяли некоторые сложные
команды на последовательности более простых. В результате все CISCпроцессоры оказались весьма
трудоемкими в проектировании и изготовлении. Но что самое печальное, к моменту расцвета CISC
архитектур стало ясно, что все эти конструкции изобретались в общемто зря  исследования
программного обеспечения того времени, проведенные IBM, наглядно показали, что даже
программисты, пишущие на ассемблере, все эти "сверхвозможности" почти никогда не использовали, а
компиляторы языков высокого уровня  и не пытались использовать.
К началу восьмидесятых годов классические CISC полностью исчерпали себя. Расширять набор
инструкций в рамках этого подхода дальше не имело смысла, наоборот  технологи столкнулись с тем,
что изза высокой сложности CISCпроцессоров оказалось трудно наращивать их тактовую частоту, а
изза "тормознутости" оперативной памяти тех времен зашитые в память процессора расшифровки
сложных инструкций зачастую работают медленнее, чем точно такие же цепочки команд,
встречающиеся в основной программе. Короче говоря, стало очевидным, что CISCпроцессоры нужно
упрощать  и на свет появился RISC, Reduced Instruction Set Computer.
Шаг 2. RISC
Точно так же, как когдато CISCпроцессоры проектировались под нужды asmпрограммистов, RISC
проектировался в расчете на типовой код, генерируемый компиляторами. Для начала разработчики
свели к минимуму набор инструкций и к абсолютному минимуму  количество режимов адресации
памяти; упаковав все, что осталось, в простой и удобный для декодирования регулярный машинный
код. В частности, в классическом варианте RISC из инструкций, обращающихся к оперативной памяти,
оставлены только две (Load  загрузить данные в регистр и Store  сохранить данные из регистра; так
называемая Load/Storeархитектура), и нет ни одной инструкции вроде вычисления синуса, косинуса
или квадратного корня (их можно реализовать "вручную"), не говоря уже о более
сложных[Канонический пример  инструкция INDEX, выполнявшаяся на VAX медленнее, чем вручную
написанный цикл, выполняющий ровно тот же объем работы]. Да что там синус с косинусом  в
некоторых RISCпроцессорах пытались отказаться даже от трудно реализуемого аппаратного
умножения и деления! Правда, до таких крайностей ни один коммерческий RISC, к счастью, не дошел,
но как минимум две попытки (ранние варианты MIPS и SPARC) предприняты были.
Второе важное усовершенствование RISCпроцессоров, целиком вытекающее из Load/Store
архитектуры,  увеличение числа GPR (регистров общего назначения). Варианты, у которых меньше
шестнадцати GPR,  большая редкость, причем почти все эти регистры полностью равноправны, что
позволяет компилятору свободно распоряжаться ими, сохраняя большую часть промежуточных данных
именно там, а не в стеке или оперативной памяти. В некоторых архитектурах, типа SPARC,
"регистровость" возведена в абсолют, в некоторых  оставлена на разумном уровне; однако почти любой
RISCпроцессор обладает куда большим набором регистров, чем даже самый продвинутый CISC. Для
сравнения: в классическом x86 IA32 всего восемь регистров общего назначения, причем каждому из
них приписано то или иное "специальное назначение" (скажем, в ESP хранится указатель на стек)
затрудняющее или делающее невозможным его использование.
Среди прочих усовершенствований, внесенных в RISC,  такие нетривиальные идеи, как условные
инструкции ARM или режимы работы команд. Например, некий модификатор в архитектуре PowerPC и
некоторых других показывает, должна ли инструкция выставлять по результатам своего выполнения
определенные флаги, которые потом может использовать инструкция условного перехода, или не
должна. Это позволяет разнести в пространстве инструкцию, выполняющую вычисление условия, и
инструкцию собственно условного перехода  что в конвейерных архитектурах зачастую позволяет
процессору не "гадать", будет совершен переход или нет, а сразу достоверно это знать. В классическом
CISC они почти не встречаются, поскольку на момент разработки соответствующих наборов
инструкций ценность этих решений была сомнительной (они выйдут на сцену только в
конвейеризированных процессорах). Двумя   основными   архитектурами   набора   команд,   используемыми   компьютерной   промышленностью   на
         большое   количество   машинных   команд,   некоторые   из   которых   нагружены   семантически   аналогично
RISC И CISC АРХИТЕКТУРЫ
               Архитектура   набора   команд   служит   границей   между   аппаратурой   и   программным   обеспечением   и
представляет ту часть системы, которая видна программисту. Система команд  список всех командных слов
языка Ассемблер для данного типа процессора. Следует отметить, что это наиболее частое употребление этого
термина.
    В широком смысле архитектура охватывает понятие организации системы, включающее такие высокоуровневые
аспекты разработки компьютера, как систему памяти, структуру системной шины, организацию ввода/вывода и
т.п.

современном этапе развития вычислительной техники, являются архитектуры CISC и RISC.
        RISC   (Reduced  (Restricted)   Instruction  Set   Computer)      уменьшенный   набор   команд,   которыми   пользуется
микропроцессор компьютера, содержащий только наиболее простые команды.
    Эти процессоры обычно имеют набор однородных регистров универсального назначения, причем их число может
быть большим. Система команд отличается относительной простотой, коды инструкций имеют четкую структуру,
как   правило,   с   фиксированной   длиной.   В   результате   аппаратная   реализация   такой   архитектуры   позволяет   с
небольшими затратами декодировать и выполнять эти инструкции за минимальное число тактов синхронизации.
Определенные преимущества дает и унификация регистров.
    CISC (Complete Instruction Set Computer)  полный набор команд микропроцессора.
    Состав и назначение их регистров существенно неоднородны, широкий набор команд усложняет декодирование
инструкций, на что расходуются аппаратные ресурсы. Возрастает число тактов, необходимое для выполнения
инструкций. К процессорам с полным набором инструкций относится семейство х86.
        Лидером   в   разработке   CISCпроцессоров   считается   компания   Intel   со   своей   серией   x86   и   Pentium.   Эта
архитектура   является   практическим   стандартом   для   рынка   микрокомпьютеров.   Для   CISCпроцессоров
характерно:
     сравнительно небольшое число регистров общего назначения;

операторам высокоуровневых языков программирования и выполняются за много тактов;
     большое количество методов адресации;
     большое количество форматов команд различной разрядности;
     преобладание двухадресного формата команд;
        наличие команд обработки типа регистрпамять.         Основой архитектуры современных рабочих станций и
серверов является RISC архитектура. Понятие RISC сформировалось на базе трех исследовательских проектов:
процессора   801   компании   IBM,   процессора   RISC   университета   Беркли   и   процессора   MIPS   Стенфордского
университета. Главными идеями этих машин было отделение медленной памяти от высокоскоростных регистров и
использование регистровых окон. Эти три процессора имели много общего. Все они придерживались архитектуры,
отделяющей  команды   обработки   от  команд   работы  с  памятью,   и   делали   упор  на   эффективную   конвейерную
обработку.   Система   команд   разрабатывалась   таким   образом,   чтобы   выполнение   любой   команды   занимало
небольшое количество машинных тактов (предпочтительно один машинный такт). Сама логика выполнения команд
с целью повышения производительности ориентировалась на аппаратную, а не на микропрограммную реализацию.
Чтобы   упростить   логику   декодирования   команд,   использовались   команды   фиксированной   длины   и
фиксированного формата.     Среди других особенностей RISC архитектур следует отметить наличие достаточно
большого регистрового файла (в типовых RISCпроцессорах реализуются 32 или большее число регистров по
сравнению   с   816   регистрами   в   CISC   архитектурах),   что   позволяет   большему   объему   данных   храниться   в
регистрах на процессорном кристалле более длительное время и упрощает работу компилятора по распределению
регистров под переменные. Для обработки данных процессора с RISC архитектурой, как правило, используются
трехадресные   команды,   что   помимо   упрощения   дешифрации   дает   возможность   сохранять   большее   число
переменных в регистрах без их последующей перезагрузки.     Ко времени завершения университетских проектов
(19831984 гг.) обозначился также прорыв в технологии изготовления сверхбольших интегральных схем. Простота
архитектуры и ее эффективность, подтвержденная этими проектами, вызвали большой интерес в компьютерной
индустрии и с 1986 года началась активная промышленная реализация архитектуры RISC. К настоящему времени
эта  архитектура   прочно   занимает   лидирующие   позиции   на   мировом   компьютерном   рынке   рабочих   станций   и
серверов.       Развитие архитектуры RISC в значительной степени определялось прогрессом в области создания
оптимизирующих компиляторов. Именно современная техника компиляции позволяет эффективно использовать
преимущества большего регистрового файла, конвейерной организации и большей скорости выполнения команд.
Современные компиляторы используют также преимущества другой оптимизационной техники для повышения
производительности,   обычно   применяемой   в   процессорах   RISC:   реализацию   задержанных   переходов   и
суперскалярной обработки, позволяющей в один и тот же момент времени выдавать на выполнение несколько
команд.  Следует отметить, что в последних разработках компании Intel, а также ее последователейконкурентов
(AMD, Cyrix и др.) широко используются идеи, реализованные в RISCмикропроцессорах, так что многие различия между   CISC   и  RISC  стираются.   Однако   сложность   архитектуры   и  системы   команд   x86  остается   и  является
главным фактором, ограничивающим производительность процессоров на ее основе.

file_name: тема 1 вопрос 22.docx

intro:
Для устранения недостатка в Pentium реализованы раздельные кэш для команд и данных, позволяющие после переходов перезагружать лишь команды - такое решение называется Гарвардской архитектурой, а также предсказание переходов, снижающее частоту перезагрузок. Последнее достигается предварительной загрузкой в кэш команд с обоих разветвлений. Введение второго целочисленного тракта, состоящего из АЛУ, адресного блока, шин данных/команд, и работающего на общий блок регистров, повысило производительность поддержкой параллельной обработки целочисленных данных. Развитием данной тенденции стало обогащение Pentium MMX мультимедийным трактом, образованным АЛУ, шинами данных/команд и регистровым файлом.
При этом в случае выборки двух целочисленных команд, зависящих по данным, каждая из них выполняется последовательно, что снижает эффективность работы процессора.

title: Лекция "RISC и  CISC архитектуры"


extracted_text:
тема 1 вопрос 23
назначение и характеристики системы прерываний. порядок обработки прерывания
Назначение и типы прерываний Прерывания являются основной движущей силой любой
операционной системы. Отключите систему прерываний — и «жизнь» в операционной
системе немедленно остановится. Периодические прерывания от таймера вызывают смену
процессов в мультипрограммной ОС, а прерывания от устройств вводавывода управляют
потоками данных, которыми вычислительная система обменивается с внешним миром. Как
верно было замечено: «Прерывания названы так весьма удачно, поскольку они прерывают
нормальную работу системы»1. Другими словами, система прерываний переводит
процессор на выполнение потока команд, отличного от того, который выполнялся до сих
пор, с последующим возвратом к исходному коду. Из сказанного можно сделать вывод о
том, что механизм прерываний очень похож на механизм выполнения процедур. Это на
самом деле так, хотя между этими механизмами имеется важное отличие. Переключение
по прерыванию отличается от переключения, которое происходит по команде
безусловного или условного перехода, предусмотренной программистом в потоке команд
приложения. Переход по команде происходит в заранее определенных программистом
точках программы в зависимости от исходных данных, обрабатываемых программой.
Прерывание же происходит в произвольной точке потока команд программы, которую
программист не может прогнозировать. Прерывание возникает либо в зависимости от
внешних по отношению к процессу выполнения программы событий, либо при появлении
непредвиденных аварийных ситуаций в процессе выполнения данной программы. Сходство
же прерываний с процедурами состоит в том, что в обоих случаях выполняется некоторая
подпрограмма, обрабатывающая специальную ситуацию, а затем продолжается
выполнение основной ветви программы. 1 Скотт Максвелл. Ядро Linux в комментариях.
— К. ДиаСофт, 2000. В зависимости от источника прерывания делятся на три больших
класса: внешние; внутренние; программные. Внешние прерывания могут возникать в
результате действий пользователя или оператора за терминалом, или же в результате
поступления сигналов от аппаратных устройств — сигналов завершения операций ввода
вывода, вырабатываемых контроллерами внешних устройств компьютера, такими как
принтер или накопитель на жестких дисках, или же сигналов от датчиков управляемых
компьютером технических объектов. Внешние прерывания называют также аппаратными,
отражая тот факт, что прерывание возникает вследствие подачи некоторой аппаратурой
(например, контроллером принтера) электрического сигнала, который передается
(возможно, проходя через другие блоки компьютера, например контроллер прерываний) на
специальный вход прерывания процессора. Данный класс прерываний является
асинхронным по отношению к потоку инструкций прерываемой программы. Аппаратура
процессора работает так, что асинхронные прерывания возникают между выполнением
двух соседних инструкций, при этом система после обработки прерывания продолжает
выполнение процесса, уже начиная со следующей инструкции. Внутренние прерывания,
называемые также исключениями (exeption), происходят синхронно выполнению
программы при появлении аварийной ситуации в ходе исполнения некоторой инструкции
программы. Примерами исключений являются деление на нуль, ошибки защиты памяти,
обращения по несуществующему адресу, попытка выполнить привилегированную
инструкцию в пользовательском режиме и т. п. Исключения возникают непосредственно в
ходе выполнения тактов команды («внутри» выполнения). Программные прерывания
отличаются от предыдущих двух классов тем, что они по своей сути не являются
«истинными» прерываниями. Программное прерывание возникает при выполнении особой
команды процессора, выполнение которой имитирует прерывание, то есть переход на
новую последовательность инструкций. Причины использования программных прерываний
вместо обычных инструкций вызова процедур будут изложены ниже, после рассмотрения
механизма прерываний. Прерываниям приписывается приоритет, с помощью которого они ранжируются по степени важности и срочности. О прерываниях, имеющих одинаковое
значение приоритета, говорят, что они относятся к одному уровню приоритета
прерываний. Прерывания обычно обрабатываются модулями операционной системы, так
как действия, выполняемые по прерыванию, относятся к управлению разделяемыми
ресурсами вычислительной системы — принтером, диском, таймером, процессором и т. п.
Процедуры, вызываемые по прерываниям, обычно называют обработчиками прерываний,
или процедурами обслуживания прерываний (Interrupt Service Routine, /57?). Аппаратные
прерывания обрабатываются драйверами соответствующих внешних устройств,
исключения — специальными модулями ядра, а программные прерывания — процедурами
ОС, обслуживающими системные вызовы. Кроме этих модулей в операционной системе
может находиться так называемый диспетчер прерываний, который координирует работу
отдельных обработчиков прерываний. Механизм прерываний Механизм прерываний
поддерживается аппаратными средствами компьютера и программными средствами
операционной системы. Аппаратная поддержка прерываний имеет свои особенности,
зависящие от типа процессора и других аппаратных компонентов, передающих сигнал
запроса прерывания от внешнего устройства к процессору (таких, как контроллер
внешнего устройства, шины подключения внешних устройств, контроллер прерываний,
являющийся посредником между сигналами шины и сигналами процессора). Особенности
аппаратной peaлизации прерываний оказывают влияние на средства программной
поддержки прерываний, работающие в составе ОС. Существуют два основных способа, с
помощью которых шины выполняют прерывания: векторный (vectored) и опрашиваемый
(polled). В обоих способах процессору предоставляется информация об уровне приоритета
прерывания на шине подключения внешних устройств. В случае векторных прерываний в
процессор передается также информация о начальном адресе программы обработки
возникшего прерывания — обработчика прерываний. Устройствам, которые используют
векторные прерывания, назначается вектор прерываний. Он представляет собой
электрический сигнал, выставляемый на соответствующие шины процессора и несущий в
себе информацию об определенном, закрепленном за данным устройством номере,
который идентифицирует соответствующий обработчик прерываний. Этот вектор может
быть фиксированным, конфигурируемым (например, с использованием переключателей)
или программируемым. Операционная система может предусматривать процедуру
регистрации вектора обработки прерываний для определенного устройства, которая
связывает некоторую подпрограмму обработки прерываний с определенным вектором.
При получении сигнала запроса прерывания процессор выполняет специальный цикл
подтверждения прерывания, в котором устройство должно идентифицировать себя. В
течение этого цикла устройство отвечает, выставляя на шину вектор прерываний. Затем
процессор использует этот вектор для нахождения обработчика данного прерывания.
Примером шины подключения внешних устройств, которая поддерживает векторные
прерывания, является шина VMEbus. При использовании опрашиваемых прерываний
процессор получает от запросившего прерывание устройства только информацию об
уровне приоритета прерывания (например, номере IRQ на шине ISA или номере IPL на
шине SBus компьютеров SPARC). С каждым уровнем прерываний может быть связано
несколько устройств и соответственно несколько программ — обработчиков прерываний.
При возникновении прерывания процессор должен определить, какое устройство из тех,
которые связаны с данным уровнем прерываний, действительно запросило прерывание.
Это достигается вызовом всех обработчиков прерываний для данного уровня приоритета,
пока один из обработчиков не подтвердит, что прерывание пришло от обслуживаемого им
устройства. Если же с каждым уровнем прерываний связано только одно устройство, то
определение нужной программы обработки прерывания происходит немедленно, как и при
векторном прерывании. Опрашиваемые прерывания поддерживают шины ISA, EISA, MCA,
PCI и Sbus. Механизм прерываний некоторой аппаратной платформы может сочетать
векторный и опрашиваемый типы прерываний. Типичным примером такой реализации является платформа персональных компьютеров на основе процессоров Intel Pentium.
Шины PCI, ISA, EISA или MCA, используемые в этой платформе в качестве шин
подключения внешних устройств, поддерживают механизм опрашиваемых прерываний.
Контроллеры периферийных устройств выставляют на шину не вектор, а сигнал запроса
прерывания определенного уровня IRQ. Однако в процессоре Pentium система прерываний
является векторной. Вектор прерываний в процессор Pentium поставляет контроллер
прерываний, который отображает поступающий от шины сигнал IRQ на определенный
номер вектора. Вектор прерываний, передаваемый в процессор, представляет собой целое
число в диапазоне от 0 до 255, указывающее на одну из 256 программ обработки
прерываний, адреса которых хранятся в таблице обработчиков прерываний. В том случае,
когда к каждой линии IRQ подключается только одно устройство, процедура обработки
прерываний работает так, как если бы система прерываний была чисто векторной, то есть
процедура не выполняет никаких дополнительных опросов для выяснения того, какое
именно устройство запросило прерывание. Однако при совместном использовании одного
уровня IRQ несколькими устройствами программа обработки прерываний должна
работать в соответствии со схемой опрашиваемых прерываний, то есть дополнительно
выполнить опрос всех устройств, подключенных к данному уровню IRQ. Механизм
прерываний чаще всего поддерживает приоритезацию и маскирование прерываний.
Приоритезация означает, что все источники прерываний делятся на классы и каждому
классу назначается свой уровень приоритета запроса на прерывание. Приоритеты могут
обслуживаться как относительные и абсолютные. Обслуживание запросов прерываний по
схеме с относительными приоритетами заключается в том, что при одновременном
поступлении запросов прерываний из разных классов выбирается запрос, имеющий высший
приоритет. Однако в дальнейшем при обслуживании этого запроса процедура обработки
прерывания уже не откладывается даже в том случае, когда появляются более
приоритетные запросы — решение о выборе нового запроса принимается только в момент
завершения обслуживания очередного прерывания. Если же более приоритетным
прерываниям разрешается приостанавливать работу процедур обслуживания менее
приоритетных прерываний, то это означает, что работает схема приоритезации с
абсолютными приоритетами. Если процессор (или компьютер, когда поддержка
приоритезации прерываний вынесена во внешний по отношению к процессору блок)
работает по схеме с абсолютными приоритетами, то он поддерживает в одном из своих
внутренних регистров переменную, фиксирующую уровень приоритета обслуживаемого в
данный момент прерывания. При поступлении запроса из определенного класса его
приоритет сравнивается с текущим приоритетом процессора, и если приоритет запроса
выше, то текущая процедура обработки прерываний вытесняется, а по завершении
обслуживания нового прерывания происходит возврат к прерванной процедуре.
Упорядоченное обслуживание запросов прерываний наряду со схемами приоритетной
обработки запросов может выполняться механизмом маскирования запросов. Собственно
говоря, в описанной схеме абсолютных приоритетов выполняется маскирование — при
обслуживании некоторого запроса все запросы с равным или более низким приоритетом
маскируются, то есть не обслуживаются. Схема маскирования предполагает возможность
временного маскирования прерываний любого класса независимо от уровня приоритета.
Обобщенно последовательность действий аппаратных и программных средств по
обработке прерывания можно описать следующим образом. 1. При возникновении сигнала
(для аппаратных прерываний) или условия (для внутренних прерываний) прерывания
происходит первичное аппаратное распознавание типа прерывания. Если прерывания
данного типа в настоящий момент запрещены (приоритетной схемой или механизмом
маскирования), то процессор продолжает поддерживать естественный ход выполнения
команд. В противном случае в зависимости от поступившей в процессор информации
(уровень прерывания, вектор прерывания или тип условия внутреннего прерывания)
происходит автоматический вызов процедуры обработки прерывания, адрес которой находится в специальной таблице операционной системы, размещаемой либо в регистрах
процессора, либо в определенном месте оперативной памяти. 2. Автоматически
сохраняется некоторая часть контекста прерванного потока, которая позволит ядру
возобновить исполнение потока процесса после обработки прерывания. В это
подмножество обычно включаются значения счетчика команд, слова состояния машины,
хранящего признаки основных режимов работы процессора (пример такого слова —
регистр EFLA6S в Intel Pentium), а также нескольких регистров общего назначения,
которые требуются программе обработки прерывания. Может быть сохранен и полный
контекст процесса, если ОС обслуживает данное прерывание со сменой процесса. Однако
в общем случае это не обязательно, часто обработка прерываний выполняется без
вытеснения текущего процесса1. 1 Решение о перепланировании процессов может быть
принято в ходе обработки прерывания, например, если это прерывание от таймера и после
наращивания значения системных часов выясняется, что процесс исчерпал выделенный
ему квант времени. Однако это совсем не обязательно — прерывание может выполняться
и без смены процесса, например прием очередной порции данных от контроллера внешнего
устройства чаще всего происходит в рамках текущего процесса, хотя данные, скорее
всего, предназначены другому процессу. 3. Одновременно с загрузкой адреса процедуры
обработки прерываний в счетчик команд может автоматически выполняться загрузка
нового значения слова состояния машины (или другой системной структуры, например
селектора кодового сегмента в процессоре Pentium), которое определяет режимы работы
процессора при обработке прерывания, в том числе работу в привилегированном режиме.
В некоторых моделях процессоров переход в привилегированный режим за счет смены
состояния машины при обработке прерывания является единственным способом смены
режима. Прерывания практически во всех мультипрограммных ОС обрабатываются в
привилегированном режиме модулями ядра, так как при этом обычно нужно выполнить
ряд критических операций, от которых зависит жизнеспособность системы, — управлять
внешними устройствами, перепланировать потоки и т. п. 4. Временно запрещаются
прерывания данного типа, чтобы не образовалась очередь вложенных друг в друга потоков
одной и той же процедуры. Детали выполнения этой операции зависят от особенностей
аппаратной платформы, например может использоваться механизм маскирования
прерываний. Многие процессоры автоматически устанавливают признак запрета
прерываний в начале цикла обработки прерывания, в противном случае это делает
программа обработки прерываний. 5. После того как прерывание обработано ядром
операционной системы, прерванный контекст восстанавливается и работа потока
возобновляется с прерванного места. Часть контекста восстанавливается аппаратно по
команде возврата из прерываний (например, адрес следующей команды и слово состояния
машины), а часть — программным способом, с помощью явных команд извлечения данных
из стека. При возврате из прерывания блокировка повторных прерываний данного типа
снимается.
Обработка прерываний, векторы прерываний, программные прерывания, IRQ
Сб, 01/29/2011  16:58
IRQ

 Интерфейс
 Многозадачность
 Особенности ОС

прерывания
Прерывание (interrupt) – это сигнал, заставляющий ЭВМ менять обычный порядок
выполнения команд процессором.
Возникновение подобных сигналов обусловлено такими событиями, как:


завершение операций вводавывода.
истечение заранее заданного интервала времени. 

попытка деления на нуль.
сбой в работе аппаратного устройства и др.
Обработка прерывания
С каждым прерыванием связывают число, называемое номером типа прерывания или
просто номером прерывания. Система умеет распознавать, какое прерывание, с каким
номером оно произошло, и запускает соответствующую этому номеру программу
обработки прерывания. Таким образом, при поступлении сигнала на прерывание
происходит принудительная передача управления от выполняемой программы  к системе, а
через нее  к обработчику прерываний.
Например прерывание с номером 9  прерывание от клавиатуры, которое генерируется
при нажатии и при отжатии клавиши. Используется для чтения данных с клавиатуры.
Обозначается в ОС как IRQ1, где IRQ – обозначение прерывания, а 1 – приоритет
прерывания. Данные о запросах на прерывание можно проанализировать в диспетчере
устройств:
Обработчик прерываний – программа обработки прерывания, являющаяся частью ОС,
предназначенная для выполнения ответных действий на условие, вызвавшее прерывание.
Предположим, что в момент поступления сигнала прерывания от некоторого источника
программа А находится в решении. В результате управление автоматически передается
обработчику прерываний. После завершения обработки управление может быть снова
передано в ту точку программы А, где ее выполнение было прервано:
Порядок обработки прерываний
Прерывания и особые случаи распознаются на границах команд, и программист может не
заботиться о состоянии внутренних рабочих регистров и устройств конвейера.
Реагируя на запросы прерываний, микропроцессор должен идентифицировать его
источник, сохранить минимальный контекст текущей программы и переключиться на
специальную программу  обработчик прерывания. После обслуживания прерывания МП
возвращается к прерванной программе, и она должна возобновиться так, как будто
прерывания не было.
Обработка запросов прерываний состоит из:


"рефлекторных" действий процессора, которые одинаковы для всех прерываний и
особых случаев и которыми программист управлять не может;
выполнения созданного программистом обработчика. Для того чтобы микропроцессор мог идентифицировать источник прерывания и найти
обработчик, соответствующий полученному запросу, каждому запросу прерывания
присвоен свой номер ( тип прерывания ).
Тип прерывания для программных прерываний вводится изнутри микропроцессора;
например, прерывание по отсутствию страницы в памяти имеет тип 14. Для прерываний,
вызываемых командой INT n, тип содержится в самой команде. Для маскируемых
аппаратных прерываний тип вводится из контроллера приоритетных прерываний по
шине данных. Немаскируемому прерыванию назначен тип 2.
Всего микропроцессор различает 256 типов прерываний. Таким образом, все они могут
быть закодированы в 1 байте.
"Рефлекторные" действия микропроцессора по обработке запроса прерывания
выполняются аппаратными средствами МП и включают в себя:



определение типа прерывания ;
сохранение контекста прерываемой программы (некоторой информации, которая
позволит вернуться к прерванной программе и продолжить ее выполнение). Всегда
автоматически сохраняются как минимум регистры EIP и CS, определяющие точку
возврата в прерванную программу, и регистр флагов EFLAGS. Если вызов
обработчика прерывания проводится с использованием шлюза задачи, то в памяти
полностью сохраняется сегмент состояния TSS прерываемой задачи;
определение адреса обработчика прерывания и передача управления первой
команде этого обработчика.
После этого выполняется программа  обработчик прерывания, соответствующая
поступившему запросу. Эта программа пишется и размещается в памяти прикладным или
системным программистом. Обработчик прерывания должен завершаться командой I RET,
по которой автоматически происходит переход к продолжению выполнения прерванной
программы с восстановлением ее контекста.
Для вызова обработчика прерывания микропроцессор при работе в реальном режиме
использует таблицу векторов прерываний, а в защищенном режиме  таблицу
дескрипторов прерываний.
Таблица векторов прерываний (рис. 7.2) располагается в самых младших адресах
оперативной памяти, имеет объем 1 Кбайт и содержит 4байтные элементы ( векторы
прерываний ) для 256 обработчиков прерываний. Старшие 2 байта вектора загружаются в
сегментный регистр команд CS, а младшие 2 байта  в регистр указателя команд IP.
Обращение к элементам таблицы осуществляется по 8разрядному коду  типу
прерывания. Так как таблица всегда имеет нулевой начальный адрес и длину вектора в 4
байта, чтобы определить адрес вектора для прерывания типа i, достаточно просто
умножить это значение на 4.
В защищенном режиме для вызова обработчика прерывания используется таблица
дескрипторов прерываний IDT. Элементами таблицы являются 8байтные дескрипторы
типа шлюз пециальные программные структуры, через которые происходит передача
управления обработчику. Рис. 7.2. Таблица векторов прерываний
Обращение к IDT аналогично обращению к глобальной таблице дескрипторов, где вместо
системного регистра GDT R используется регистр IDTR, который определяет размер и
базовый адрес таблицы в памяти.
Физический адрес дескриптора шлюза, находящегося в IDT, определяется как сумма
базового адреса таблицы и умноженного на 8 типа прерывания (рис. 7.3).
Рис. 7.3. Порядок обращения к таблице дескрипторов прерываний
Содержимое регистра IDTr не сохраняется в сегментах TSS и не изменяется при
переключении задачи. Программы не могут обратиться к IDT, так как единственный бит TI
индикатора таблицы в селекторе сегмента обеспечивает выбор только между таблицами
GDT и LDT.
Максимальный предел таблицы дескрипторов прерываний составляет 256*8  1 = 2047.
Можно определить предел меньшим, но это не рекомендуется. Если происходит обращение
к дескриптору вне пределов IDT, процессор переходит в режим отключения до получения
сигнала по входу NMI или сброса.
В IDT могут храниться только дескрипторы следующих типов:
 шлюз ловушки,
 шлюз прерывания, шлюз задачи.
Шлюзы ловушки и прерывания сходны со шлюзом вызова, только в них отсутствует поле
счетчика WC (рис. 7.4). Так как прерывание является неожиданным событием и не связано
с текущей программой, говорить о передаче параметров их обработчику не приходится.
Рис. 7.4. Формат шлюзов ловушки и прерывания Бит S = 0 в байте доступа определяет этот дескриптор как системный объект. Если поле
ТИП в байте доступа равно 1110, то это шлюз прерывания, если 1111  то шлюз
ловушки.
Поле уровня привилегий дескриптора DPL, как правило, устанавливается равным 3 с тем,
чтобы к обработчику прерываний могли обращаться программы с любого уровня
привилегий.
Бит присутствия P может быть равен как 0, так и 1.
При входе в обработчик через шлюз прерывания в регистре флагов сбрасывается бит
разрешения прерываний IF. В этом случае микропроцессор блокирует все маскируемые
аппаратные прерывания. Поэтому в обработчике прерываний этот бит должен быть
установлен в 1 как можно раньше с тем, чтобы не блокировать работу программ, которые
вызываются, например, при обработке прерываний от системного таймера.
При входе в обработчик через шлюз ловушки флаг IF не меняется.
Вызов обработчика через шлюз ловушки, а не шлюз прерывания, чаще реализуют при
обработке исключений, так как на период обслуживания прерывания нежелательно
выключать механизм разделения времени, использующий прерывания таймера.
Вызов обработчика через шлюз задачи обычно осуществляется при обработке аппаратных
прерываний, так как такая обработка не связана с текущей выполняемой задачей. При этом
возможен механизм вложенных прерываний, если прерывания в задаче разрешены. Вызов
обработчика прерывания через шлюз задачи осуществляется и при обработке исключений,
например, "неразрешенный TSS ", когда поврежденная задача не может вызвать процедуру
прерывания. Переключение задач требует примерно в 5 раз больше времени, чем вызов
процедуры. Поэтому, если приоритет запроса высок, а программа обслуживания короткая,
ее оформляют в виде процедуры.

file_name: тема 1 вопрос 23.docx

информатика

group: Дисциплины

title: Лекция "назначение и характеристики системы прерываний. "


extracted_text:
тема 1 вопрос 24
иерархическая структура памяти эвм. уровни иерархии назначение зу различных типов
Память часто называют «узким местом» фоннеймановских ВМ изза ее серьезного отставания по
быстродействию от процессоров, причем разрыв этот неуклонно увеличивается.
При создании системы памяти постоянно приходится решать задачу обеспечения требуемой емкости
и высокого быстродействия за приемлемую цену. Наиболее распространенным подходом здесь
является построение системы памяти ВМ по иерархическому принципу. Иерархическая память
состоит из ЗУ различных типов (рис. 3.1), которые, в зависимости от характеристик, относят к
определенному уровню иерархии. Более высокий уровень меньше по емкости, быстрее и имеет
большую стоимость в пересчете на бит, чем более низкий уровень. Уровни иерархии взаимосвязаны:
все данные на одном уровне могут быть также найдены на более низком уровне, и все данные на этом
более низком уровне могут быть найдены на следующем нижележащем уровне и т.д.
Самый быстрый, но и минимальный по емкости тип памяти – это внутренние регистры ЦП,
которые иногда объединяют понятием сверхоперативное запоминающее устройство – СОЗУ. Как
правило, количество регистров невелико, хотя в архитектурах с сокращенным набором команд их
число может доходить до нескольких сотен. Основная память (ОП), значительно большей емкости,
располагается несколькими уровнями ниже. Между регистрами ЦП и основной памятью часто
размещают кэшпамять, которая по емкости ощутимо проигрывает ОП, но существенно превосходит
последнюю по быстродействию, уступая в то же время СОЗУ. В большинстве современных ВМ
имеется несколько уровней кэшпамяти, которые обозначают буквой L и номером уровня кэшпамяти.
На рис.3.1. показаны два таких уровня. В последних разработках все чаще появляется также третий
уровень кэшпамяти (L3), причем разработчики ВМ говорят о целесообразности введения и
четвертого уровня – L4. Каждый последующий уровень кэшпамяти имеет большую емкость, но
одновременно и меньшее быстродействие по сравнению с предыдущим. Как бы то ни было, по
«скорости» любой уровень кэшпамяти превосходит основную память. Все виды внутренней памяти
реализуются на основе полупроводниковых технологий и в основном, являются энергозависимыми.
Долговременное хранение больших объемов информации (программ и данных) обеспечивается
внешними ЗУ, среди которых в настоящее время наиболее распространены запоминающие устройства
на базе магнитных и оптических дисков, а также магнитоленточные ЗУ.
Наконец, еще один уровень иерархии может быть добавлен между основной памятью и дисками. Этот
уровень носит название дисковой кэшпамяти и реализуется в виде самостоятельного ЗУ,
включаемого в состав магнитного диска. Дисковая кэшпамять существенно улучшает
производительность при обмене информацией между дисками и основной памятью.
Четыре верхних уровня иерархии образуют внутреннюю память ВМ, а все нижние уровни – это
внешняя или вторичная память. По мере движения вниз по иерархической структуре:
1. Уменьшается соотношение «стоимость/бит».
2. Возрастает емкость.
3. Растет время доступа.
4. Уменьшается частота обращения к памяти со стороны центрального процессора.
Если память организована в соответствии с пунктами 13, а характер размещения в ней данных и
команд удовлетворяет пункту 4, иерархическая организация ведет к уменьшению общей стоимости
при заданном уровне производительности. Справедливость этого утверждения вытекает из принципа
локальности по обращению. Если рассмотреть процесс выполнения большинства программ, то можно
заметить, что с очень высокой вероятностью адрес очередной команды программы либо следует
непосредственно за адресом, по которому была считана текущая команда, либо расположен вблизи
него. Такое расположение адресов называется пространственной локальностью программы.
Обрабатываемые данные, как правило, структурированы, и такие структуры обычно хранятся в
последовательных ячейках памяти. Данная особенность программ называется пространственной
локальностью данных. Кроме того, программы содержат множество небольших циклов и
подпрограмм. Это означает, что небольшие наборы команд могут многократно повторяться в течение
некоторого интервала времени, то есть имеет место временная локальность. Все три вида локальности объединяет понятие локальность по обращению. Принцип локальности часто облекают в
численную форму и представляют в виде так называемого правила «90/10»: 90% времени работы
программы связано с доступом к 10% адресного пространства этой программы.
Из свойства локальности вытекает, что программу разумно представить в виде последовательно
обрабатываемых фрагментов – компактных групп команд и данных. Помещая такие фрагменты в
более быструю память, можно существенно снизить общие задержки на обращение, поскольку
команды и данные, будучи один раз переданы из медленного ЗУ в быстрое, затем могут
использоваться многократно, и среднее время доступа к ним в этом случае определяется уже более
быстрым ЗУ. Это позволяет хранить большие программы и массивы данных на медленных, емких, но
дешевых ЗУ, а в процессе обработки активно использовать сравнительно небольшую быструю память,
увеличение емкости которой сопряжено с высокими затратами.
На каждом уровне иерархии информация разбивается на блоки, выступающие в качестве наименьшей
информационной единицы, пересылаемой между двумя соседними уровнями иерархии. Размер блоков
может быть фиксированным либо переменным. При фиксированном размере блока емкость памяти
обычно кратна его размеру. Размер блоков на каждом уровне иерархии чаще всего различен и
увеличивается от верхних уровней к нижним.
При доступе к командам и данным, например, для их считывания, сначала производится поиск в
памяти верхнего уровня. Факт обнаружения нужной информации называют попаданием (hit), в
противном случае говорят о промахе (miss). При промахе производится поиск в ЗУ следующего более
низкого уровня, где также возможны попадание или промах. После обнаружении необходимой
информации выполняется последовательная пересылка блока, содержащего искомую информацию, с
нижних уровней на верхние. Следует отметить, что независимо от числа уровней иерархии пересылка
информации может осуществляться только между двумя соседними уровнями.
При оценке эффективности подобной организации памяти обычно используют следующие
характеристики:
 коэффициент попаданий (hit rate) – отношение числа обращений к памяти, при которых произошло
попадание, к общему числу обращений к ЗУ данного уровня иерархии;
 коэффициент промахов (miss rate) – отношение числа обращений к памяти, при которых имел место
промах, к общему числу обращений к ЗУ данного уровня иерархии;
 время обращения при попадании (hit time) – время, необходимое для поиска нужной информации в
памяти верхнего уровня (включая выяснение, является ли обращение попаданием), плюс время на
фактическое считывание данных;
 потери на промах (miss penalty) – время, требуемое для замены блока в памяти более высокого
уровня на блок с нужными данными, расположенный в ЗУ следующего (более низкого) уровня.
Потери на промах включают в себя: время доступа (access time) – время обращения к первому слову
блока при промахе и время пересылки (transfer time) – дополнительное время для пересылки
оставшихся слов блока. Время доступа обусловлено задержкой памяти более низкого уровня, в то
время как время пересылки связано с полосой пропускания канала между ЗУ двух смежных уровней.
Описание некоторого уровня иерархии ЗУ предполагает конкретизацию четырех моментов:
 размещения блока – допустимого места расположения блока на примыкающем сверху уровне
иерархии;
 идентификации блока – способа нахождения блока на примыкающем сверху уровне;
 замещения блока – выбора блока, заменяемого при промахе с целью освобождения места для нового
блока;
 согласования копий (стратегии записи) – обеспечения согласованности копий одних и тех же блоков,
расположенных на разных уровнях, при записи новой информации в копию, находящуюся на более
высоком уровне.
Иерархия может быть дополнена и другими видами памяти. Так, некоторые модели ВМ фирмы IBM
включают в себя так называемую расширенную память (expanded storage), выполненную на основе
полупроводниковой технологии, но имеющую меньшее быстродействие и стоимость по сравнению с
ОП. Строго говоря, этот вид памяти не входит в иерархию, а представляет собой ответвление от нее,
поскольку данные могут передаваться только между расширенной и основной памятью, но не
допускается обмен между расширенной и внешней памятью. 17.2 Иерархическая структура памяти.
Иерархическая структура памяти является традиционным решением проблемы хранения
большого количества данных. На самом верху находятся регистры процессора. Доступ к
регистрам осуществляется быстрее всего. Дальше идет кэшпамять, объем которой сейчас
составляет от 32 Кбайт до нескольких мегабайт. Затем следует основная память, которая
в настоящее время может вмещать от 16 Мбайт до десятков гигабайтов. Далее идут
магнитные диски и, наконец, накопители на магнитной ленте и оптические диски, которые
используются для хранения архивной информации.
По мере продвижения по структуре сверху вниз возрастают три параметра. Вопервых,
увеличивается время доступа. Доступ к регистрам занимает несколько наносекунд, доступ
к кэшпамяти — немного больше, доступ к основной памяти — несколько десятков
наносекунд. Дальше идет большой разрыв: доступ к дискам занимает по крайней мере 10
мкс, а время доступа к магнитным лентам и оптическим дискам вообще может измеряться
в секундах (поскольку эти накопители информации еще нужно взять и поместить в
соответствующее устройство).
Вовторых, увеличивается объем памяти. Регистры могут содержать в лучшем случае 128
байтов, кэшпамять — несколько мегабайтов, основная память — десятки тысяч
мегабайтов, магнитные диски — от нескольких гигабайтов до нескольких десятков
гигабайтов. Магнитные ленты и оптические диски хранятся автономно от компьютера,
поэтому их объем ограничивается только финансовыми возможностями владельца.
Втретьих, увеличивается количество битов, которое вы получаете за 1 доллар. Стоимость
объема основной памяти измеряется в долларах за мегабайт, объем магнитных дисков — в
пенни за мегабайт, а объем магнитной ленты — в долларах за гигабайт или еще дешевле.
Характеристики и классификация запоминающих устройств. Иерархия систем памяти
Под запоминающими устройствами (ЗУ, память) будем понимать совокупность устройств
для запоминания, хранения и выдачи информации. Память является одним из основных
ресурсов компьютера, влияющим как на производительность, так и на функциональность
вычислительной машины.
К основным характеристикам устройств памяти можно отнести:
1) Временные характеристики :
 быстродействие  определяется временем выборки, временем обращения и другими
параметрами.
– время собственно записи. Таким образом, процесс чтения/записи ЗУ в общем случае
включает ряд этапов разной сложности и длительности.
 производительность – определяется пропускной способностью ЗУ, то есть – объемом
информации, который можно считать/записать из/в ЗУ в единицу времени. Для оценки
производительности часто используют показатель длительности цикла обращения к
памяти tц, под которым понимают минимальное время между сменой информации на
выходе/ входе ЗУ.
2) Важнейшей потребительской характеристикой ЗУ является его объем, или емкость
памяти (Е), то есть количество запоминаемой информации. В зависимости от типа ЗУ, его
места в вычислительной системе, объем может меняться от десятков байт (для
регистровой памяти ЦП) до десятков и сотен
гигабайт (для массивов накопителей на магнитных дисках). Наряду с характеристикой
емкости памяти применяют также удельную емкость по отношению к единице площади
или объема кристалла :
Eуд = E/Sкр.
Такая характеристика в большей степени характеризует технологические особенности ЗУ.
3) Третьей важнейшей потребительской характеристикой ЗУ, как и любого
вычислительного устройства, является его стоимость, которая также может меняться в
самых широких пределах в зависимости от объема, производительности и других
характеристик. Распространенной
характеристикой является удельная стоимость в расчете на единицу информации (стоимость одного бита/байта, кило и мегабайта и т.д.) Помимо перечисленных можно
отметить множество других характеристик ЗУ, в том числе: технологию изготовления,
потребность во внешнем источнике
питания для хранения информации, длительность хранения, количество циклов чтения и
записи, геометрические размеры, и так далее. С учетом приведенных характеристик, а
также – назначения ЗУ, места, занимаемого ЗУ в вычислительной системе, можно
привести, например,
следующую классификацию ЗУ:
1. По удаленности от процессора :
 сверхоперативная (регистры процессора, КЭШ память);
 основная (оперативная) память ;
 дополнительная память (внешняя) ;
 вторичная память (также внешняя) ;
 массовая память (внешняя, как правило, на доступных сменных носителях).
2. По организации записи :
 постоянное запоминающее устройство – ПЗУ (ROM – readonly memory)
– однократно программируемое изготовителем устройство только для
чтения;
 перепрограммируемое запоминающее устройство – ППЗУ (PROM) – возможно
перепрограммире, которое, однако, требует специальной процедуры, колво циклов
записи намного меньше циклов чтения;
 оперативное запоминающее устройство  ОЗУ (RAM – random access memory)
количество циклов чтения может совпадать с количеством циклов записи.
Строго говоря, приведенные отечественные и импортные сокращения для двух основных
типов памяти не вполне точно отражают приведенное деление памяти по организации
записи, но являются исторически сложившимися и общепринятыми.
3. По организации доступа :
 с последовательным доступом (tдост меняется для различных адресов или участков
памяти – чем старше адрес, тем больше время доступа);
 с прямым доступом (tдост = const для различных адресов или участков
памяти).
4. По организации поиска ячеек в памяти:
 «Мпоиск» – поиск по месту (например, в адресном ОЗУ);
 «Впоиск» – поиск по времени (например, при работе с накопителем на магнитной ленте).
5. По физическому эффекту (технологии), используемому для запоминания
и хранения информации :
 полупроводниковая память, магнитная, магнитооптическая, оптическая,
электростатическая и др.
6. ОЗУ по способу хранения делится на :
 статическое (на триггерах);
 динамическое (на конденсаторах).
7. По способу адресации:
 адресная память;
 стековая память;
 ассоциативная память.
8. По организации памяти в систему:
 память с расслоением;
 виртуальная память;
 кэшпамять;
 различные варианты блочноконвейерных систем.
9. По зависимости от источника питания:
 энергозависимая;
 энергонезависимая. Как и ранее, при классификации вычислительных машин, отметим, что выбранные
классификационные признаки не являются всеобъемлющими или обязательными, просто
они отражают некоторые важные особенности классифицируемых систем.
Рассматривая характеристики и классификацию ЗУ, с учетом их многообразия нельзя не
упомянуть об иерархии систем памяти в составе вычислительной системы. Как мы
помним, принцип иерархического построения систем памяти заложен еще в фон
неймановской архитектуре, в те годы, когда большинства современных ЗУ и их типов не
существовало. Однако и тогда существовала относительно быстрая и дорогая
энергозависимая оперативная память, и внешняя память – более дешевая, намного более
медленная, но при этом энергонезависимая. Сейчас иерархия выглядит намного сложнее,
но общий принцип ее построения остается в основном неизменным На верхнем уровне
иерархии располагается наиболее быстрая и дорогая регистровая память процессора, а
также – буферная кэшпамять первого уровня, расположенная в кристалле процессора. К
ней примыкает кэшпамять второго уровня, выполняемая в одном корпусе с процессором,
либо – на системной плате.
На следующем уровне находится оперативная (чаще всего – динамическая) память
достаточно большого объема. Эти уровни вместе с процессорами образуют ядро ВС в
архитектуре фонНеймана. На более низких уровнях располагается внешняя память –
внешние устройства, взаимодействующие с
ядром по каналам вводавывода. В качестве вторичной памяти можно указать НЖМД
(HDD) – накопители на жестких магнитных дисках – пожалуй, наиболее
быстродействующую внешнюю память, при этом со значительным объемом. К массовой
памяти можно отнести разнообразные сменные носители информации, различающиеся как
по объему, так и по времени доступа (накопители на гибких магнитных дисках, магнитной
ленте, CDROM – диски и т.д.), которые объединяет, пожалуй, относительно низкая
удельная стоимость. Легко заметить, что при движении по иерархии сверху вниз
происходит снижение удельной стоимости хранения информации, рост объемов ЗУ и
падение производительности. Подобное построение систем памяти в ВС объясняется, с
одной стороны,
различной функциональной направленностью ЗУ (оперативное хранение небольших
объемов информации в ОЗУ, либо – долговременное хранение больших объемов данных на
дисковой памяти), а с другой  попыткой достичь болееменее приемлемого соотношения
между ценой и производительностью (а также функциональностью) вычислительной
системы, что являлось актуальным как на заре вычислительной техники, так и сейчас.

file_name: тема 1 вопрос 24.docx

intro: Самый быстрый, но и минимальный по емкости тип памяти – это внутренние регистры ЦП, которые иногда объединяют понятием сверхоперативное запоминающее устройство – СОЗУ. Как правило, количество регистров невелико, хотя в архитектурах с сокращенным набором команд их число может доходить до нескольких сотен. Основная память (ОП), значительно большей емкости, располагается несколькими уровнями ниже. Между регистрами ЦП и основной памятью часто размещают кэш-память, которая по емкости ощутимо проигрывает ОП, но существенно превосходит последнюю по быстродействию, уступая в то же время СОЗУ. В большинстве современных ВМ имеется несколько уровней кэш-памяти, которые обозначают буквой L и номером уровня кэш-памяти

title: Лекция "иерархическая структура памяти эвм. "


extracted_text:
тема 1 вопрос 25
назначение и характеристики кэш памяти
Что такое кэшпамять и её структура
Кэшпамять   –   это   сверхбыстрая   память   используемая   процессором,   для   временного
хранения данных, которые наиболее часто используются. Вот так, вкратце, можно описать
данный тип памяти.
Кэшпамять построена на триггерах, которые, в свою очередь, состоят из транзисторов.
Группа транзисторов занимает гораздо больше места, нежели те же самые конденсаторы, из
которых   состоит  оперативная   память.   Это   тянет   за   собой   множество   трудностей   в
производстве, а также ограничения в объёмах. Именно поэтому кэш память является очень
дорогой   памятью,   при   этом   обладая   ничтожными   объёмами.   Но   из   такой   структуры,
вытекает главное преимущество такой памяти – скорость. Так как триггеры не нуждаются
в регенерации, а время задержки вентиля, на которых они собраны, невелико, то время
переключения триггера из одного состояния в другое происходит очень быстро. Это и
позволяет кэшпамяти работать на таких же частотах, что и современные процессоры.
Как   уже   упоминалось   выше,   главное   назначение   кэшпамяти   –   это   хранение   данных,
которые часто используются процессором. Кэш является буфером, в который загружаются
данные,   и,   несмотря   на   его   небольшой   объём,   (около   416   Мбайт)   в  современных
процессорах, он дает значительный прирост производительности в любых приложениях.
Чтобы лучше понять необходимость кэшпамяти, давайте представим себе организацию
памяти   компьютера   в   виде   офиса.   Оперативная   память   будет   являть   собою   шкаф   с
папками, к которым периодически обращается бухгалтер, чтобы извлечь большие блоки
данных (то есть папки). А стол, будет являться кэшпамятью.
Есть такие элементы, которые размещены на столе бухгалтера, к которым он обращается в
течение часа по несколько раз. Например, это могут быть номера телефонов, какието
примеры документов. Данные виды информации находятся прямо на столе, что, в свою
очередь,увеличивает скорость доступа к ним.
Точно так же, данные могут добавиться из тех больших блоков данных (папок), на стол,
для   быстрого   использования,   к   примеру,   какойлибо   документ.   Когда   этот   документ
становится не нужным, его помещают назад в шкаф (в оперативную память), тем самым
очищая стол (кэшпамять) и освобождая этот стол для новых документов, которые будут
использоваться в последующий отрезок времени.
Также и с кэшпамятью, если есть какието данные, к которым вероятнее всего будет
повторное обращение, то эти данные из оперативной памяти, подгружаются в кэшпамять.
Очень часто, это происходит с совместной загрузкой тех данных, которые вероятнее всего,
будут   использоваться   после   текущих   данных.   То   есть,   здесь   присутствует   наличие
предположений о том, что же будет использовано «после». Вот такие непростые принципы
функционирования.
19. КЭШпамять. Назначение. Принцип функционирования. При   обращение   процессором   на   прямую   к   оперативной   памяти,   ОП   не   успевает
обслуживать   поступающие   заявки,   процессору   в   этом   случае   приходится   простаивать.
Поэтому  необходимо   какимилибо   методами   согласовать  быстродействие  процессора   и
ОП. Сделать это можно 2 способами:
1.     Построить ОП на более быстродействующей элементной базе (дорогостоящий)
2.     Использовать специальное структурное решение при организации уровней подсистемы
памяти, а именно включений между процессором и ОП быстродействующий КЭШ.
Отличительными особенностями КЭШ являются:
1.     Малый объем (от 8кбайт)
2.     Быстродействие сравнимое с быстродействием процессора.
КЭШ – это тайник, недоступно для программ, так как не может быть адресовано
машинными командами.
Суть заключается в следующем, когда процессору понадобилась информация,
сначала он обращается к КЭШ памяти, если информация там есть (такое событие
называется КЭШ попаданием), то нужное слово извлекается из КЭШ и передается
процессору. Если нет (КЭШ промах), то идет обращение к оперативной памяти,
информация помещается в КЭШ затем передается процессору.

Пусть ОП состоит из 2n адресуемых слов, можно представить ОП под совокупность
блоков фиксированной длинны по «к» слов в каждом. Тогда емкость оперативной памяти
можно записать следующим выражением M= 2n/k.
КЭШ память состоит из C строк по «к» слов в каждой. Причем емкость КЭШ во
много раз меньше емкости ОП.
В процессе выполнения задачи, некоторое подмножество блоков в ОП находятся
строго в КЭШ. Каждая строка в КЭШ снабжается ТЭГом, является служебной областью,
как правило ТЭГ содержит старшие разряды поля адресов памяти. ТЭГ нужен для
установления соответствия между ОП и КЭШ.
Структурная организация КЭШ
Важной отличительной особенностью КЭШ является то, что две операции передачи слова и загрузка
 в ОП могут происходить одновременно. КЭШ соединен с процессором линиями: адрес,
данные, управление. Линии данные и адрес подключены к соответствующим буфером. Эти буферы
имеют выход на системную магистраль, через которую они могут обмениваться с ОП информацией.
Если происходит событие КЭШ попадания, то буферы адреса и данных блокируется.
 Если происходит КЭШ попадание, то буферы адреса и данных блокируются, весь процесс обращения ведется  без участия ОП.
 Если происходит событие КЭШ промах, то затребованный процессором адрес выставляется в
буфер адреса , передается на системную магистраль, затем происходит поиск в ОП, блок
информации копируется в буфер данных, затем передается в КЭШ, затем ЦП.

file_name: тема 1 вопрос 25.docx

intro: Кэш-память построена на триггерах, которые, в свою очередь, состоят из транзисторов. Группа транзисторов занимает гораздо больше места, нежели те же самые конденсаторы, из которых состоит оперативная память. Это тянет за собой множество трудностей в производстве, а также ограничения в объёмах. Именно поэтому кэш память является очень дорогой памятью, при этом обладая ничтожными объёмами. Но из такой структуры, вытекает главное преимущество такой памяти – скорость.

title: Лекция "Что такое кэш-память и её структура"


extracted_text:
Основная память компьютера

ОЗУ(оперативное запоминающее устройство)в народе называется оперативка.
Её предназначение состоит в том чтобы хранить информацию и данные программ которые
участвую в вычислительном деле на этапе работы компьютера.
оперативная память энергозависима так как при отключении энергии все информация и
данные программ теряются.
основа оперативной памяти это не большие схемы которые содержат в себе матрицы
которые размещают в себе запоминающие элементы триггеры.
Передача информации производится путём подачи электрических импульсов по тем
участкам шины которые соединены с выбранными ячейками памяти.
 элементы оперативной памяти выполнены в виде отдельных схем или в виде модулей
памяти.
ПЗУ(постоянное запоминающее устройство) состоит из расположенных на материнской
плате модулей или кассет в неё грузятся данные которые не изменяются на протяжении
работы компьютера это могут быть программы операционная система и главных драйверов
которые необходимы для нормального функционирования.
модули ПЗУ имеют не большие размеры емкости,до нескольких мегабайт.
Основная память, он же жесткий диск служит для хранения всей информации и в случае
сбоев – именно с него происходит восстановление данных.
Конструктивное исполнение модулей оперативной памяти.
Определение и виды оперативной памяти. Статическая, динамическая и синхронно
динамическая.
АРХИТЕКТУРА ЭВМ
Гарвардская – память программ и данных разделена, что позволяет распараллелить
выборку данных из памяти.
Принстонская (архитектура фон Неймана) – в ней соблюдается принцип однородности
памяти. Он заключается в том, что программы и данные хранятся в одной и той же памяти.
Поэтому компьютер не различает, что хранится в данной ячейке памяти: число, текст или
команда.

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

8ми разрядная архитектура – Один из признаков, по которым классифицируют
архитектуры компьютеров, – это разрядность интерфейсов и машинного слова.
Разрядности компьютеров могут быть равными 8, 16, 32, 64. Некоторые ЭВМ имеют другие
разрядности. Обычно процессоры более высокой разрядности при использовании
соответствующей операционной системы выполняют одинаковые задачи быстрее.

Процессор выполняет все вычисления и управление другими устройствами.

Процессор состоит из: = ЗУ (запоминающее устройство)+АЛУ (арифметикологическое
устройство) +УУ (устройство управления) 2.3 Основные характеристики микропроцессора

1. Тактовая частота процессора – число вырабатываемых за одну секунду импульсов,
синхронизирующих работу узлов компьютера (в МГц). Характерные тактовые частоты
микропроцессоров: 40 МГц, 66 МГц, 100 МГц, 130 МГц, 166 МГц, 200 МГц, 333 МГц, 400
МГц, 600 МГц, 800 МГц, 1000 МГц и т. д.
Частота генератора тактовых импульсов является одной из основных характеристик
персонального компьютера и во многом определяет скорость его работы, ибо каждая
операция в машине выполняется за определенное количество тактов.
2. Разрядность процессора –это число одновременно обрабатываемых процессором
битов, то есть количество внутренних битовых (двоичных) разрядов  важнейший фактор
производительности микропроцессора. Процессор может быть 8,16, 32 и 64разрядным.
Вместе с быстродействием разрядность характеризует объем информации,
перерабатываемый процессором компьютера за единицу времени.
Оперативное запоминающее устройство (ОЗУ) представляет собой быстродействующую
энергозависимую память, служащую для временного хранения данных и исполняемых в
настоящий момент программ.

С точки зрения физического принципа действия оперативной памяти различают:

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

2) Динамическая оперативная память (Dynamic RAM — DRAM) используется в
большинстве систем оперативной памяти современных персональных компьютеров.
Основное преимущество памяти этого типа состоит в том, что ее ячейки упакованы очень
плотно, т. е. в небольшую микросхему можно упаковать много битов, а значит, на их основе
можно построить память большой емкости.
Ячейки динамической памяти (DRAM) можно представить в виде микроконденсаторов,
способных накапливать заряд на своих обкладках. Это наиболее распространенный и
экономически доступный тип памяти. Недостатки этого типа связаны, вопервых, с тем,
что как при заряде, так и при разряде конденсаторов неизбежны переходные процессы, то
есть запись данных происходит сравнительно медленно. Второй важный недостаток связан
с тем, что заряды ячеек имеют свойство рассеиваться в пространстве, причем весьма
быстро. Если оперативную память постоянно не <подзаряжать>, утрата данных происходит
через несколько сотых долей секунды. Для борьбы с этим явлением в компьютере
происходит постоянная регенерация (освежение, подзарядка) ячеек оперативной памяти.
Микросхемы динамической памяти используют в качестве основной оперативной памяти
компьютера. Каждая ячейка памяти имеет свой адрес, который выражается числом. Максимальный
объем оперативной памяти определяется разрядностью шины адреса. Таким образом, имея
32разрядную шину адреса, может быть осуществлена непосредственная адресация к полю
памяти размером 232 = 4 294 967 296 байт (4 Гб). Однако это отнюдь не означает, что
именно столько оперативной памяти непременно должно быть в компьютере. В
современных ПК объем оперативной памяти составляет 128256 Мб и более.
Одна адресуемая ячейка содержит восемь двоичных ячеек, в которых можно сохранить 8
бит, то есть 1 байт данных. Таким образом, адрес любой ячейки памяти можно выразить 4
мя байтами.

Как подвид динамической памяти DRAM различаютсинхроннодинамическую
оперативную память  SDRAM (Synchronous Dynamic Random Access Memory)
Это тип динамической оперативной памяти DRAM, работа которой синхронизируется с
шиной памяти. SDRAM передает информацию в высокоскоростных пакетах, использующих
высокоскоростной синхронизированный интерфейс. SDRAM позволяет избежать
использования большинства циклов ожидания, необходимых при работе асинхронной
DRAM, поскольку сигналы, по которым работает память такого типа, синхронизированы с
тактовым генератором системной платы.
Память SDRAM поставляется в виде модулей DIMM и, как правило, ее быстродействие
оценивается в мегагерцах, а не в наносекундах.
Память DDR (Double Data Rate — двойная скорость передачи данных) — это еще более
усовершенствованный стандарт SDRAM, при использовании которого скорость передачи
данных удваивается. Это достигается не за счет удвоения тактовой частоты, а за счет
передачи данных дважды за один цикл: первый раз в начале цикла, а второй — в конце.
Именно благодаря этому и удваивается скорость передачи (причем используются те же
самые частоты и синхронизирующие сигналы).
Так как частота синхронизации лежит в пределах от 100 до 200 МГц, а данные передаются
по 2 бита на один синхроимпульс, как по фронту, так и по срезу тактового импульса, то
эффективная частота передачи данных лежит в пределах от 200 до 400 МГц. Такие модули
памяти обозначаются DDR200, DDR266, DDR333, DDR400.

file_name: тема 1 вопрос 26.docx

intro:
Гарвардская – память программ и данных разделена, что позволяет распараллелить выборку данных из памяти.
Принстонская (архитектура фон Неймана) – в ней соблюдается принцип однородности памяти. Он заключается в том, что программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти: число, текст или команда.

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

title: Лекция "Основная память компьютера"


extracted_text:
тема 1 вопрос 27
Концепция виртуальной памяти
Общепринятая в настоящее время концепция виртуальной памяти появилась достаточно
давно. Она позволила решить целый ряд актуальных вопросов организации вычислений.
Прежде всего к числу таких вопросов относится обеспечение надежного
функционирования мультипрограммных систем.
В любой момент времени компьютер выполняет множество процессов или задач, каждая из
которых располагает своим адресным пространством. Было бы слишком накладно отдавать
всю физическую память какойто одной задаче тем более, что многие задачи реально
используют только небольшую часть своего адресного пространства. Поэтому необходим
механизм разделения небольшой физической памяти между различными задачами.
Виртуальная память является одним из способов реализации такой возможности. Она
делит физическую память на блоки и распределяет их между различными задачами. При
этом она предусматривает также некоторую схему защиты, которая ограничивает задачу
теми блоками, которые ей принадлежат. Большинство типов виртуальной памяти
сокращают также время начального запуска программы на процессоре, поскольку не весь
программный код и данные требуются ей в физической памяти, чтобы начать выполнение.
Другой вопрос, тесно связанный с реализацией концепции виртуальной памяти, касается
организации вычислений на компьютере задач очень большого объема. Если программа
становилась слишком большой для физической памяти, часть ее необходимо было хранить
во внешней памяти (на диске) и задача приспособить ее для решения на компьютере
ложилась на программиста. Программисты делили программы на части и затем определяли
те из них, которые можно было бы выполнять независимо, организуя оверлейные
структуры, которые загружались в основную память и выгружались из нее под управлением
программы пользователя. Программист должен был следить за тем, чтобы программа не
обращалась вне отведенного ей пространства физической памяти. Виртуальная память
освободила программистов от этого бремени. Она автоматически управляет двумя
уровнями иерархии памяти: основной памятью и внешней (дисковой) памятью.
Кроме того, виртуальная память упрощает также загрузку программ, обеспечивая
механизм автоматического перемещения программ, позволяющий выполнять одну и ту же
программу в произвольном месте физической памяти.
Системы виртуальной памяти можно разделить на два класса: системы с фиксированным
размером блоков, называемых страницами, и системы с переменным размером блоков,
называемых сегментами. Ниже рассмотрены оба типа организации виртуальной памяти.
Термин виртуальная память ассоциируется с возможностью адресовать пространство
памяти, большее, чем емкость основной (реальной, физической) памяти конкретного
процессора.
Концепция виртуальной памяти впервые была реализована в компьютерной системе Atlas,
созданной в Манчестерском университете в Англии в 1960 г.
При выполнении программы предполагается, что все команды программы и данные
содержатся в основной памяти, так как обращение к не существующим в основной памяти
командам и данным невозможно. Следовательно, общее пространство памяти, к которому
может обращаться программа, ограничивается емкостью основной памяти, т. е.
аппаратными средствами. Однако было бы удобнее составлять программу, не учитывая
емкость основной памяти. Суть концепции виртуальной памяти заключается в том, что
адреса, к которым обращается выполняющаяся программа (задача, процесс), отделяются
от адресов, реально существующих в основной памяти. Те адреса, на которые делает
ссылки выполняющаяся программа, называются виртуальными (логическими) адресами, а
те адреса, которые существуют в основной памяти, называются реальными или
физическими. Диапазон виртуальных адресов, к которым может обращаться
выполняющаяся программа, называется пространством виртуальных адресов этой
программы. Диапазон физических адресов, реально существующих в конкретном процессоре, называется пространством физических адресов этого процессора. Для
программы создается единое виртуальное адресное пространство – виртуальная
(логическая) память, в которой физическая ограниченность емкости основной памяти
скрыта от нее, т. е. создается видимость произвольной адресации с отсутствием
ограничения на емкость используемой памяти, что значительно облегчает
программирование.
Несмотря на то, что программы обращаются к виртуальной памяти (виртуальным адресам),
процессор в действительности должен работать с реальной памятью. Поэтому во время
выполнения программы виртуальные адреса необходимо преобразовывать в реальные
(физические), причем это нужно делать быстро, так как в противном случае
производительность системы будет снижаться до неприемлемых уровней и тем самым
практически сведутся на нет те преимущества, которые призвана обеспечить концепция
виртуальной памяти. Соответствие между физическими и виртуальными адресами
устанавливается совместно аппаратными средствами и операционной системой, причем это
делается прозрачно (невидимо) для программиста.
Для установления соответствия между виртуальными и физическими адресами на
практике используется механизм динамического преобразования адресов DAT, который
обеспечивает преобразование адресов во время выполнения программы. Этот механизм
обладает следующим свойством (рис. 26): смежные адреса виртуального адресного
пространства не обязательно будут смежными в физической памяти. Это свойство
называют искусственной смежностью. Оно позволяет устранять фрагментацию
физической памяти.
Таким образом, программист освобождается от необходимости учитывать размещение
своих программ и данных в физической памяти. Он получает возможность писать
программы наиболее естественным образом, прорабатывая только детали алгоритма и
структуры программы и игнорируя конкретные особенности структуры аппаратных
средств, служащих для выполнения программы. При этом микропроцессорная система
может рассматриваться, как логическое средство, обеспечивающее реализацию
необходимых алгоритмов, а не как физическая система с уникальными характеристиками,
часть которых может лишь затруднить процесс проектирования программ.
Рис. 26
Концепция виртуальной памяти требует применения двухуровневой схемы построения
памяти (рис. 27).
Первый уровень – это основная память, в которой находятся выполняемые программы и в
которой должны размещаться данные, чтобы программа во время работы могла к ним
обращаться. С точки зрения виртуальной памяти это реальная или физическая память. Второй уровень – это внешняя память большой емкости, способная хранить программы и
данные, которые не могут все сразу уместиться в основной (реальной, физической) памяти
ограниченной емкости. С точки зрения виртуальной памяти это вспомогательная память.
Рис. 27
Только небольшая часть процедур и данных каждой выполняемой программы, как правило,
размещается в первичной памяти одновременно. Остальная часть хранится на устройствах
внешней памяти с быстрым прямым доступом.
Таким образом, виртуальное адресное пространство размещается во внешней памяти,
например на магнитных дисках. Часть этого пространства, необходимая для выполнения
программ в данный момент, копируется в основную память.
Виртуальная память – это способ организации основной памяти микропроцессорной
системы большой емкости с помощью внешней памяти или метод расширения
адресного пространства основной памяти за счет ее совместного использования с
внешней памятью, при котором достигается гибкое динамическое распределение памяти,
устраняется ее фрагментация и создаются значительные удобства для работы
программистов. Это удается достигнуть без заметного снижения производительности
системы ценой усложнения аппаратных средств и операционной системы и процессов их
функционирования. Принцип виртуальной памяти предполагает, что пользователь при
подготовке своей программы имеет дело не с физической основной памятью,
действительно (реально) работающей в составе микропроцессорной системы, а с
виртуальной (т. е. кажущейся) одноуровневой памятью, объем которой равен всему
адресному пространству, определяемому принятым в процессоре способом адресации
памяти (размером адресных полей в форматах команд и адресных регистров). Например, в
32разрядных процессора фирмы Intel размер виртуального адресного пространства для
одной задачи составляет 64 Тбайт.

file_name: тема 1 вопрос 27.docx

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

title: Лекция "Концепция виртуальной памяти"


extracted_text:
тема 1 вопрос 29
сканеры, модемы их назначение и характеристики
Сканеры  устройства для ввода информации с твердого носителя (бумаги),
преобразование ее в цифровой код, который впоследствии может быть сохранен как файл
изображения или распознан и преобразован в текстовой документ.
Сканеры, назначение, принцип подключения
Определяющим   фактором   для   данного   параметра   является   способ   перемещения
считывающей   головки   сканера   и   бумаги   относительно   друг   друга.   Основных   типы
сканеров: ручной   и настольный, комбинированные устройства, которые сочетают в себе
возможности настольных и ручных сканеров.
Ручные сканеры
Для того чтобы ввести в компьютер какойлибо документ при помощи этого устройства,
надо   без   резких   движений   провести   сканирующей   головкой   по   соответствующему
изображению. Ширина вводимого изображения для ручных сканеров не превышает обычно
4 дюймов (10 см). К основным достоинствам такого вида сканеров относятся небольшие
габаритные размеры и сравнительно низкая цена.
Настольные сканеры
Настольные сканеры называют и страничными, и планшетными, и даже авто сканерами.
Такие сканеры позволяют вводить изображения размерами 8,5 на 11 или 8,5 на 14 дюймов.
Существуют   три   разновидности   настольных   сканеров:   планшетные,   рулонные   и
проекционные.
Основным   отличием   планшетных   сканеров   является   то,   что   сканирующая   головка
перемещается относительно бумаги с помощью шагового двигателя.. Для сканирования
изображения   необходимо   открыть   крышку   сканера,   подключить   сканируемый   лист   на
стеклянную   пластину  изображением   вниз,  после   чего  закрыть   крышку.  Все   дальнейшее
управление   процессом   сканирования   осуществляется   с   клавиатуры   компьютера   –   при
работе с одной из специальных программ, поставляемых вместе с таким сканером.
Работа   рулонных   сканеров   чемто   напоминает   работу   обыкновенной   факсмашины.
Отдельные   листы   документов   протягиваются   через   такое   устройство,   при   этом   и
осуществляется их сканирование. Таким образом, в данном случае сканирующая головка
остается на месте, а уже относительно нее перемещается бумага. Третья разновидность
настольных   сканеров   –   проекционные   сканеры,   которые   больше   всего   напоминают
своеобразный   проекционный   аппарат   (или   фотоувеличитель).   Вводимый   документ
кладется на поверхность сканирования изображением вверх, блок сканирования находится
при   этом   также   сверху.   Перемещается   только   сканирующее   устройство.   Основной
особенностью данных сканеров является возможность сканирования проекций трехмерных
проекц
Модемы  устройства для обмена информацией через телефонную сеть. Особым образом
преобразуют (модулируют) электрические сигналы компьютера для передачи во внешнюю
сеть, и демодулируют сигналы, поступающие извне для их обработки системным блоком.
Различают внутренние (сетевые карты) и внешние модемы.
Модемы, назначение, принцип работы
Модем  –   это   устройство   для   обмена   информацией   с   другими   компьютерами   через
телефонную сеть. Факсмодем – устройство, сочетающее возможности модема и средства для   обмена   факсимильными   изображениями   с   другими   факсмодемами   и   обычными
телефаксными аппаратами. Большинство современных модемов являются факсмодемами.
Модемы   бывают   внутренними   (в   виде   электронной   платы,   подключаемой   к   шине   15А
компьютера),   внешними   –   в   виде   отдельного   устройства,   и   в   виде   РСкарты   для
подключения   к   портативному   компьютеру.   Модемы   отличаются   друг   от   друга
максимальной скоростью передачи данных (2400, 9600. 14400, 19200. 28800. 33600 бит в
секунду)   и   поддерживаемыми   протоколами   связи,   Большинство   современных   модемов
работает со скоростью 1440033600 бит/с  и поддерживает средства исправления ошибок и
сжатия данных.
Вебкамеры  используются   для   организации   видеоконференций   с   передаванием   данных
через локальные и глобальные сети. Вебкамеры можно рассматривать как упрощенные
цифровые   фотокамеры   с   меньшим   количеством   фоточувствительных   элементов   на
матричном фотоприймачі и меньшим количеством функций. В дешевых моделях вебкамер
нет буферной памяти и они нуждаются в постоянном подсоединении к системному блоку,
камеры   более   дорогих   моделей   позволяют   сделать   несколькот   десятков   снимков   без
соединения к системному блоку.

file_name: тема 1 вопрос 29.docx

intro:
Ручные сканеры
Для того чтобы ввести в компь¬ютер какой-либо документ при помощи этого устройства, надо без резких движений провести сканирующей головкой по соответствующему изображению. Ширина вводимого изображения для ручных сканеров не превышает обычно 4 дюймов (10 см). К основным достоинствам такого вида сканеров относятся небольшие габаритные размеры и сравнительно низкая цена.
Настольные сканеры
Настольные сканеры называют и страничными, и планшетными, и даже авто сканерами. Такие сканеры позволяют вводить изображения размерами 8,5 на 11 или 8,5 на 14 дюймов. Существуют три разновидности настольных сканеров: планшетные, рулонные и проекционные.

title: Лекция "сканеры, модемы их назначение и характеристики"