Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Аналоговые и цифровые вычислительные машины

Работа добавлена на сайт samzan.net:


1. Сравнительная оценка аналоговых и цифровых вычислительных машин

2. Структура ЦВМ, принципы Неймана (с.11)

3. Структура ПЭВМ (с.11)

4. Классификация ЭВМ (с.11)

5. Оценка производительности ЭВМ (с.11)

6. Оценка эффективности ЭВМ (c.11)

7. Режимы работы ЭВМ (c.11)

8. Общие закономерности и принципы построения ЭВМ (c.11)

9. Этапы проектирования ЭВМ (с.11)

10. Логические элементы и элементы памяти ЭВМ (с.2)

11. Узлы комбинационного типа (c.4)

12. Регистры и счетчики (c.7)

12(0). Элементы памяти (ЭП) статических и динамических ЗУ (c.8)

22. Ассоциативные и многофункциональные ЗУ (lect15add.doc)

1. Сравнительная оценка аналоговых и цифровых вычислительных машин

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

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

Форма представления информации

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

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

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

Организация вычислительного процесса

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

Например, вычисление выражения  y = (ax + b) / c потребует выполнения трех шагов (команд):

умножить a на x

сложить результат предыдущего действия с b

разделить результат предыдущего действия на c.

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

Рис.1. Схема вычисления выражения  y = (ax + b) / c  на аналоговой ВМ

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

К достоинствам цифровых ЭВМ относят, в первую очередь:

- универсальность;

- высокое быстродействие;

- высокую точность (малую погрешность) вычислений.

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

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

Следует отметить, что у первых цифровых ЭВМ время бессбойной работы было достаточно небольшим (иногда даже несколько минут), а объемы памяти очень невелики. Очевидно, что для таких ЭВМ технические ограничения сказывались на их возможностях гораздо больше, чем теоретические.

Быстродействие цифровых ЭВМ (или более общая характеристика – производительность) оценивается различными способами (в дальнейшем этот вопрос будет обсуждаться отдельно). Наиболее простым и часто используемым параметром является количество операций, выполняемых цифровой ЭВМ в единицу времени (типовое значение этой величины составляет в первой декаде текущего столетия n*1010-1011 оп/с). В целом, этот показатель отражает производительность ЭВМ, но с рядом оговорок. Так, известно, что различные операции (логические, сложение, деление) требуют для своего выполнения различного времени. Поэтому, говоря о количестве операций, выполняемых в единицу времени, следует уточнять, какие операции имеются в виду. В ряде случаях такая оценка дается для некоторой смеси операций (или команд), включающей в себя различные операции с учетом частоты их появления в программах.

Кроме того, для определенных классов задач, например, для работы с базами данных, собственно скорость выполнения операций в ЭВМ, может вносить менее важный вклад в производительность, чем скорость работы (дисковой) памяти.

Точность (погрешность) вычислений для цифровых ЭВМ определяется разрядностью обрабатываемых чисел. Типовая разрядность обрабатываемых на ЭВМ чисел составляет 4 байта, т.е., 32 двоичных разряда (с появлением 64-разрядных архитектур, начался переход к обработке 64-разрядных чисел). Как известно, погрешность при вычислениях, вызванная округлением, не превышает половины цены последнего разряда. Тогда, с учетом того, что один разряд занимает знак числа, погрешность округления 32-разрядных двоичных чисел с фиксированной запятой составляет не более 2-33, что (если полагать приближенно 210 = 103) дает 0,125*10-9 (а точнее, 0,116*10-9).

Конечно, используя различные алгоритмические приемы, можно выполнить вычисления на ЭВМ и с гораздо более высокой точностью. Так, например, знаменитые константы π и e рассчитаны на ЭВМ с точностью до сотен тысяч знаков. Естественно, выполнение таких расчетов требует соответствующих затрат машинного времени.

Недостатком цифровых ЭВМ является, главным образом, их высокая сложность, из которой следуют:

- относительно высокая стоимость;

- сложность эксплуатации;

- сложность программирования.

Стоимость цифровых ЭВМ зависит от их класса и составляет от нескольких десятков тысяч рублей для домашних и бюджетных ЭВМ до нескольких десятков миллионов рублей для самых крупных ЭВМ и систем.

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

Сложность программирования, выполнявшегося первоначально непосредственно в машинных кодах, после появления и последующего развития языков программирования, значительно снизилась. (Это не дало реализоваться шутливому прогнозу середины 50-х годов XX века, гласящему, что если темпы развития и использования вычислительной техники не замедляться, то через 10 лет половина населения США будет занята обслуживанием ЭВМ, а другая половина – программированием для них.) Тем не менее, написание программ для ЭВМ и сейчас требует достаточно высокой квалификации и весьма трудоемко, а главное – это то, что при создании программы требуется точно описать алгоритм решения задачи. Находить алгоритм решения задачи ЭВМ могут в очень ограниченном круге случаев.

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

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

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

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

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

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

К достоинствам аналоговых ЭВМ можно отнести:

- относительную простоту;

- высокое быстродействие.

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

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

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

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

Следует также указать и на существование класса ЭВМ, сочетающих в себе черты аналоговых и цифровых ЭВМ. Такие машины получили название гибридных, или комбинированных, ЭВМ.

В заключение приводится таблица, в которую сведены обсуждавшиеся выше пункты.

Цифровые ЭВМ

Аналоговые ЭВМ

Достоинства

Универсальность

Высокое быстродействие

Высокая точность

Относительная простота

Высокое быстродействие

Недостатки

Высокая стоимость

Сложность эксплуатации

Сложность программирования

Малая универсальность

Высокая погрешность

2. Структура цифровых ЭВМ и принципы Дж. фон Неймана

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

Одним из первых в 1938 г построил механический программируемый вычислитель Z1 немецкий инженер Конрад Цузе (Konrad Zuse, 1910–1995). Об этой разработке часто говорят, как о первом в мире программируемом компьютере.

Конрад Цузе занимался проектированием самолетов в немецкой фирме Henschel Aircraft. В его задачу входил расчет оптимальной конфигурации крыльев, что требовало обилия вычислений, поэтому он и занялся созданием устройства, способного эти вычисления автоматизировать. За первой моделью, которой заинтересовались военные, последовали Z2 (не завершена) и Z3 (1941). Последняя была выполнена на электромагнитных реле, работала с 22-разрядными двоичными числами с плавающей запятой, выполняла все арифметические действия за время: сложение – 0,3 с, умножение – 4-5 с. и имела оперативную память на 64 слова (1408 бит – на реле). Всего в машине было 2600 реле, в т.ч., 600 реле – в арифметическом устройстве. Z3 рассматривают как первую попытка реализации принципа программного управления, хотя и не в полном объеме. В частности, не предусматривалась возможность условного перехода. Программа хранилась на перфоленте, в роли которой использовалась перфорированная кинопленка.

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

После войны им были созданы еще несколько моделей. Кроме того, Цузе в 1945 году разработал первый в мире алгоритмический язык PlanKalkul. В этом языке, не привязанном ни к какой системе команд, была реализована идея подпрограмм с параметрами, введено понятие объект, предусмотрена работа с массивами, в том числе массивами подпрограмм.

Другим представителем электромеханических вычислительных машин явилась Mark I (ASCCAutomatic Sequence-Controlled Calculator – автоматический пошагово-управляемый калькулятор), разработанная в Гарвардском университете совместно с фирмой IBM под руководством Говарда Айкена (Howard Aiken, 1900–1973). Работы над ней велись в период с 1939 по 1944 годы. Это был первый программно управляемый вычислитель, получивший, в отличие от машин Цузе, широкую известность.

Машина имела длина 15 м и высоту 2,5 м. В ней имелись 72 счетчика (электромеханических 23-разрядных), образующих накапливающий сумматор, 60 регистров памяти на электромагнитных реле, блок умножения-деления и функциональные счетчики для логарифмических и тригонометрических функций. Машина обрабатывала 23-разрядные десятичные числа, и выполняла сложение и вычитание за 0,3 с, умножение за 5,7 с, а деление за 15 с. Команды считывались с бумажной перфоленты (каждая команда представлялось рядом из 24 пробивок на ленте) со скоростью до 200 шагов в минуту и выполнялись в порядке считывания. Данные считывались с перфокарт.

Позднее (в 1947 г.) был создан несколько более быстродействующий (сложение – 0,2 с, умножение – 0,7 с) вариант машины – Mark II.

Еще одним известным семейством электромеханических вычислителей были вычислители Модель-I (1938 г.) и Модель-II (1942 г.), Модель-III (1943 г.), созданные под руководством американского ученого Дж. Стибица (George Stibitz, 1904–1995) в компании Bell Telephone Laboratories. Модель-III обладала примерно такими же характеристиками, как и Mark-I Г.Айкена.

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

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

В период с1939 по 1941 годы в университете (тогда колледже) штата Айова Джон Атанасов (John Atanasoff, 1903–1995) с аспирантом Клиффордом Берри (Clifford Berry, 1918–1963) разработали специализированный вычислитель ABC (Atanasoff–Berry Computer), предназначенный для решения систем линейных алгебраических уравнений с 30 неизвестными. Вычислитель, по некоторым сведениям, содержащий до 300 электронных ламп, оперировал с 50-разрядными двоичными числами, в которые преобразовывались входные десятичные числа, вводимые с перфокарт. Память была построена на конденсаторах (знак заряда кодировал информацию), объединенных в барабан на 32 дорожки по 51 конденсатору в каждой. Промежуточные результаты записывались на перфокарты с помощью прожигания в них отверстий.

Заметных публикаций по работам Дж.Атанасова не было и о них стало широко известно только после судебного признания его приоритета на электронную вычислительную машину, подтвержденного судом в ходе патентных споров в 70-х годах XX столетия.

Тем не менее, ABC не является ЭВМ с программным управлением в принятом ныне понимании, его скорее следует отнести к специализированным электронным калькуляторам.

Еще одной долгое время закрытой разработкой является специализированная электронная вычислительная машина “Colossus” (“Колосс”), созданная в Англии в годы второй мировой войны (в 1943 г.) для декодирования шифрованных сообщений немецких военных. Эта ЭВМ была построена на электронных лампах, была программируемой и выполняла арифметические и логические операции. Разработана она была под руководством М.Ньюмана (Max Newman, 1987–1984) в Правительственной школе кодирования и шифрования (Government Code & Cipher School - GC&CS) в Блетчли-Парк, недалеко от Лондона. Изготовлен “Колосс” был инженером Почтового управления Великобритании Томми Флауэрсом. В группу разработчиков входил и сам Алан Тьюринг.

Машина содержала около 2000 электронных ламп и состояла из нескольких стоек высотой более 2 м и общей длиной более 5 м. Машина была построена за 11 месяцев. Всего (со второй, более быстродействующей модификацией) их было сделано 10 штук. Но по окончании войны по распоряжению У.Черчилля из соображений секретности были уничтожены и сами ЭВМ и их чертежи с описаниями. Позднее “Колосс” восстановили по единственному чертежу и нескольким фотографиям под руководством Тони Сейла, сотрудника Национального музея вычислительной техники Великобритании. На восстановление ушло 14 лет.

Наибольшую известность получил проект, развернутый в 1942 г. в университете Пенсильвании при поддержке Лаборатории баллистики армии США. Задач, для решения которых, в первую очередь, проектировался вычислитель, были связаны с баллистическими расчетами. Проект возглавили Дж. Мочли (John J. Mauchly, 1907–1980) и Дж. Экерт (J. Presper Eckert, 1919–1995). Первый из них в 1941 г. в Айове познакомился с работами Дж.Атанасова. В 1943 г. при участии Г.Голдстайна из Лаборатории баллистика был подписан правительственный контракт с Пенсильванским университетом, предусматривающий создание электронного цифрового интегратора и компьютера, названного впоследствии по первым буквам ЭНИАК (Electronic Numeric Integrator And Computer). Г.Голдстайн привлек к этим работам в качестве консультанта и знакомого с ним Дж. Фон Неймана (John von Neumann, 1903–1957).

Работы над ЭНИАК официально были завершены в конце 1945 г. Он был построен на 18000 электронных ламп, занимал помещение 135 м2, весил более 30 т и потреблял мощность 150 кВт. Машина работала на частоте 100 кГц и выполняла сложение за 0,2 мс, а умножение – за 2,8 мс, т.е. примерно в 1000 раз быстрее, чем современные ей электромеханические машины. Операции выполнялись в десятичной системе счисления на декадных счетчиках, образующих 20 десятиразрядных регистров (по 10 счетчиков в каждом),  построенных на ламповых триггерах, что в то время было довольно дорого, а программирование производилось с помощью соединений, выполнявшихся проводами на коммутационной панели. Т.е., переход от одной программы к другой мог занять от 30 минут до 8 часов, требуя переключения до нескольких тысяч проводов.

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

В СССР в 1947 году под руководством С. А. Лебедева начаты работы по созданию малой электронной счетной машины (МЭСМ), которая была введена в строй в 1951 году и стала первой ЭВМ не только в СССР, но и в Европе (исключая Англию).

Участие Дж. фон Неймана в проекте ЭНИАК знаменательно тем, что вместе со своими коллегами Г.Голдстайном и А.Берксом в июне 1946 г. он опубликовал отчет под названием “Предварительное обсуждение логического конструирования электронного вычислительного устройства” (A.W.Burks, H.H.Goldstine, J. von Neumann, Preliminary discussion of the logical design of an electronic computing instrument, – Princeton, 1946). В этом отчете содержалось обоснование выбора конструкции ЭВМ, выполненное по результатам анализа сильных и слабых сторон ЭНИАК, рассматривалась ее структура, и предлагался ряд идей (принципов построения ЭВМ), оказавших серьезное влияние на развитие вычислительной техники. Как известно, много последующих поколений ЭВМ имели архитектуру, называемую “архитектурой фон Неймана”.

Обсуждаемую в отчете структуру ЭВМ можно изобразить так, как показано на рис. 2

Рис.2. Структурная схема цифровой вычислительной машины

Функциональное назначение отдельных блоков отвечает их названиям (и будет обсуждаться впоследствии в соответствующих разделах курса), причем на рис. 2 объединены, раздельные на оригинальной схеме, устройство ввода и устройство вывода.

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

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

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

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

1. Машины на электронных элементах должны работать не в десятичной, а в двоичной системе счисления.

За последующие более чем полвека было предпринято много попыток найти более эффективный способ представления данных для выполнения арифметики в ЭВМ. Существовали различные варианты десятичных способов кодирования, троичные системы, системы на многозначных элементах, а также специальные представления – системы счисления в остаточных классах, системы на числах Фибоначчи. Однако двоичная система осталась основным вариантом, используемым в ЭВМ.

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

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

3. Программа, так же как и данные, записывается в двоичном коде. Это дает однотипное представление команд и данных, что, в свою очередь, приводит к следующему:

а) данные, константы, промежуточные и конечные результаты могут размещаться в одном ЗУ с командами программы;

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

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

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

Кроме того, это свойство может служить основой для повреждения (в т.ч., умышленного) программ.

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

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

5. В машине должны реализовываться аппаратно параллельные операции сложения, вычитания и умножения. Требование аппаратной реализации операций деления и извлечения квадратного корня неочевидны.

Арифметико-логические устройства (СЛУ) большинства современных ЭВМ действительно выполняют параллельно основные арифметические операции (в том числе и деление). Операция извлечения квадратного корня, обычно, отсутствует. Тем не менее, параллельный характер выполнения операций над многоразрядными числами (а у Неймана с коллегами речь шла о 40-разрядных двоичных числах) не всегда имел место в ЭВМ. На начальных этапах их развития, когда электроника была относительно дорогой, часто встречались ЭВМ с последовательным (поразрядным) или последовательно-параллельным (например, побайтовым) выполнением операций в АЛУ.

Правда, как упоминалось выше, были среди рассматриваемых положений и такие, которые впоследствии не оправдались. Например, отсутствие необходимости аппаратной реализации операции с плавающей запятой. Как известно, практически все процессоры общего назначения современных ЭВМ содержат встроенные аппаратные средства (NPUnumeric processing unit) выполнения таких операций.

5.3. Several of the digital computers being built or planned in this country and England are to contain a so-called "floating decimal point". This is a mechanism for expressing each word as a characteristic and a mantissa-e.g. 123.45 would be carried in the machine as (0.12345,03), where the 3 is the exponent of 10 associated with the number. There appear to be two major purposes in a "floating" decimal point system both of which arise from the fact that the number of digits in a word is a constant, fixed by design considerations for each particular machine. The first of these purposes is to retain in a sum or product as many significant digits as possible and the second of these is to free the human operator from the burden of estimating and inserting into a problem "scale factors"- multiplicative constants which serve to keep numbers within the limits of the machine.

There is, of course, no denying the fact that human time is consumed in arranging for the introduction of suitable scale factors. We only argue that the time so consumed is a very small percentage of the total time we will spend in preparing an interesting problem for our machine. The first advantage of the floating point is, we feel, somewhat illusory. In order to have such a floating point one must waste memory capacity which could otherwise be used for carrying more digits per word. It would therefore seem to us not at all clear whether the modest advantages of a floating binary point offset the loss of memory capacity and the increased complexity of the arithmetic and control circuits.

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

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

В Советском Союзе работы в этом направлении были начаты несколько позже и первая ЭВМ (МЭСМ – малая электронная счетная машина) была создана в 1951 г. под руководством Сергея Алексеевича Лебедева.

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

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

2. Характер связей между блоками в структуре ЭВМ жесткий и не адаптируется к особенностям решаемых задач.

3. Функционирование блоков ЭВМ развертывается последовательно во времени, как и выполняемые внутри них самих действия.

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

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

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

3. Структура ПЭВМ (по МУ к выполнению ЛР)

Персональные ЭВМ типа IBM PC совместимых имеют явно выраженную модульную структуру. Это позволяет собирать из базовых модулей конфигурацию, соответствующую потребностям и возможностям пользователя.

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

  •  системный блок, с состав которого входят:
  •  процессор;
  •  материнская (системная) плата;
  •  оперативная память;
  •  видеоадаптер;
  •  жесткий диск;
  •  гибкий диск;
  •  дисковод компакт (DVD) дисков;
  •  корпус системного блока с блоком питания;
  •  монитор;
  •  клавиатура;
  •  мышка.

В самом общем виде структура ПЭВМ может быть представлена так, как показано на рис. 3, где ОЗУ оперативная память, а сокращения MCH и ICH у контроллеров памяти и ввода-вывода означают Memory Control Hub и Input-Output Control Hub соответственно. (В чипсетах других производителей эти микросхемы часто называются северным и южным мостами.)

Рис. 3. Обобщенная структурная схема персональной ЭВМ

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

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

Название шины

Разрядность данных (бит)

Частота шины (МГц)

Пропускная спо- собность (Мб/с)

Разрядность адреса (бит)

ISA

EISA

VLB

PCI

AGP

PCI-E

8

32

32/64

32/64

32

1 (передача)

8/16 (вх/вых)

8

8,33

33-50

33/66

66 (x1, x2, x4)

2500

8

33,3

132

132/528

256/512/1024

500

20

32

32

32

32

-

Шина ISA (Industry Standard Architecture) использовалась в ПЭВМ, начиная с моделей с процессором 8086 и до Pentium II, в последующих моделях она уже исключена. Шина EISA представляет расширенную модификацию ISA. Шина VLB (VESA Local Bus) использовалась только в процессорах 486. Шина PCI (Peripheral Component Interconnect) является наиболее распространенным вариантом, иногда сочетаемым с шиной ISA для аппаратной совместимости с более ранними устройствами. Для подключения видеоадаптера используют и более быстрый вариант  AGP (Advanced Graphical Port), а в более новых ПЭВМ и шину PCI-Express.

Наличие этих шин и интерфейсов в ПЭВМ обеспечивают контроллеры, называемые также мостами или хабами (hub), связывающие системную шину с соответствующей локальной шиной (например, системная шина шина PCI), или различные интерфейсы (например, шина PCI  шина ISA).

Эти контроллеры, называемые контроллерами ввода/вывода или южными мостами, часто интегрируют в себе узлы, которые обеспечивают и подключение жестких дисков. Двумя наиболее распространенными вариантами управления жестким диском являются интерфейсы ATA (AT Attachment for Disk Drives  подключение дисководов к PC AT), точнее, его модификации ATAPI (ATA Package Interface) и Serial ATA, а также SCSI (Small Computer System Interface).

С интерфейсом ATA связаны еще два названия: IDE (Integrated Device Electronics), указывающее на особенности организации контроллера жесткого диска, и DMA (Direct Memory Access) или его более новая модификация Ultra DMA, определяющие режим обмена данными с оперативной памятью. (Другим режимом обмена, используемым в этом интерфейсе, является программный ввод-вывод  PIO, чаще использовавшийся для подключения CD ROM.) Интерфейс ATA первоначально предназначался для подключения жестких дисков к шине ISA. Однако, при наличии шины PCI организуется связь IDE диска с данной шиной. Интерфейс ATA обеспечивает передачу данных со скоростью до 133 Мбайт/с, а его последовательный вариант – до 150 Мбайт/с

Интерфейс SCSI обеспечивает скорости передачи данных до 160 Мбайт/с и также может использоваться не только для подключения жестких дисков, но и других устройств. Однако он требует дополнительных контроллеров и является более дорогим вариантом.

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

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

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

тип процессора (CPU Type),

наличие сопроцессора (Co-Processor),

частоту (ядра) процессора (CPU Clock),

объем основной части оперативной памяти (Base Memory) во всех ПЭВМ сейчас это 640 Кбайт,

объем расширенной оперативной памяти (Extended Memory),

объем кэш-памяти (Cache Memory),

параметры гибкого дисковода A (Diskette Drive),

параметры гибкого дисковода B (Diskette Drive),

параметры основного диска 1-го канала IDE (Primary Master),

параметры вспомогательного диска 1-го канала IDE (Primary Slave),

параметры основного диска 2-го канала IDE (Secondary Master),

параметры вспомогательного диска 2-го канала IDE (Secondary Slave),

а также вид дисплея, установки портов ввода-вывода, тип оперативной памяти и кэш-памяти.

4. Классификация (цифровых) ЭВМ

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

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

1. По количеству процессоров/ядер:

- однопроцессорные;

- многопроцессорные (многоядерные).

Это разделение, строго говоря, не отражает функциональные, архитектурные или технологические особенности организации ЭВМ и служит, скорее, как общая характеристика ее сложности, функциональных возможностей и производительности. Хотя зависимость названных параметров от количества процессоров (ядер) не является непосредственной.

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

2. По функциональному назначению:

- универсальные;

- специализированные.

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

Говоря об универсальных ЭВМ, следует отметить, что определить понятие универсальности (как и многие другие общие понятия) достаточно сложно. Поэтому, как указывалось , применительно к ЭВМ, универсальность обычно понимается в алгоритмическом смысле.

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

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

3. По вычислительной мощности:

- программируемые калькуляторы;

- карманные компьютеры (и коммуникаторы);

- ноутбуки (лэптопы);

- рабочие станции (десктопы);

- серверы (масштаба отдела, предприятия);

- мэйнфреймы (большие и сверхбольшие ЭВМ);

- вычислительные комплексы (локальные и распределенные)

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

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

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

Ноутбуки постепенно становятся достаточно мощными ЭВМ, обладающими, в силу специфики своего использования ограниченным набором периферийных и внешних запоминающих устройств. Увеличение их мощности приводит к частичной замене ими настольных рабочих станций.

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

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

Мэйнфреймы – большие ЭВМ, обладающие высокой производительностью, большим объемом оперативной и внешней памяти, высокоскоростными каналами ввода-вывода и повышенной надежностью. Первоначально характерной чертой этих ЭВМ являлись их большие размеры, что и явилось основой названия этого класса: mainframe – главный, основной каркас, остов (иногда на профессиональном жаргоне вычислителей их называли Big Iron – большое железо). Однако с совершенствованием технологий габариты их существенно уменьшились, а позже удалось снизить и их стоимость. Поэтому, хотя в середине 1990-х годов даже шла речь о скором исчезновении данного класса, сегодня используется достаточно большое количество таких ЭВМ. Доминирующее положение в их создании занимает фирма IBM.

Непосредственно к этому классу примыкают и сверхбольшие ЭВМ (суперкомпьютеры), параметры которых имеют еще более высокие значения.

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

Примерные количественные показатели отдельных классов ЭВМ по состоянию на 2007-2008 годы представлены в таблице 1.

Класс ЭВМ

Кол-во проц/ядер

Произв

Объем ОП

Карманные компьютеры

Ноутбуки

Рабочие станции

Серверы

Мэйнфреймы

Следует отметить, что известны и другие варианты разделения ЭВМ по вычислительной мощности.

Интересно отметить, что в середине 1960-х годов миниЭВМ выделялись по стоимости, которая должна была быть менее 20000 $. Не так давно, фирма IBM выпустила мэйнфреймы бизнес класса, стоимость которых начинается (всего) от 100000 $.

4. По архитектуре можно выделить следующие типы ЭВМ:

- с традиционной (фон Неймановской) архитектурой;

- с RISC- архитектурой;

- с конвейерной архитектурой;

- с векторной и матричной архитектурой;

- с динамической архитектурой;

- ЭВМ с управлением потоками данных.

Особенности ЭВМ с архитектурой фон Неймана обсуждались выше. Тем не менее, следует отметить, что в настоящем пункте, к данной архитектуре отнесены системы с различными соединениями между основными блоками ЭВМ, которые в других источниках могут и относиться к иным архитектурам.

RISC-архитектура, строго говоря, отдельной архитектурой не является. Аббревиатура RISC означает Reduced Instruction Set Computers – ВМ с упрощенным набором команд. Основная идея RISC состоит в том, что, упростив излишне сложную систему команд (например, система команд процессоров Intel для ПЭВМ включает более 300 команд), можно за счет упрощения логики управления и исполнительных устройств добиться более высокой частоты работы процессора, а, следовательно, сокращения времени выполнения команд. А возможное возрастание трафика между процессором и памятью (поскольку более простых команд придется для тех же задач выполнять больше) можно компенсировать промежуточного хранением большего количества данных в процессоре, увеличив в нем количество регистров за счет освободившейся при упрощении его схемы площади кристалла.

Появление этой архитектуры относится к началу 1980-х годов. Причем первоначально некоторые исследователи полагали, что RISC-архитектура вытеснит обычные компьютеры, которые стали иногда называть CISCComplete (или Complex) Instruction Set Computers (ВМ с полной системой команд). Однако этого не произошло. И сегодня RISC-архитектура используется либо в специализированных процессорах, либо заложенные в ней принципы применяются на более низких исполнительных уровнях обычных процессоров.

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

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

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

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

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

В рамках различения архитектур существуют и другие признаки классификации, например, по количеству потоков команд и данных (одна из первых классификаций, предложенная М.Флинном еще в 1966 г.) выделяют ЭВМ:

- с одним потоком команд и одним потоком данных (обычная архитектура) – SISD (Single InstructionSingle Data);

- с одним потоком команд и несколькими потоками данных (векторная и матричная архитектуры, расширение MMX в процессорах Intel) – SIMD (Single InstructionMultiple Data);

- с несколькими потоками команд и одним потоком данных (иногда так говорят о конвейерных ЭВМ, хотя это принимается не всеми исследователями) – MISD (Multiple InstructionSingle Data);

- с несколькими потоками команд и несколькими потоками данных  – MIMD (Multiple InstructionMultiple Data).

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

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

5. По физическим принципам, используемым для реализации ЭВМ:

- на электронных элементах;

- оптоэлектронные и оптические;

- криоэлектронные;

- биомолекулярные;

- квантовые.

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

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

Криоэлектронные элементы (использующие эффект сверхпроводимости при низких температурах) также являются предметом исследований в течение ряда десятилетий. Для них тоже разработан функционально полный набор логических элементов и элементы памяти. Однако заметного практического использования в вычислительных системах эти технологии пока не нашли. Не было и ожидаемого роста их применения и в связи с работами физиков в области, так называемой, высокотемпературной (до -80° С) сверхпроводимости в конце 1980-х годов.

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

В квантовых компьютерах для хранения и обработки информации используются различные физические эффекты, связанные с состоянием элементарных частиц и/или атомов. Это позволяет, используя квантовые эффекты, многократно увеличить скорости преобразований и объемы хранимой информации. Идею таких компьютеров относят к началу 1980-х годов. С начала 1990-х годов ведутся исследовательские работы в данной области во многих странах мира. Практическое использование таких компьютеров ожидается в обозримом будущем.

Принцип работы такого компьютера связан с квантовыми свойствами атомов и других частиц. Квантовый компьютер, в частности, может быть основан на спинах электронов и атомных ядер и на странных свойствах квантовых частиц в момент, когда их не наблюдают, иметь спин одновременно разных направлений. Когда спин частицы направлен вверх, атом может быть "считан" как 1, а направление вниз будет соответствовать 0. Это аналогично традиционному транзистору, в котором нули и единицы соответствуют включенному и выключенному состояниям, промежуточных состояний у классического бита не бывает. Но что делает квантовый компьютер уникальным, так это тот факт, что квантовые частицы, даже будучи очень хорошо изолированными друг от друга, могут находиться в запутанном состоянии (entangled state), в котором частицы все-таки зависят друг от друга. В классическом компьютере изменение состояния отдельного бита никак не связано с изменением состояния всех остальных битов, разве что только одного. В квантовом компьютере управление состоянием одной частицы вызывает изменение состояния всех других. Это и приводит к т.н. квантовому параллелизму вычислений. Благодаря этому эффекту квантовый компьютер может иметь феноменальную производительность. Для определенных типов вычислений, подобных сложным алгоритмам для криптографии или поискам в гигантских массивах данных, квантовый компьютер может использовать "в тандеме" сотни атомов. На классическом компьютере это бы соответствовало выполнению миллиардов операций одновременно. [http://nature.web.ru/db/msg.html?mid=1151173&s=]

Помимо рассмотренных признаков классификации ЭВМ, используются и некоторые другие.

5. Методы оценки производительности ЭВМ (по пособию “Организация ЭВМ”)

Методы оценки производительности ЭВМ разделяются на два больших класса: экспериментальные и теоретические. К первым относятся разнообразные тестовые и измерительные программы, ко вторым – различные математические модели, связанные с применением аналитических и численных методов, а также методов статистического (имитационного) моделирования.

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

Экспериментальные методы оценки

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

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

Поэтому, при относительной простоте и дешевизне этих методов, точность полученных оценок будет определяться:

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

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

а) использовать в качестве такой нагрузки реальную задачу, которая будет решаться на ЭВМ;

б) написать собственную программу, характер операций в которой близок к желаемому;

в) использовать некоторую стандартную задачу или тестовую программу.

Каждый из этих путей имеет свои достоинства и недостатки.

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

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

Стандартные тестовые программы (более точно название программы для оценки производительности,  или  benchmark  programs / utilities,  так  как  тестирование  обычно предполагает просто проверку работоспособности) являются наиболее распространенным вариантом получения характеристик производительности для типовых применений ЭВМ, в особенности для сравнения различных моделей ЭВМ одного класса или близких классов. В частности, такие программы широко используются для оценки характеристик ПЭВМ. Однако общий характер таких программ делает их оценки не слишком близкими к конкретной ситуации. При этом возможны следующие разновидности таких программ:

- программы, оценивающие временные характеристики отдельно взятых устройств ЭВМ: процессора, кэш-памяти, оперативной памяти, жестких дисков, на основе измерения времени выполнения различных операций и передач блоков данных различной длины (например, SiSoft SANDRA, Speed System Test, Dr. Hardware, Everest, и др.). Эти программы дают и общие индексы производительности ЭВМ, однако такие индексы, как правило, можно использовать для сравнения результатов измерений, полученных только с помощью одной и той же программы;

- программы, оценивающие характеристики всей системы в целом для различных типов задач и показывающие относительные индексы производительности памяти (например, ZIFF Davis WinBench, 3DMark, SYSmark и др.). Причем такие программы могут либо предлагать на выбор несколько различных классов задач для оценки: дисковые приложения, графику, мультимедийные и игровые пакеты, либо быть узконаправленными, проводящими оценку только для одного типа задач;

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

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

Теоретические методы оценки

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

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

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

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

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

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

Рис.4. Модель основных блоков ПЭВМ в виде системы массового обслуживания

В теории массового обслуживания исследовано поведение моделей различных СМО для разных потоков запросов, законов распределения времени обслуживания и различных дисциплин обслуживания (с приоритетами, фиксированным временем пребывания в очереди и др.). Для ряда случаев получены аналитические решения и соответствующие формулы для вычисления среднего времени пребывания запроса в системе, среднего времени его ожидания в очереди, среднего количества запросов в очереди и других аналогичных характеристик, в частности дисперсий названных величин.

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

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

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

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

Одним из наиболее значимых для практики результатов, полученных с помощью таких моделей, можно считать тот факт, что при загрузках систем (обозначаемых через = /) более 0,8 – 0,85 имеет место резкий рост задержек в системе. Поэтому, планируя структуру и состав системы памяти, следует стараться обеспечить резерв пропускной способности трактов передачи данных и запоминающих устройств.

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

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

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

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

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

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

Описание моделируемых систем в виде сетей массового обслуживания влечет за собой использование при моделировании метода “особых состояний”. Этот метод заключается в определении момента tссi+1, соответствующего смене состояний сети, по известным характеристикам текущего состояния и процессов обслуживания в отдельных подсистемах сети (иначе говоря, принцип “асинхронности” моделирования), т.е.

tссi+1 = tссi + minj(tj ltссi),   j  J,  l  i,

где tссi – момент времени, соответствующий приходу сети в i-е состояние; tj l – момент окончания текущего процесса обслуживания, выполняемого j-й подсистемой сети, начатого в момент прихода сети в некоторое l-е состояние и не законченного до наступления момента tссi ; J – множество всех подсистем сети.

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

6. Оценка эффективности ЭВМ

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

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

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

Функциональная эффективность может оцениваться различными видами отношения производительности и стоимости. В качестве такого показателя использовали, например, (в сфере расчетов) стоимость s эффективной машинной операции [Глушков], определяемую как

s = S (T) / N (T),

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

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

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

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

Для второй трактовки (эффективность использования ЭВМ), в общем случае, можно применить и некоторые стандарты, например, ГОСТ 24.702-85. Эффективность автоматизированных систем управления. Согласно этому стандарту (п. 1.2) эффективность ЭВМ (в тексте стандарта - АСУ) определяют сопоставлением результатов от функционирования ЭВМ и затрат всех видов ресурсов, необходимых для ее создания и развития. Конечно, если все-таки речь идет вышестоящей системе, то оценить долю результатов, приходящихся непосредственно на ЭВМ, может оказаться не так просто.

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

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

7. Режимы работы ЭВМ

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

Помимо неудобств работы в таком режиме, которые сейчас, видимо, может представить себе каждый пользователь, низкой оказывалась и загрузка устройств ЭВМ, да и различные задачи загружали эти устройства по-разному.

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

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

1. Независимость хранящихся в памяти программ и данных от абсолютных адресов памяти (для возможности их загрузки в имеющуюся свободную память).

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

3. Наличие средств сохранения текущего состояния каждой программы.

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

5. Возможность прекращения (прерывания) выполнения программы при возникновении определенных условий (состояний устройств) или поступлении внешних сигналов.

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

Перечисленные требования была сформулированы в работах конца 1950-х – начала 1960-х годов [см. напр. S.Jill или B.Ryle], а их реализация уже имела место в ЭВМ, созданных в начале 1960-х годов.

Естественно, что для их реализации потребовалось введение новых механизмов и модификация структуры ЭВМ.

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

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

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

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

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

Напротив, режим разделения времени (называемый также многотерминальным режимом), позволял пользователям, работать, имитируя непосредственный контакт с ЭВМ, так как задачи попадали в очередь прямо при вводе с терминала (рабочей станции). Такой режим гораздо удобнее для человека, но эффективность использования ЭВМ при этом меньше, чем в пакетном режиме.

Впоследствии эти два режима работы ЭВМ породили много различных модификаций, в том числе и смешанного типа, сочетающего различным образом их свойства.

8. Общие закономерности и принципы построения ЭВМ

(подлежит последующей модификации)

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

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

- противоречивая взаимосвязь показателей и характеристик;

- иерархическая организация ЭВМ и систем;

- соответствие структуры системы её функциональному назначению;

- баланс пространственных (аппаратных) и временных (программных, микропрограммных) – характеристик;

- виртуализация функций и структур.

Противоречивая взаимосвязь показателей и характеристик ЭВМ

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

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

- производительность ( + функциональные возможности)

- стоимость

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

- потребляемая мощность

- габариты

- эксплуатационные затраты (персонал, охлаждение, снижение шума, энергия и пр.)

Иерархическая организация ЭВМ и систем

Организация ЭВМ и систем в целом, а также отдельных их подсистем и устройств подчиняется принципу иерархичности

Типичные иерархии в организации ЭВМ:

- иерархия памяти

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

- иерархия блоков (систем) управления

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

Соответствие структуры системы ее функциональному назначению

Структура системы соответствует возлагаемым на нее функциям и подчиняется предъявляемым системе требованиям. В процессе развития ЭВМ имеют место два параллельно протекающих подпроцесса – эволюция функций и эволюция технологий [Балашов Е.П. Эволюционный синтез систем. – М.: Радио и связь, 1985, 328 с.]. Эти подпроцессы взаимодействуют между собой в ходе основного процесса, однако ведущим среди них является процесс эволюции функций. Новые функциональные требования к ЭВМ появляются по мере освоения имеющихся технологий и совершенствования их параметров. Однако, с течением времени новым требованиям становится все труднее вписываться в рамки имеющихся технологий. Это, в свою очередь, формирует новые требования к технологиям, что, со временем приводит к технологическим прорывам.

Баланс пространственных (аппаратных) и временных (программных, микропрограммных) характеристик

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

Баланс между программной и аппаратной реализацией (e.g., обработка сигналов, ассоциативный доступ, определение параллелизма на уровне команд, RISC vs CISC )

Баланс между аппаратной и микропрограммной реализацией (семейства совместимых ЭВМ, микроконтроллеры и схемное управление)

Компромисс между последовательным и параллельным исполнением

обработка: ускоренные методы выполнения операций, многоблочные исполнительные подсистемы,

хранение: многоблочная оперативная память, RAID-массивы;

управление: конвейерная обработка, подготовка двух ветвей переходов, неупорядоченное исполнение;

передача: интерфейсы жестких дисков, оперативной памяти, PCI-Express.

Баланс между различными типами функций, их локализацией и структурой системы (например, ePOP, файл-сервер vs SQL-сервер, табличная реализация преобразований, “тонкий” клиент и “толстый” клиент etc.)

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

Виртуализация функций и структур

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

Типичными примерами использования этого принципа служат:

- Виртуальные машины, виртуальные серверы

 (Поддержка одновременной работы различных ОС, эмуляция ОС)

- Система виртуальной памяти

- Эмуляция аппаратных средств

- Переименование регистров

(банки и каналы ОП, RAID, логические устройства вв/выв, etc. )

9. Этапы проектирования ЭВМ

(подлежит последующей модификации)

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

- системное проектирование;

- структурное проектирование;

- логико-алгоритмическое проектирование;

- схемотехническое проектирование;

- конструкторское проектирование.

Следует учитывать, что в разработке ЭВМ не меньшее место, чем создание аппаратных средств, занимает и проектирование программного обеспечения.

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

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

Этап логико-алгоритмического проектирования предполагает разработку логической структуры и алгоритмов функционирования узлов и блоков создаваемой системы.

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

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

Одной из наиболее полных методологий является эволюционный синтез систем, базирующийся на предложенном его автором функционально-структурном подходе к анализу и синтезу систем. Этот подход представляет собой совокупность концепций, объективных закономерностей развития, положений и выводов, определяющих стратегию анализа и синтеза [4].

Функционально-структурный подход рассматривает процесс построения систем обработки информации как процесс перехода от функций разрабатываемой системы к ее структуре. Характерной особенностью этого подхода является широкое использование следующих моделей:

дерева функций системы;

дерева противоречий системы;

многоуровневой структуры системы на основе функциональных модулей;

структуры системы на основе конструктивных модулей.

Формирование структуры системы осуществляется на основе принципов декомпозиции и композиции функций и структур различных подсистем, а преобразование моделей системы производится в такой последовательности:

1) формирование дерева функций системы;

2) декомпозиция функций системы до уровня принятого базового набора операторов (преобразования 1 и 2 выполняются итеративно);

3) формирование функциональной структуры системы;

4) формирование технической структуры системы.

В этой последовательности можно выделить ряд этапов:

1. Анализ систем прототипов (выявление функций систем, построение обобщенного дерева функций, определение базовых структур и анализ принципов реализации).

2. Исследование дерева противоречий системы (анализ «узких мест» прототипов, ограничивающих факторов, выявление основного противоречия, построение дерева противоречий и его анализ).

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

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

5. Формирование функциональной структуры системы (анализ методов аппаратной и программной реализации, разработка алгоритмов функционирования системы, анализ связей между операторами различных уровней, построение диаграмм активности операторов, определение загрузки ресурсов, формирование функциональных модулей и их связей, выделение типовых функциональных подсистем).

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

7. Оценка показателей качества и выбор окончательного варианта системы по сформированному критерию.

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

Фрагмент одного из возможных вариантов обобщенного дерева функций на примере АЛУ представлен на рис. 5, где в качестве функций различных уровней выделены следующие:

Уровень 0

f0 – выполнение заданной совокупности преобразований;

Уровень 1

f1 – формирование результатов преобразований (основная функция);

f2 – обеспечение взаимодействия с другими устройствами (дополнительная функция);

f3 – выполнение контроля преобразований (дополнительная функция);

Уровень 2

f11 – обмен операндами и результатами внутри АЛУ;

f12 – хранение операндов и результатов;

f13 – преобразование операндов:

f14 – управление формированием результатов;

f21 – обмен данными с другими устройствами:

f22 – обмен управляющей информацией с другими устройствами;

Рис. 5. Вариант обобщенного дерева функций (на примере АЛУ)

Уровень 3

f111 – подача (промежуточных) операндов на блоки преобразований;

f112 – прием (промежуточных) результатов с блоков преобразований;

f121 – хранение операндов;

f122 – хранение промежуточных результатов;

f123 – хранение результатов;

f124 – хранение признаков результатов;

f131 – преобразование кодов;

f132 – сдвиг чисел;

f133 – арифметические преобразования;

f134 – логические преобразования;

f141 – формирование управляющих сигналов для настройки блоков преобразования;

f142 – формирование управляющих сигналов для передачи данных между блоками;

f143 – формирование признаков результатов;

f144 – формирование признаков занятости | готовности АЛУ;

f211 – прием операндов;

f212 – выдача результатов;

f221 – прием кода операции;

f222 – выдача признака занятости]готовности АЛУ;

f223 – выдача признаков результата.

(На рис. 5 не показана декомпозиция по уровням функции f3– контроль результатов преобразований, подобная декомпозиция основной функции f1).

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

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

При формировании концепции системы используют общие принципы разрешения противоречий.

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

10. Логические элементы и элементы памяти ЭВМ

(подлежит последующей модификации)

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

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

Однако чаще на практике применяют несколько иные функционально полные базисы, к которым в первую очередь относятся И-НЕ (штрих Шеффера) и ИЛИ-НЕ (стрелка Пирса). С помощью любого из этих элементов можно построить схему, реализующую произвольное логическое выражение. Действительно, используя теорему де Моргана, можно получить основные соотношения, позволяющие реализовать с помощью элементов И-НЕ или элементов ИЛИ-НЕ любую из операций исходного базиса И, ИЛИ, НЕ.

Так с помощью элементов И-НЕ можно получить инверсию (операцию НЕ), подав на оба входа такого двухвходового элемента одну и ту же переменную, конъюнкцию (операцию И), инвертировав результат операции И-НЕ на выходе одного элемента с помощью другого, а дизъюнкцию (операцию ИЛИ), выполнив операцию И-НЕ над инверсиями переменных. Соответствующие соотношения и схемы приведены на рис. 6, а, б и в соответственно.

Рис.6. Использование элементов И-НЕ для получения инверсии (а), конъюнкции (б)

и дизъюнкции (в)

Аналогично, с помощью элементов ИЛИ-НЕ можно получить инверсию (операцию НЕ), подав на оба входа такого двухвходового элемента одну и ту же переменную, дизъюнкцию (операцию ИЛИ), инвертировав результат операции ИЛИ-НЕ на выходе одного элемента с помощью другого, а конъюнкцию (операцию И), выполнив операцию ИЛИ-НЕ над инверсиями переменных и инвертировав результат. Соответствующие соотношения и схемы приведены на рис. 7, а, б и в соответственно. (Следует также заметить, что двухвходовый элемент ИЛИ-НЕ, на оба входа которого подается одна и та же переменная, чаще заменяется непосредственно инвертором)

Рис.7. Использование элементов ИЛИ-НЕ для получения инверсии (а), дизъюнкции (б)

и конъюнкции (в)

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

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

Триггер представляет собой элемент с двумя устойчивыми состояниями – “0” и “1”, входами, подавая сигналы на которые можно переключать состояния, и выходами (часто двумя – прямым и инверсным), сигналы на которых отображают состояние триггера. Причем, будучи переведен в какое-либо из них, триггер будет сохранять его бесконечно долго, пока не пропадет питание или на его вход не подадут изменяющий состояние сигнал.

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

На рис. 8 представлены триггеры четырех типов:

- RS-триггер (от англ. ResetSet : СброситьУстановить);

- D-триггер (от англ. Delay : Задержка);

- JK-триггер (от англ. JumpKill : прибл., УстановитьСбросить);

- T-триггер (от англ. Toggle : Переключить).

Правила изменения состояния триггеров Q под действием входных сигналов для каждого из типов триггеров приведены в соответствующих табличках, где Qt и Qt+1, означают состояния триггера в момент времени t (подачи сигнала) и t+1 (следующий момент, когда уже произойдет переход в другое состояние или триггер останется в прежнем состоянии).

R

S

Qt+1

D

C

Qt+1

J

K

Qt+1

T

Qt

Qt+1

0

0

Qt

0

0

Qt

0

0

Qt

0

0

0

0

1

0

0

1

0

0

1

0

0

1

1

1

0

1

1

0

Qt

1

0

1

1

0

1

1

1

1

1

1

1

1

Qt

1

1

0

Рис.8. Триггеры: RS-типа (а), D-типа (б), JK-типа (в) и T-типа (г) и их таблицы переходов

Типы триггеров не ограничиваются только перечисленными, часто используются триггеры, в которых имеются несколько различных типов входов, например, RS и T, D и R и пр. Используется также специальный дополнительный разрешающий вход V.

Триггеры непосредственно применяются в цифровых ЭВМ для хранения битовых переменных – флажков, признаков, состояний узлов и др. Кроме того, на их основе строятся боле сложные узлы для хранения данных, такие как регистры и счетчики.

Более подробно особенности организации, характеристики, технологии и др. свойства элементов и узлов ЭВМ изучаются в дисциплине “Схемотехника ЭВМ”.

11. Узлы комбинационного типа

(подлежит последующей модификации)

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

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

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

Наиболее распространенный полный двоичный дешифратор c m входами имеет n = 2m выходов. Чаще всего такие дешифраторы используются в запоминающих устройствах для выбора элементов (байтов, ячеек) памяти, по их адресу.

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

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

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

Шифраторы представляют собой узлы, формально обратные дешифраторам. Их назначение состоит в формировании на своем выходе кода, соответствующего входу шифратора, на который поступил сигнал. Обычный двоичный шифратор, имеет n входов и m выходов, причем m = log2 n. Чаще всего шифраторы используются для формирования кодов (номеров) поступающих входных сигналов, например, в схемах приема запросов прерывания. Однако существуют и специальные схемы шифраторов.

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

Изображение шифраторов на функциональных схемах также аналогично. Один из возможных вариантов показан на рис. 9,б, причем в среднем поле изображения могут быть помещены символы Шф или CD (coder).

Рис.9. Узлы комбинационного типа: дешифратор (а), шифратор (б), сумматор (в) и мультиплексор (г)

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

Существует довольно большое количество сумматоров различного типа. Эти различия сводятся, в основном, к следующим:

- способность сумматора сохранять полученную сумму: накапливающий и комбинационный сумматоры;

- способность одновременно суммировать все разряды слагаемых: параллельный (все разряды одновременно), последовательный (разряд за разрядом), параллельно-последовательный (промежуточный вариант);

- возможность выполнять другие микрооперации: простой сумматор, сумматор-вычитатель, десятичный сумматор, сумматор с возможностью выполнения логических операций и др.;

- количество одновременно складываемых слагаемых: два или более;

- некоторые другие особенности.

Самый простой комбинационный двоичный одноразрядный сумматор (точнее, полусумматор) реализует функцию сложения двух одноразрядных двоичных чисел и представляет собой схему реализующую функции исключающее-ИЛИ, формирующую одноразрядную сумму данного разряда, и функцию И, формирующую сигнал переноса в более старший разряд. Схема такого сумматора и его изображение показаны на рис. 10,а и б.

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

Многоразрядный (параллельный) комбинационный сумматор в простейшем случае состоит из n одноразрядных сумматоров, где n – разрядность суммируемых чисел. Сигнал с выхода переноса каждого разряда сумматора, кроме самого старшего, подается на вход соседнего более старшего разряда. Такое соединение показано на рис. 10,г. Это наиболее простой вариант построения цепей переноса, и такой сумматор называют сумматором с последовательными переносами. Его достоинство – простота, а недостаток – большое время суммирования, так как в пределе сигнал переноса может проходить по всем разрядам сумматора (например, при суммировании 11…11 + 1), что при большой разрядности суммируемых чисел требует большого времени. Поэтому сумматоры могут строиться и с более сложными схемами переноса.

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

Рис.10. Сумматоры: полусумматор (а), схема полусумматора (б), одноразрядный сумматор (в), многоразрядный сумматор с последовательными переносами (г)

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

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

Сдвигатели, используются для выполнения микроопераций сдвига информации. Причем сдвигатели комбинационного типа осуществляют сдвиг в момент передачи данных через себя, посредством передачи поступившего на вход i-го разряда бита информации на выход другого разряда, например, i+1-го при сдвиге вправо.

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

Кроме того, у мультиплексора, как и у других узлов, может присутствовать разрешающий вход V.

Обозначение мультиплексора на функциональных схемах показано на рис. 9,г.

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

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

Рис.11. Обозначения узлов ЭВМ на структурных схемах: произвольный узел (а), одновходовый узел комбинационного типа (б), двухвходовый узел комбинационного типа (в)

12. Регистры и счетчики

(подлежит последующей модификации)

Основными “строительными элементами” ЭВМ, реализующими функцию хранения данных, а также некоторые их преобразования, являются регистры. Кроме них функцию хранения реализуют также особые узлы – счетчики, которые выполняют еще некоторые преобразования данных, связанные с последовательным счетом.

Регистры строятся на основе триггеров и обычно представляют собой набор триггеров, количество которых равно разрядности регистра, объединенных общими шинами управления. Свойства регистра могут зависеть от типа использованных в нем триггеров. Представление регистра на уровне триггеров, показано на рис. 12,а, а возможный вариант обозначения регистра на функциональной схеме – на рис.12,б. На этом рисунке у регистра показан вход сброса (R), и разрешения приема (C), а обозначения DI и DO означают входы и выходы соответственно (Data Input и Data Output).

Рис.12. Схема регистра на уровне триггеров (а) и вариант обозначения регистра на функциональных схемах (б)

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

Рис.13. Обозначение регистров на структурных схемах: прием информации в регистр (а), передача информации между регистрами (б)

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

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

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

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

12(0). Элементы памяти (ЭП) статических и динамических ЗУ

(подлежит последующей модификации)

Полупроводниковые оперативные (двусторонние) ЗУ с произвольным доступом по используемым типам элементов памяти (ЭП) разделяются на статические и динамические.

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

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

Варианты схем статических элементов памяти показаны на рис. 14.

Рис.14. Схемы статических элементов памяти: а) на основе биполярных транзисторов,

б) на основе МОП-транзисторов

На рис. 14а показана схема статического элемента памяти на биполярных многоэмиттерных транзисторах, реализуемых в технологии ТТЛ.

Принцип работы этих элементов достаточно прост.

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

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

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

В режиме записи одновременно с подъемом потенциала на адресной шине понижается до U0 потенциал на разрядной шине, соответствующей состоянию, в которое переключается элемент, и повышается до U2 потенциал на противоположной разрядной шине. При этом транзистор, подключенный к разрядной шине с низким потенциалом, открывается, а транзистор, подключенный к разрядной шине с высоким потенциалом, запирается. (Например, при записи единицы потенциал ШР”1 понижается до U0, а потенциал ШР”0повышается до U2, что приводит к отпиранию транзистора V2 и, напротив, к запиранию транзистора V1 , т.е. переключению триггера в состояние “1”).

В элементе, показанном на рис. 14,б, триггер образуют транзисторы V4 и V5, транзисторы V3 и V6 выполняют роль нагрузочных сопротивлений (как R1 и R2 на рис. 6а), а транзисторы V1, V2, V7 и V8 играют роль ключей, обеспечивающих подключение триггера выбираемого ЭП к разрядным шинам. Следует обратить внимание, что выборка элемента, показанного на рис. 14,б, обеспечивается по двум адресным шинам, что позволяет выбрать из матрицы элементов памяти только один элемент. Если удалить крайние ключи, то элемент по схеме выборки станет похожим на тот, который показан на рис. 14,а.

В состоянии хранения информации на адресных шинах ШАX и ШАY установлен низкий уровень напряжения U1 < UП – порогового напряжения отпирания МОП-транзистора. При этом ключевые транзисторы V1, V2, V7 и V8 закрыты и триггер на транзисторах V4 и V5 изолирован от разрядных шин. Пусть при этом, для того, чтобы сохранить состояния транзисторов, как в предыдущей схеме, при записанном “0” открыт V4 и закрыт V5, а при “1” – закрыт V4 и открыт V5.

При чтении или записи потенциал на адресных шинах повышается до некоторого значения U2 > UП. При этом в режиме считывания через открывшиеся ключи V1, V2, V7 и V8 на разрядную шину, соединенную с открытым транзистором триггера, поступает низкий потенциал, а на разрядную шину, соединенную с закрытым транзистором триггера – низкий потенциал, что и распознается усилителями считывания, как соответствующее состояние ЭП.

В режиме записи управление разрядными шинами будет аналогичным, по отношению к рассмотренному в предыдущей схеме. Поэтому при записи одновременно с подъемом потенциала на адресных шинах понижается до потенциала U1 < UП на разрядной шине, соответствующей состоянию, в которое переключается элемент, и повышается до потенциала U2 > UП на противоположной разрядной шине. При этом транзистор, затвор которого подключен к разрядной шине с низким потенциалом, закрывается, а транзистор, затвор которого подключен к разрядной шине с высоким потенциалом, открывается. (Например, при записи единицы потенциал ШР”1 понижается до U1, а потенциал ШР”0повышается до U2, что приводит к отпиранию транзистора V5 и, напротив, к запиранию транзистора V4 , т.е. переключению триггера в состояние “1”).

В динамических ЗУ хранение информации обеспечивает заряд электрической емкости (конденсатора), например, наличие заряда на конденсаторе соответствует “1”, а разряженный конденсатор – “0” (или наоборот). Этот способ хранения приводит к меньшему энергопотреблению таких элементов памяти. Кроме того, их удается сделать более компактными, что увеличивает плотность хранения и, следовательно, емкость микросхем динамической памяти, по сравнению со статической.

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

Несмотря на это обстоятельство, динамическая память является основным вариантом памяти, используемым в качестве оперативных ЗУ ЭВМ в настоящее время.

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

Рис.15. Схемы динамических элементов памяти: а) одностранзисторный, б) трехранзисторный

На рис. 15,а показана схема динамического элемента памяти, построенного на одном МОП-транзисторе и одном конденсаторе, специально включенном в ЭП.

Управление этим элементом и состав его шин отличается от вышерассмотренных, а работает он следующим образом.

В режиме хранения информации на адресную шину ША подан низкий потенциал U1 < UП. (UП – то же пороговое напряжение отпирания МОП-транзистора). При этом ключевой транзистор V закрыт, емкость C тем самым изолирована от разрядной шины ШР и сохраняет свой заряд, например, в случае, если в ней записана “1” , или разряжена при записанном нуле (можно принять и противоположные состояния).

При чтении или записи потенциал на адресной шине повышается до некоторого значения U2 > UП. При этом в режиме считывания через открывшийся ключ V на разрядную шину в случае заряженной емкости C поступает ее заряд, что и распознается усилителями считывания, как соответствующее состояние ЭП.

В режиме записи одновременно с подъемом потенциала на адресной шине на разрядной шине потенциал повышается, если необходимо зарядить емкость C (запись “1”), и понижается, если необходимо ее разрядить (запись “0”), чем и производится запись соответствующей информации в ЭП.

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

Управление этим элементом подобно рассмотренному выше.

В силу различия своих конструктивных и функциональных характеристик элементы памяти статических ЗУ используются в менее емких, но более быстродействующих ЗУ, а динамические ЭП, напротив, в более емких, но медленных. Наиболее широкое распространение статические ЗУ получили в качестве кэш-памяти, а динамические – в качестве оперативной памяти.

Ассоциативные и многофункциональные ЗУ

(см. Lect15add.doc)


Библиография и ссылки

[Акаев] Акаев А.А., Майоров С.А. Оптические методы обработки информации. – М.: Высш. шк., 1988. – 237 с.

[кв. комп] http://www.osp.ru/os/2000/05-06/023.htm

[кв. комп] http://qi.cs.msu.su/LabPage/Russian/sl_art.html

[Глушков] Глушков В.М. Два универсальных критерия эффективности вычислительных машине. – Доклады АН УССР, 1960, № 4, с. 477-481.

[4 - Балашов] Балашов Е.П. Эволюционный синтез систем. – М., Радио и связь

[S.Gill]  S.Gill, Computer Journal, 1958, v.1, N 1, p. 2-10

[B.Ryle]  Communications of ACM, 1961, v.4, N 2, p. 99-101




1. реферат диссертации на соискание ученой степени кандидата технических наук.
2. Я убиваю В одной только Италии он сразу же приобрел более четырех миллионов поклонников и вскоре был перев
3. Детали машин 12.html
4. Вариант 3 1. Термин социология в переводе означает- А
5. he is bit stubborn. Nevertheless he is plesnt to del with
6. а и т д. Вопрос 23
7. Концепция «Потопа» как новая парадигма географической науки
8. Экологическая ниша земноводных
9. Лекция 8 Классы
10. тема развития российская национальная идеябеседа директора Всероссийского научнотехнического информац
11. История и теория массовых праздников. Учебнометодический комплекс
12. тема организации производства и сбыта ориентированная на возможно более полное удовлетворение быстро мен
13.  Операционный стресс это- 1 биологические процессы защиты в ответ на хирургическую травму 2 биологич
14. модульными фрезами
15. Тема 3 Правовое регулирование управленческой деятельности организации Организация это группа людей ко
16. Лабораторная работа 1 Тема- Скорость химической реакции Опыт 1
17. ні~ программалы~ ~~ралдарыны~ ажырамас б~лігі болып саналады
18. Государственный финансовый контроль.html
19. Note to the screen of fullsize Smsung Glxy device when tht phone or tblet is picked up
20. Прерванная жизнь Сюзанна Кейсен Прерванная жизнь Прерванная жизнь- Амфора; М