1. Счётно-решающие средства до появления ЭВМ. Принципы Чарльза Беббиджа
История вычислений уходит своими корнями в глубь веков так же, как и история развития человечества. Накопление запасов, дележ добычи, обмен - все эти действия связаны с вычислениями. Для подсчетов люди использовали собственные пальцы, камешки, палочки, узелки и пр.
Потребность в поиске решений все более и более сложных задач и, как следствие, все более сложных и длительных вычислений поставила человека перед необходимостью искать способы, изобретать приспособления, которые смогли бы ему в этом помочь. Исторически сложилось так, что в разных странах появились свои денежные единицы, меры веса, длины, объема, расстояния и т. д. Для перевода из одной системы мер в другую требовались вычисления, которые обычно могли производить лишь специально обученные люди, досконально знавшие всю последовательность действий. Их нередко приглашали даже из других стран. И совершенно естественно возникла потребность в изобретении устройств, помогающих счету. Так постепенно стали появляться механические помощники. До наших дней дошли свидетельства о многих таких изобретениях, навсегда вошедших в историю техники.
Одним из первых устройств (V - IV века до н. э.), облегчавших вычисления, можно считать специальное приспособление, названное впоследствии абаком. Первоначально это была доска, посыпанная тонким слоем мелкого песка или порошка из голубой глины. На ней заостренной палочкой можно было писать буквы, цифры. Впоследствии абак был усовершенствован и вычисления на нем уже проводились путем перемещения костей и камешков в продольных углублениях, а сами доски начали изготавливать из бронзы, камня, слоновой кости и пр. Со временем эти доски стали расчерчиваться на несколько полос и колонок. В Греции абак существовал еще в V веке до н. э., у японцев этот прибор назывался "серобян", у китайцев - "суан-пан".
В Древней Руси при счете применялось устройство, похожее на абак, и называлось оно "русский щот". В XVII веке этот прибор уже имел вид привычных русских счет, которые можно встретить и в наши дни.
В начале XVII столетия, когда математика стала играть ключевую роль в науке, все острее ощущалась необходимость в изобретении счетной машины. К этому времени относится создание молодым французским математиком и физиком Блезом Паскалем первой счетной машины, названной Паскалиной, которая выполняла сложение и вычитание.
В 1670 - 1680 годах немецкий математик Готфрид Лейбниц сконструировал счетную машину, которая выполняла все четыре арифметических действия.
В течение следующих двухсот лет было изобретено и построено еще несколько подобных счетных устройств, которые из-за ряда недостатков не получили широкого распространения.
Лишь в 1878 году русский ученый П. Чебышев сконструировал счетную машину, выполнявшую сложение и вычитание многозначных чисел. Наиболее широкое распространение в то время получил арифмометр, сконструированный петербургским инженером Однером в 1874 году. Конструкция прибора оказалась весьма удачной, так как позволяла довольно быстро выполнить все четыре арифметических действия.
В 30-е годы XX столетия в нашей стране был разработан более совершенный арифмометр - "Феликс". Эти счетные устройства применялись несколько десятилетий и были основным техническим средством, облегчающим труд людей, связанных с обработкой больших объемов числовой информации.
Важным событием XIX века было изобретение английского математика Чарльза Беббиджа, который вошел в историю как изобретатель первой вычислительной машины - прообраза современных компьютеров. В 1812 г. он начал работать над так называемой "разностной" машиной. Предшествующие вычислительные машины Паскаля и Лейбница выполняли только арифметические действия. Беббидж же стремился сконструировать машину, которая выполняла бы определенную программу, проводила бы расчет числового значения заданной функции. В качестве основного элемента разностной машины Беббидж использовал зубчатое колесо для запоминания одного разряда десятичного числа. В результате он смог оперировать 18-разрядными числами.
В 1822 году была построена пробная модель Разностной машины, способной рассчитывать и печатать большие математические таблицы. Работа модели основывалась на принципе, известном в математике как "метод конечных разностей": при вычислении многочленов используется только операция сложения и не выполняется умножение и деление, которые значительно труднее поддаются автоматизации. При этом предусматривалось применение десятичной системы счисления, а не двоичной, как в современных компьютерах. Это было очень сложное, большое устройство и предназначалось для автоматического вычисления логарифмов.
На протяжении следующих десятилетий Бэббидж работал над своим изобретением. В 1834 году он пришел к идее создания еще более мощной машины - Аналитической, которая не просто должна была решать математические задачи одного определенного типа, а выполнять разнообразные вычислительные операции в соответствии с инструкциями, задаваемыми оператором. В этой машине он использовал идею программного управления Жаккарда с помощью перфокарт.
Бэббидж развил эту идею, применив ее для автоматизации вычислений, и реализовал управление в зависимости от текущего результата вычислений. Аналитическая машина должна была иметь такие компоненты, как "мельница" и "склад" (арифметическое устройство и память), состоящие из механических рычажков и шестеренок. Память машины вмещала до 100 сорокоразрядных чисел. Эти числа должны были храниться в памяти, пока до них не дойдет очередь в арифметическом устройстве. Результаты операции либо отправлялись в память, чтобы также ждать своей очереди, либо распечатывались.
Если Разностная машина имела сомнительные шансы на успех, то Аналитическая машина и вовсе выглядела нереалистичной. Ее просто невозможно было построить и запустить в работу. В своем окончательном виде машина должна была быть не меньше железнодорожного локомотива. Ее внутренняя конструкция представляла собой беспорядочное нагромождение стальных, медных и деревянных деталей, часовых механизмов, приводимых в действие паровым двигателем.
Аналитическая машина так и не была построена. Все, что дошло от нее до наших дней, - это ворох чертежей и рисунков, а также небольшая часть арифметического устройства и печатающее устройство, сконструированное сыном Бэббиджа.
Наивысшим достижением Чарльза Бэббиджа и вместе с тем его величайшей болью была разработка принципов, положенных в основу современных компьютеров, за целое столетие до того, как появилась техническая возможность их реализации. Он потратил несколько десятилетий, крупные правительственные субсидии и значительную часть собственных средств в попытках создать вычислительную машину, работающую на этих принципах. Интересно, что в процессе работы над проектом Аналитической машины Бэббидж нашел подходы к созданию значительно менее громоздкого устройства Разностной машины №2.
По иронии судьбы Разностной машине повезло больше. Шведский издатель, изобретатель, переводчик Пер Георг Шойц, прочтя как-то об этом устройстве, построил его слегка видоизмененный вариант, воспользовавшись ценными советами Бэббиджа. В 1854 году это устройство прошло испытание в Лондоне, а годом позже Разностная машина Шойца была удостоена золотой медали на Всемирной выставке в Париже. Спустя еще несколько лет английский инженер Данкин по заказу британского правительства, отказавшего в свое время в поддержке Бэббиджу, сделал копию шведской машины для правительственной канцелярии.
В чем же суть достижений Чарльза Бэббиджа и его ученицы и помощницы Ады Лавлейс?
Идея программного управления процессом вычислений.
Предложение использовать перфокарты для ввода и вывода данных и для управления, а также для обмена и передачи чисел в самой машине.
Изобретение системы предварительного переноса для ускорения расчетов.
Применение способа изменения хода вычислений, получившего в дальнейшем название условного перехода.
Введение понятия циклов операций и рабочих ячеек.
2. Поколения ЭВМ. Компьютеры параллельного действия. ПЕРВОЕ ПОКОЛЕНИЕ ЭВМ
Появление электронно-вакуумной лампы позволило ученым претворить в жизнь идею создания вычислительной машины. Она появилась в 1946 году в США и получила название ЭНИАК (ENIAC - Electronic Numerical Integrator and Calculator, "электронный численный интегратор и калькулятор"). Это событие ознаменовало начало пути, по которому пошло развитие электронно-вычислительных машин (ЭВМ). Дальнейшее совершенствование ЭВМ определялось развитием электроники, появлением новых элементов и принципов действий, то есть улучшением и расширением элементной базы. В настоящее время насчитывается уже несколько поколений ЭВМ. Под поколением ЭВМ понимают все типы и модели электронно-вычислительных машин, разработанные различными конструкторскими коллективами, но построенные на одних и тех же научных и технических принципах. Смена поколений обуславливалась появлением новых элементов, изготовленных с применением принципиально иных технологий.
Первое поколение (1946 - середина 50-х годов). Элементной базой служили электронно-вакуумные лампы, устанавливаемые на специальных шасси, а также резисторы и конденсаторы. Элементы соединяли проводами навесным монтажом. В ЭВМ ЭНИАК было 20 тыс. электронных ламп, из которых ежемесячно заменялось 2000. За одну секунду машина выполняла 300 операций умножения или же 5000 сложений многоразрядных чисел.
Выдающийся математик Джон фон Нейман и его коллеги изложили в своем отчете основные принципы логической структуры ЭВМ нового типа, которые позже были реализованы в проекте ЭДВАК (1950 г). В отчете утверждалось, что ЭВМ должна создаваться на электронной основе и работать в двоичной системе счисления. В ее состав должны входить следующие устройства: арифметическое, центральное управляющее, запоминающее, для ввода данных и вывода результатов. Ученые также сформулировали два принципа работы: принцип программного управления с последовательным выполнением команд и принцип хранимой программы. Конструкция большинства ЭВМ последующих поколений, где были реализованы эти принципы, получила название "фон-неймановской архитектуры".
Первая отечественная ЭВМ была создана в 1951 году под руководством академика С. А. Лебедева, и называлась она МЭСМ (малая электронная счетная машина). Затем в эксплуатацию ввели БЭСМ-2 (большую электронную счетную машину). Самой мощной ЭВМ 50-х годов в Европе была советская электронно-вычислительная машина М-20 с быстродействием 20 тыс. оп/с и объемом оперативной памяти 4000 машинных слов.
С этого времени начался бурный расцвет отечественной вычислительной техники, и к концу 60-х годов в нашей стране успешно функционировала лучшая по производительности (1 млн. оп/с) ЭВМ того времени - БЭСМ-6, в которой были реализованы многие принципы работы последующих поколений компьютеров.
С появление новых моделей ЭВМ произошли изменения и в названии этой сферы деятельности. Ранее любую технику, используемую для вычислений, обобщенно называли "счетно-решающими приборами и устройствами". Теперь же все, что имеет отношение к ЭВМ, именуют вычислительной техникой.
Характерные черты ЭВМ первого поколения.
Элементная база: электронно-вакуумные лампы, резисторы, конденсаторы. Соединение элементов: навесной монтаж проводами.
Габариты: ЭВМ выполнена в виде громадных шкафов и занимают специальный машинный зал.
Быстродействие: 10 - 20 тыс. оп/с.
Эксплуатация слишком сложна из-за частого выхода из строя электронно-вакуумных ламп. Существует опасность перегрева ЭВМ.
Программирование: трудоемкий процесс в машинных кодах. При этом необходимо знать все команды машины, их двоичное представление, архитектуру ЭВМ. Этим в основном были заняты математики-программисты, которые непосредственно и работали за ее пультом управления. Обслуживание ЭВМ требовало от персонала высокого профессионализма.
ВТОРОЕ ПОКОЛЕНИЕ ЭВМ
Второе поколение приходится на период от конца 50-х до конца 60-х годов.
К этому времени был изобретен транзистор, который пришел на смену электронным лампам. Это позволило заменить элементную базу ЭВМ на полупроводниковые элементы (транзисторы, диоды), а также резисторы и конденсаторы более совершенной конструкции. Один транзистор заменял 40 электронных ламп, работал с большей скоростью, был дешевле и надежнее. Средний срок его службы в 1000 раз превосходил продолжительность работы электронных ламп.
Изменилась и технология соединения элементов. Появились первые печатные платы - пластины из изоляционного материала, например гетинакса, на которые по специальной технологии фотомонтажа наносился токопроводящий материал. Для крепления элементной базы на печатной плате имелись специальные гнезда.
Такая формальная замена одного типа элементов на другой существенно повлияла на все характеристики ЭВМ: габариты, надежность, производительность, условия эксплуатации, стиль программирования и работы на машине. Изменился технологический процесс изготовления ЭВМ.
Характерные черты ЭВМ второго поколения
Элементная база: полупроводниковые элементы. Соединение элементов: печатные платы и навесной монтаж.
Габариты: ЭВМ выполнены в виде однотипных стоек, чуть выше человеческого роста. Для их размещения требуется специально оборудованный машинный зал, в котором под полом прокладываются кабели, соединяющие между собой многочисленные автономные устройства.
Производительность: от сотен тысяч до 1 млн. оп/с.
Эксплуатация: упростилась. Появились вычислительные центры с большим штатом обслуживающего персонала, где устанавливалось обычно несколько ЭВМ. Так возникло понятие централизованной обработки информации на компьютерах. При выходе из строя нескольких элементов производилась замена целиком всей платы, а не каждого элемента в отдельности, как в ЭВМ предыдущего поколения.
Программирование: существенно изменилось, так как стало выполняться преимущественно на алгоритмических языках. Программисты уже не работали в зале, а отдавали свои программы на перфокартах или магнитных лентах специально обученным операторам. Решение задач производилось в пакетном (мультипрограммном) режиме, то есть все программы вводились в ЭВМ подряд друг за другом, и их обработка велась по мере освобождения соответствующих устройств. Результаты решения распечатывались на специальной перфорированной по краям бумаге.
Произошли изменения как в структуре ЭВМ, так и в принципе ее организации. Жесткий принцип управления заменился микропрограммным. Для реализации принципа программируемости необходимо наличие в компьютере постоянной памяти, в ячейках которой всегда присутствуют коды, соответствующие различным комбинациям управляющих сигналов. Каждая такая комбинация позволяет выполнить элементарную операцию, то есть подключить определенные электрические схемы.
Введен принцип разделения времени, который обеспечил совмещение во времени работы разных устройств, например, одновременно с процессором работает устройство ввода-вывода с магнитной ленты.
ТРЕТЬЕ ПОКОЛЕНИЕ ЭВМ
Этот период продолжается с конца 60-х до конца 70-х годов. Подобно тому, как изобретение транзисторов привело к созданию компьютеров второго поколения, появление интегральных схем ознаменовало новый этап в развитии вычислительной техники - рождение машин третьего поколения.
В 1958 году Джон Килби впервые создал опытную интегральную схему. Такие схемы могут содержать десятки, сотни и даже тысячи транзисторов и других элементов, которые физически неразделимы. Интегральная схема выполняет те же функции, что и аналогичная ей схема на элементной базе ЭВМ второго поколения, но при этом она имеет существенно меньшие размеры и более высокую степень надежности.
Первой ЭВМ, выполненной на интегральных схемах, была IBM-360 фирмы IBM. Она положила начало большой серии моделей, название которых начиналось с IBM, а далее следовал номер, который увеличивался по мере совершенствования моделей этой серии. То есть чем больше был номер, тем большие возможности предоставлялись пользователю.
Аналогичные ЭВМ стали выпускать и в странах СЭВ (Совета экономической взаимопомощи): СССР, Болгарии, Венгрии, Чехословакии, ГДР, Польше. Это были совместные разработки, причем каждая страна специализировалась на определенных устройствах. Выпускались два семейства ЭВМ:
большие - ЕС ЭВМ (единая система), например ЕС-1022, ЕС-1035, ЕС-1065;
малые - СМ ЭВМ (система малых), например СМ-2, СМ-3, СМ-4.
В то время любой вычислительный центр оснащался одной-двумя моделями ЕС ЭВМ. Представителей семейства СМ ЭВМ, составляющих класс мини-ЭВМ, можно было довольно часто встретить в лабораториях, на производстве, на технологических линиях, на испытательных стендах. Особенность этого класса ЭВМ состояла в том, что все они могли работать в реальном масштабе времени, то есть, ориентируясь на конкретную задачу.
Характерные черты ЭВМ третьего поколения.
Элементная база: интегральные схемы, которые вставляются в специальные гнезда на печатной плате.
Габариты: внешнее оформление ЕС ЭВМ схоже с ЭВМ второго поколения. Для их размещения также требуется машинный зал. А малые ЭВМ - это, в основном, две стойки приблизительно в полтора человеческих роста и дисплей. Они не нуждались, как ЕС ЭВМ, в специально оборудованном помещении.
Производительность: от сотен тысяч до миллионов операций в секунду.
Эксплуатация: несколько изменилась. Более оперативно производится ремонт обычных неисправностей, но из-за большой сложности системной организации требуется штат высококвалифицированных специалистов. Большую роль играет системный программист.
Технология программирования и решения задач: такая же, как на предыдущем этапе, хотя несколько изменился характер взаимодействия с ЭВМ. Во многих вычислительных центрах появились дисплейные залы, где каждый программист в определенное время мог подсоединиться к ЭВМ в режиме разделения времени. Как и прежде, основным оставался режим пакетной обработки задач.
Произошли изменения в структуре ЭВМ. Наряду с микропрограммным способом управления используются принципы модульности и магистральности. Принцип модульности проявляется в построении компьютера на основе набора модулей - конструктивно и функционально законченных электронных блоков в стандартном исполнении. Под магистральностью понимается способ связи между модулями компьютера, то есть все входные и выходные устройства соединены одними и теми же проводами (шинами). Это прообраз современной системной шины.
Увеличились объемы памяти. Магнитный барабан постепенно вытесняется магнитными дисками, выполненными в виде автономных пакетов. Появились дисплеи, графопостроители.
ЧЕТВЕРТОЕ ПОКОЛЕНИЕ ЭВМ
Этот период оказался самым длительным - от конца 70-х годов по настоящее время. Он характеризуется всевозможными новациями, приводящими к существенным изменениям. Однако кардинальных, революционных перемен, позволяющих говорить о смене этого поколения ЭВМ, пока не произошло. Хотя, если сравнивать ЭВМ, например, начала 80-х годов и сегодняшние, то очевидно существенное различие.
Следует особо отметить одну из самых значительных идей, воплощенных в компьютере на данном этапе: использование для вычислений одновременно нескольких процессоров (мультипроцессорная обработка). Также претерпела изменение и структура компьютера.
Новые технологии создания интегральных схем позволили разработать в конце 70-х - начале 80-х годов ЭВМ четвертого поколения на больших интегральных схемах (БИС), степень интеграции которых составляет десятки и сотни тысяч элементов на одном кристалле. Наиболее крупным сдвигом в электронно-вычислительной технике, связанным с применением БИС, стало создание микропроцессоров. Сейчас этот период расценивается как революция в электронной промышленности. Первый микропроцессор был создан фирмой Intel в 1971 году. На одном кристалле удалось сформировать минимальный по составу аппаратуры процессор, содержащий 2250 транзисторов.
С появлением микропроцессора связано одно из важнейших событий в истории вычислительной техники - создание и применение персональных ЭВМ, что даже повлияло на терминологию. Постепенно прочно укоренившийся термин "ЭВМ" был вытеснен ставшим уже привычным словом "компьютер", а вычислительная техника стала называться компьютерной.
Начало широкой продажи персональных ЭВМ связано с именами С. Джобса и В. Возняка, основателей фирмы "Эпл компьютер" (Apple Computer), которая с 1977 года наладила выпуск персональных компьютеров "Apple". В компьютерах этого типа за основу был взят принцип создания "дружественной" обстановки работы человека на ЭВМ, когда при создании программного обеспечения одним из основных требований стало обеспечение удобной работы пользователя. ЭВМ повернулась лицом к человеку. Дальнейшее ее совершенствование шло с учетом удобства работы пользователя. Если раньше при эксплуатации ЭВМ был реализован принцип централизованной обработки информации, когда пользователи концентрировались вокруг одной ЭВМ, то с появлением персональных компьютеров произошло обратное движение - децентрализация, когда один пользователь может работать с несколькими компьютерами.
С 1982 года фирма IBM приступила к выпуску модели персонального компьютера, ставшего эталоном на долгие времена. IBM выпустила документацию по аппаратуре и программные спецификации, что позволило другим фирмам разрабатывать как аппаратное, так и программное обеспечение. Таким образом, появились семейства (клоны) "двойников" персональных компьютеров IBM.
В 1984 году фирмой IBM был разработан персональный компьютер на базе микропроцессора 80286 фирмы Intel с шиной архитектуры промышленного стандарта - ISA (Industry Standart Architecture). С этого времени началась жесткая конкуренция между несколькими корпорациями, производящими персональные компьютеры. Один тип процессора сменял другой, что зачастую требовало дополнительной существенной модернизации, а подчас и полной замены компьютеров. Гонка в поиске все более и более совершенных технических характеристик всех устройств компьютера продолжается и по сей день. Каждый год требуется проводить коренную модернизацию существующего компьютера.
Общее свойство семейства IBM PC - совместимость программного обеспечения снизу вверх и принцип открытой архитектуры, предусматривающий возможность дополнения имеющихся аппаратных средств без изъятия старых или их модификацию без замены всего компьютера.
Современные ЭВМ превосходят компьютеры предыдущих поколений компактностью, огромными возможностями и доступностью для разных категорий пользователей.
Компьютеры четвертого поколения развиваются в двух направлениях, о которых будет рассказано в последующих темах этого раздела. Первое направление - создание многопроцессорных вычислительных систем. Второе - изготовление дешевых персональных компьютеров, как в настольном, так и в переносном исполнении, а на их основе - компьютерных сетей.
3. Классическая архитектура ЭВМ. Принципы фон Неймана.
Фон Нейман с соавторами выдвинули основные принципы логического устройства ЭВМ и предложили ее структуру, которая полностью воспроизводилась в течение первых двух поколений ЭВМ:
Устройства ввода
Устройства вывода
Внешняя память
Память
(ОЗУ, ПЗУ)
Процессор
(АЛУ, УУ)
- направление движения информацией
- управление воздействия УУ.
Кроме архитектуры ЭВМ Нейман предложил основополагающие принципы логического устройства ЭВМ.1946 год. Группа ученых во главе с Нейманом (Г.Голдстайн, А.Беркс) написали статью «Предварительное рассмотрение логической конструкции ЭВ устройства». Там обосновывается использование двоичной системы для представления данных в ЭВМ (преимущественно для технической реализации, простота выполнения арифметических и логических операций). До этого машины хранили данные в 10 –ом виде.
1.Принцип программного управления. Он обеспечивает автоматизацию процессов вычислений на ЭВМ. Согласно этому принципу программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Как это выполняется? Введем 2 определения.
Регистр – специализированная дополнительная ячейка памяти в процессоре. Регистр выполняет функцию кратковременного хранения числа или команды.
Счетчик команд – регистр УУ, содержимое которого соответствует адресу очередной выполняемой команды, он служит для автоматической выборки программы из последовательных ячеек памяти. То есть, с его помощью осуществляется выборка программы из памяти. Этот регистр последовательно увеличивает хранимый в нем адрес очередной команды на длину команды.
А так как, команды программы расположены в памяти друг за другом, то тем самым осуществляется выборка цепочки команд из последовательно расположенных ячеек памяти.
Если же нужно после выполнения команды перейти не к следующей, а к какой – то другой, используются команды условного или безусловного переходов. Таким образом, процессор исполняет программу автоматически, без вмешательства человека.
2. Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что храниться в данной ячейке памяти – число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.
Иногда этот принцип называют «принцип хранимой команды». И это отсутствие принципиальной разницы между программой и данными дало возможность ЭВм самой формировать для себя программу в соответствии с результатом вычислений.
3. Принцип адресности. Структурно основная память состоит из пронумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка. Это позволяет обращаться к произвольной ячейке (адресу) без просмотра предыдущих.
Компьютеры, построенные на этих принципах, относят к типу фон - нейманских.
На сегодняшний день это подавляющие большинство компьютеров, в том числе и IBM PS – совместимые. Но есть и компьютерные системы с иной архитектурой – например системы для параллельных вычислений.
4. Внешние устройства компьютера.
Основное назначение ВУ - обеспечить поступление в ЭВМ из окружающей среды программ и данных для обработки, а также выдачу результатов работы ЭВМ в виде, пригодном для восприятия человека или для передачи на другую ЭВМ, или в иной, необходимой форме. ВУ в немалой степени определяют возможности применения ЭВМ.
ВУ ЭВМ включают в себя внешние запоминающие устройства, предназначенные для сохранения и дальнейшего использования информации, устройства ввода-вывода, предназначенные для обмена информацией между оперативной памятью машины и носителями информации, либо другими ЭВМ, либо оператором. Входными устройствами могут быть: клавиатура, сканер, дисковая система, мышь, модемы, микрофон, цифровая видео камера; выходными - дисплей, принтер, дисковая система, модемы, звуковые системы, другие устройства. С большинством этих устройств обмен данными происходит в цифровом формате. Для работы с разнообразными датчиками и исполнительными устройствами используются аналого-цифровые и цифроаналоговые преобразователи для преобразования цифровых данных в аналоговые и наоборот.
Цифровой интерфейс проще по сравнению с цифроаналоговым, но и для него требуются специальные схемы. Различают последовательную и параллельную передачу данных, необходима синхронизация взаимодействующих устройств. Один из наиболее распространенных стандартов RS-232C (Reference Standard №232 Revision C). Последовательные интерфейсы применяются для передачи данных на любые расстояния. Однако на короткие расстояния целесообразнее передавать данные байтами, а не битами, для этого используют параллельные интерфейсы ввода-вывода.
Устройствами ввода являются те устройства, посредством которых можно ввести информацию в компьютер. Главное их предназначение - реализовывать воздействие на машину. Разнообразие выпускаемых устройств ввода породили целые технологии: от осязаемых до голосовых. Хотя они работают по различным принципам, но предназначаются для реализации одной задачи - позволить пользователю связаться со своим компьютером.
Несколько десятилетий назад для ввода-вывода использовался телетайп, который при печати производил много шума. Сейчас используется клавиатура для ввода данных и монитор для наблюдения выводимых данных. Для получения документальной копии используется принтер
5. Функции и характеристики процессора
Необычайно быстрое развитие вычислительной техники приводит к тому, что одновременно в употреблении находится большое количество компьютеров с достаточно разнообразными характеристиками. Поэтому очень полезно знать, каковы основные характеристики узлов компьютера, на что они влияют и как их подбирать.
Процессор. Очевидно, что пользователя в первую очередь интересует его производительность, т.е. скорость выполнения предложенной процессору задачи. Традиционно быстродействие процессора измерялось путем определения количества операций в единицу времени, как правило, в секунду. До тех пор, пока машины выполняли только вычисления, такой показатель был достаточно удобен. Однако по мере развития вычислительной техники количество видов обрабатываемой информации возрастало, и обсуждаемый показатель перестал быть универсальным. В самом деле, в простейшем случае даже количество арифметических действий над целыми и над вещественными числами может для одного и того же компьютера отличаться на порядок! Что говорить о скорости обработки графической или видео информации, которые к тому же зависят не только от самого процессора, но и от устройства видеоблоков компьютера... Кроме того, современные процессоры, например, Pentium, имеют очень сложное внутренне устройство и могут выполнять машинные команды параллельно. Иными словами, процессор может одновременно выполнять несколько разных инструкций, а значит, время завершения команды уже зависит не только от нее самой, но и от "соседних" операций! Таким образом, количество выполняемых за секунду операций перестает быть постоянным и выбирать его в качестве характеристики процессора не очень удобно.
Именно поэтому сейчас получила широкое распространение другая характеристика скорости работы процессора – его тактовая частота. Рассмотрим данную величину подробнее. Любая операция процессора (машинная команда) состоит из отдельных элементарных действий – тактов. Для организации последовательного выполнения требуемых тактов друг за другом, в компьютере имеется специальный генератор импульсов, каждый из которых инициирует очередной такт машинной команды (какой именно, определяется устройством процессора и логикой выполняемой операции). Очевидно, что чем чаще следуют импульсы от генератора, тем быстрее будет выполнена операция, состоящая из фиксированного числа тактов. Из сказанного следует, что тактовая частота определяется количеством импульсов в секунду и измеряется в мегагерцах – т.е. миллионах импульсов за 1 сек. Разумеется, тактовая частота не может быть произвольно высокой, поскольку в какой-то момент процессор может просто "не успеть" выполнить очередной такт до прихода следующего импульса. Однако инженеры делают все возможное для повышения значения этой характеристики процессора, и на данный момент тактовая частота самых современных процессоров уже превышает 1000 МГц, т.е. 1 ГГц (1 гигагерц).
Следует четко представлять, что сравнение тактовых частот позволяет надежно определить, какой из двух процессоров более быстродействующий только в том случае, если оба процессора устроены примерно одинаково. Если же попытаться сравнить процессоры, произведенные разными изготовителями и работающие по разным принципам, можно получить абсолютно неправильные выводы. В самом деле, если в одном из процессоров команда выполняется за 2 такта, а в другом – за 3, то при совершенно одинаковой частоте первый будет работать в полтора раза быстрее! Кроме того, не нужно забывать, что производительность современной компьютерной системы определяется не только быстродействием отдельно взятого процессора, но и скоростями работы остальных узлов компьютера и даже способами организации всей системы в целом: очевидно, что чрезмерно быстрый процессор будет вынужден постоянно простаивать, ожидая, например, медленно работающую память; или другой пример – очень часто простое увеличение объема ОЗУ дает гораздо больший эффект, чем замена процессора на более быстрый.
Косвенно скорость обработки информации зависит и еще от одного параметра процессора – его разрядности. Под разрядностью обычно понимают число одновременно обрабатываемых процессором битов. Формально эта величина есть количество двоичных разрядов в регистрах процессора и для современных моделей она равна 32. Тем не менее, все не так просто. Дело в том, что помимо описанной "внутренней" разрядности процессора существует еще разрядность шины данных, которой он управляет, и разрядность шины адреса Эти характеристики далеко не всегда совпадают (данные для таблицы взяты из книги М.Гука "Процессоры Intel: от 8086 до Pentium II". – СПб.: Питер, 1997):
Процессор | Разрядность: | Объем памяти |
регистров | шины данных | шины адреса |
Intel 8086 | 16 | 16 | 20 | до 1 Мб |
Intel 80286 | 16 | 16 | 24 | до 16 Мб |
Intel 80386 | 32 | 16 | 24 | до 16 Мб |
Intel 80486 | 32 | 32 | 32 | до 4 Гб |
Pentium | 32 | 64 | 32 | до 4 Гб |
Pentium II | 32 | 64 | 36 | до 64 Гб |
Процессор является главным устройством компьютера, в котором собственно и происходит обработка всех видов информации. Другой важной функцией процессора является обеспечение согласованного действия всех узлов, входящих в состав компьютера. Соответственно наиболее важными частями процессора являются арифметико-логическое устройство АЛУ и устройство управления УУ.
Каждый процессор способен выполнять вполне определенный набор универсальных инструкций, называемых чаще всего машинными командами. Каков именно этот набор, определяется устройством конкретного процессора, но он не очень велик и в основном аналогичен для различных процессоров. Работа ЭВМ состоит в выполнении последовательности таких команд, подготовленных в виде программы. Процессор способен организовать считывание очередной команды, ее анализ и выполнение, а также при необходимости принять данные или отправить результаты их обработки на требуемое устройство. Выбрать, какую инструкцию программы исполнять следующей, также должен сам процессор, причем результат этого выбора часто может зависеть от обрабатываемой в данный момент информации.
Хотя внутри процессора всегда имеются специальные ячейки (регистры) для оперативного хранения обрабатываемых данных и некоторой служебной информации, в нем сознательно не предусмотрено место для хранения программы. Для этой важной цели в компьютере служит другое устройство – память.
6. Внутренняя организация процессора. Основной цикл работы ЭВМ
Важной составной частью фон-неймановской архитектуры является счетчик адреса команд. Этот специальный внутренний регистр процессора всегда указывает на ячейку памяти, в которой хранится следующая команда программы. При включении питания или при нажатии на кнопку сброса (начальной установки) в счетчик аппаратно заносится стартовый адрес находящейся в ПЗУ программы инициализации всех устройств и начальной загрузки. Дальнейшее функционирование компьютера определяется программой. Таким образом, вся деятельность ЭВМ – это непрерывное выполнение тех или иных программ, причем программы эти могут в свою очередь загружать новые программы и т.д.
Каждая программа состоит из отдельных машинных команд. Каждая машинная команда, в свою очередь, делится на ряд элементарных унифицированных составных частей, которые принято называть тактами. В зависимости от сложности команды она может быть реализована за разное число тактов. Например, пересылка информации из одного внутреннего регистра процессора в другой выполняется за несколько тактов, а для перемножения двух целых чисел их требуется на порядок больше. Существенное удлинение команды происходит, если обрабатываемые данные еще не находятся внутри процессора и их приходится считывать из ОЗУ.
При выполнении каждой команды ЭВМ проделывает определенные стандартные действия:
1) согласно содержимому счетчика адреса команд, считывается очередная команда программы (ее код обычно заносится на хранение в специальный регистр УУ, который носит название регистра команд);
2) счетчик команд автоматически изменяется так, чтобы в нем содержался адрес следующей команды (в простейшем случае для этой цели достаточно к текущему значению счетчика прибавить некоторую константу, определяющуюся длиной команды);
3) считанная в регистр команд операция расшифровывается, извлекаются необходимые данные и над ними выполняются требуемые действия.
Затем во всех случаях, за исключением команды останова или наступления прерывания (см. ниже в п. 3.5), все описанные действия циклически повторяются.
После выборки команды останова ЭВМ прекращает обработку программы. Для выхода из этого состояния требуется либо запрос от внешних устройств, либо перезапуск машины.
Рассмотренный основной алгоритм работы ЭВМ позволяет шаг за шагом выполнить хранящуюся в ОЗУ линейную программу. Если же требуется изменить порядок вычислений для реализации развилки или цикла, достаточно в счетчик команд занести требуемый адрес (именно так происходит условный или безусловный переход).
В компьютерах на базе микропроцессоров INTEL 80286 и более поздних моделей для ускорения основного цикла выполнения команды используется метод конвейеризации (иногда применяется термин “опережающая выборка”). Идея состоит в том, что несколько внутренних устройств процессора работают параллельно: одно считывает команду, другое дешифрует операцию, третье вычисляет адреса используемых операндов и т.д. В результате по окончании команды чаще всего оказывается, что следующая уже выбрана из ОЗУ, дешифрована и подготовлена к исполнению. Отметим, что в случае нарушения естественного порядка выполнения команд в программе (например, при безусловном переходе) опережающая выборка оказывается напрасной и конвейер очищается. Следующая за переходом команда выполняется дольше, так как, чтобы конвейер “заработал на полную мощность”, необходимо его предварительно заполнить. Иными словами, в конвейерной машине время выполнения программы может зависеть не только от составляющих ее команд, но и от их взаимного расположения.
7. Система команд ЭВМ. Структура команды. Виды команд. Адресация данных. Форматы данных
Важной составной частью архитектуры ЭВМ является система команд. Несмотря на большое число разновидностей ЭВМ, на самом низком ("машинном") уровне они имеют много общего. Система команд любой ЭВМ обязательно содержит следующие группы команд обработки информации.
1. Команды передачи данных (перепись), копирующие информацию из одного места в другое.
2. Арифметические операции, которым фактически обязана своим рождением вычислительная техника. Конечно, доля вычислительных действий в современном компьютере заметно уменьшилась, но они по-прежнему играют в программах важную роль. Отметим, что к основным арифметическим действиям обычно относятся сложение и вычитание (последнее внутри процессора чаще всего тем или иным способом также сводится к сложению). Что касается умножения и деления, то они во многих ЭВМ выполняются по специальным программам.
3. Логические операции, позволяющие компьютеру производить анализ получаемой информации. После выполнения такой команды, с помощью условного перехода ЭВМ способна выбрать дальнейший ход выполнения программы. Простейшими примерами команд рассматриваемой группы могут служить сравнение, а также известные логические операции И, ИЛИ, НЕ (инверсия). Кроме того, к ним часто добавляются анализ отдельных битов кода, их сброс и установка.
4. Сдвиги двоичного кода влево и вправо. Для доказательства важности этой группы команд достаточно вспомнить правило умножения столбиком: каждое последующее произведение записывается в такой схеме со сдвигом на одну цифру влево. В некоторых частных случаях умножение и деление вообще может быть заменено сдвигом (вспомните, что, дописав или убрав ноль справа, т.е. фактически осуществляя сдвиг числа, можно увеличить или уменьшить его в 10 раз).
5. Команды ввода и вывода информации для обмена с внешними устройствами. В некоторых ЭВМ внешние устройства являются специальными служебными адресами памяти, поэтому ввод и вывод осуществляется с помощью команд переписи.
6. Команды управления, реализующие нелинейные алгоритмы. Сюда, прежде всего, следует отнести условный и безусловный переход, а также команды обращения к подпрограмме (переход с возвратом). Некоторые ЭВМ имеют специальные команды для организации циклов, но это не обязательно: любой цикл может быть сведен к той или иной комбинации условного и безусловного переходов.
Часто к этой же группе команд относят операции по управлению процессором типа останов или НОП - нет операции. Иногда их выделяют в особую группу. С ростом сложности устройства процессора количество такого рода команд увеличивается.
Любая команда ЭВМ обычно состоит из двух частей - операционной и адресной. Операционная часть (иначе она еще называется кодом операции - КОП) указывает, какое действие необходимо выполнить с информацией. Адресная часть описывает, где используемая информация хранится и куда поместить результат. У некоторых немногочисленных команд управления работой машины адресная часть может отсутствовать, например, в команде останова; операционная часть имеется всегда.
Код операции можно представить себе как некоторый условный номер в общем списке системы команд. В основном этот список построен в соответствии с определенными внутренними закономерностями, хотя они не всегда очевидны.
Адресная часть обладает значительно большим разнообразием и ее следует рассмотреть подробнее.
Прежде всего, команды могут быть одно-, двух- и трехадресные в зависимости от количества возможных операндов.
Трехадресная команда легко расшифровывалась и была удобна в использовании, но с ростом объемов ОЗУ ее длина становилась непомерно большой. Действительно, длина такой команды складывается из длины трех адресов и кода операции. Отсюда следует, например, что для скромного ОЗУ из 1024 ячеек только для записи адресной части требуется 3*10=30 двоичных разрядов, что для технической реализации не очень удобно. Поэтому появились двухадресные машины, длина команды в которых сокращалась за счет исключения адреса записи результата. В таких ЭВМ результат операции оставался в специальном регистре (сумматоре) и был пригоден для использования в последующих вычислениях. В некоторых машинах результат записывался вместо одного из операндов.
Дальнейшее упрощение команды привело к созданию одноадресных машин. Рассмотрим систему команд такой ЭВМ на конкретном простом примере. Пусть надо сложить числа, хранящиеся в адресах ОЗУ А1 и А2, а сумму поместить в А3. Для решения этой задачи одноадресной машине потребуется выполнить три команды:
извлечь содержимое ячейки А1 в сумматор;
сложить сумматор с числом из А2;
записать результат из сумматора в А3.
Может показаться, что одноадресной машине для решения задачи потребуется втрое больше команд, чем трехадресной. На самом деле это далеко не всегда так. Попробуйте самостоятельно спланировать программу вычисления выражения Y=(X1+X2)*X3/X4 и вы с удивлением обнаружите, что потребуется 3 трехадресных команды и всего 5 одноадресных. Таким образом, одноадресная машина в чем-то даже эффективнее, т.к. она не производит ненужной записи в память промежуточных результатов.
Ради полноты изложения следует сказать о возможности реализации безадресной (нульадресной) машины, использующей особый способ организации памяти - стек. Понимание принципов устройства такой машины потребовало бы некоторых достаточно подробных разъяснений; в то же время сейчас безадресные ЭВМ практически не применяются. Поэтому ограничимся лишь упоминанием того факта, что устроенная подобным образом система команд лежала в основе некоторых программируемых микрокалькуляторов типа "Б3-21" и "Б3-34" и им подобным
8. Обработка прерываний.
Во-первых, необходимо решить, в какой момент надо фиксировать прерывание. Немедленная фиксация (без ожидания завершения текущей команды) способствует своевременному выполнению критических по времени операций ввода. Однако при этом может потеряться текущая команда. Удобнее отложить фиксацию прерывания до конца выполнения текущей команды, чью работу можно прекратить, если она сама является источником прерывания. Частоту проверки, было ли прогенерировано прерывание, можно уменьшить, фиксируя прерывания только в определенные моменты времени. Это время определяется при разработке аппаратных средств системы прерываний и является внешним ограничением при создании управляющих программ, которые обрабатывают прерывание.
Хотя существует несколько различных способов обработки прерывания, следующая последовательность действий присуща большинству ЭВМ.
1.Некоторую фиксированную ячейку заносятся характеристики произошедшего прерывания.
2.Запоминается состояние прерванного процесса. Это состояние определяется значением счетчика команд и может включать также спецификацию режима (например, режим пользователя или привилегированный), содержимое регистров и другую информацию.
3.В счетчик команд заносится фиксированный адрес, который, как правило, является уникальным для каждого типа прерывания.
4.Обрабатывается прерывание.
5.Возобновляется нормальная работа.
Шаги 1-3 обычно реализуются аппаратной частью ЭВМ, а шаги 4 и 5-операционной системой.
Прерывания обрабатываются программой обработки прерываний. Ее первым действием обычно является запоминание той части состояния процесса, которая еще не была запомнена аппаратной частью ЭВМ. В некоторых ЭВМ предусматривается автоматическое запоминание довольно большого объема информации в специально отведенной области оперативной памяти. Например, с помощью технических средств можно запомнить только счетчик команд, а на программу обработки прерывания может быть возложено сохранение содержимого регистров. Далее программа обработки прерывания должна идентифицировать поступившее прерывание. В некоторой степени необходимая информация определяется самим фактом передачи управления на шаге 3 некоторой части программы обработки прерывания. Так, можно идентифицировать, например, прерывания от ввода/вывода или обращения к супервизору. В первом случае программа обработки прерывания должна запрашивать биты состояния ввода/вывода, установленные аппаратными средствами на шаге 1; в последнем же она анализирует код, определяющий действия, подлежащие выполнению супервизором.
Затем программа обработки прерывания должна выполнить те действия, которые соответствуют данному конкретному прерыванию. Они могут быть весьма простыми (установка некоторого признака в случае переполнения) или достаточно сложными.
Наконец, программа обработки прерывания должна обеспечивать возобновление нормальной работы. В зависимости от типа прерывания и от используемой дисциплины диспетчеризации управление может быть возвращено прерванному процессу, либо этот процесс может быть заблокирован или помещен в очередь готовых к исполнению процессов, а диспетчер перейдет к выбору следующего процесса. Возврат управления осуществляется восстановлением состояния процесса (включая значение счетчика команд) независимо от того, было ли оно запомнено аппаратными средствами или с помощью операционной системы.
Некоторые действия по обработке прерывания должны выполняться немедленно. Сюда входит запоминание состояния процесса, по крайней мере, частичное выяснение типа прерывания, и такие действия, как обработка программных ошибок и инициирование обслуживания устройств, критичных ко времени обслуживания. Чтобы избежать задержек, вызываемых загрузкой с внешней памяти требуемых частей программы обработки прерываний, последние должны находиться в исполняемой памяти как часть ядра операционной системы. Если общий размер программы обработки прерывания тактов, что ее неразумно хранить целиком в исполняемой памяти, то можно разбить ее на две части; резидентную программу обработки первого уровня и нерезидентную программу обработки второго уровня (в терминах IBM). Иногда удобно разбить каждую часть на отдельные программы обработки прерываний разных типов.
Многие прерывания, имеющие отношение к управлению процессором (прерывание от таймера, прерывание от активных устройств или прерывание по завершению операций ввода/вывода), приводят к тому, что управление почти немедленно передается диспетчеру. Среди процессов, из которых диспетчер выбирает процесс для исполнения, находятся не только процессы пользователей, но также различные части (процессы) операционной системы. К последним относятся программы обработки прерывания второго уровня, подпрограммы сбора статистики, планировщик и другие компоненты операционной системы, а также загрузчик, который загружает и перемещает эти компоненты, и в некотором смысле даже сам диспетчер. При наличии только одного процессора операционная система тоже часто должна ждать обслуживания
Многократные прерывания
В предыдущем разделе прерывания описывались в предположении, что они происходят изолированно; на самом деле, они могут происходить одновременно или, по крайней мере, одновременно фиксироваться аппаратной частью ЭВМ. Прерывания могут также возникать во время обработки других прерываний. Каким образом система может обрабатывать такие многократные прерывания?
На основе приоритетов, приписанных каждому типу прерывания, для обработки из нескольких одновременно возникших прерываний должно быть выбрано одно. Учет приоритета может быть “встроен” в технические средства, как в IBM, либо он может определяться операционной системой, как в ЭВМ фирмы DEC. Так, например, команде вызова супервизора может быть приписан более высокий приоритет, чем прерыванию от системы ввода/вывода. Прерывания, класс которых имеет более низкий приоритет, могут быть разрешены, либо замаскированы. Если прерывание разрешено, то оно может прервать процессор, что обычно, и происходит сразу же после того, как аппаратура зафиксирует прерывание. В этом случае более низкому приоритету прерывания соответствует более высокий приоритет его обработки; так в предыдущем примере прерыванию от системы ввода/вывода можно было бы присвоить более высокий приоритет обработки по сравнению с вызовом супервизора. При использовании стека прерываний относительные приоритеты не нужны. Следовательно, рассматривая прерывания, важно знать, какой тип приоритета имеется в виду. Замаскированное прерывание не может прервать процессор. Оно может быть утерянным, либо ждать обработки, что означает, что оно все еще известно аппаратуре. Если замаскированное прерывание ждет обработки, то последующее размаскирование или разрешение прерываний, инициирует его обработку.
Если новое прерывание происходит во время обработки старого, то оно будет либо разрешено, либо замаскировано программой обработки прерывания, в зависимости от типов этих двух прерываний. Если новое прерывание разрешено, то оно начинает обрабатываться, а программа обработки старого является в этом случае прерванным процессом. Если новое прерывание замаскировано, то оно может быть либо утеряно, либо ожидать обработки. Если прерывание ожидает обработки, то оно может находиться в этом состоянии до тех пор, пока управляющая программа не будет готова к его обработке. Для этого должно быть разрешено прерывание от таймера, которое может заставить программу обработки прерывания в определенные моменты времени проверять, нет ли прерываний, ожидающих обработки, которые должны быть обслужены до истечения некоторого интервала времени.
Решение о маскировании или открытии прерывания на время обработки других прерываний может приниматься техническими средствами или может быть оставлено на усмотрение программы обработки прерывания. Дальнейшее появление прерываний того же самого типа должно маскироваться либо техническими средствами, либо программой обработки прерывания. Это необходимо для того, чтобы сохранить характеристики прерывания и состояние процесса для первого прерывания и избежать записи в фиксированные ячейки соответствующей информации при втором прерывании. Если аппаратура не выполняет маскирование соответствующего типа прерывания, то это должна делать программа обработки прерывания первого уровня, а демаскирование перед возобновлением нормальной работы может выполнять и программа обработки прерывания второго уровня.
Обработка многократных прерываний при наличии разных приоритетов облегчается присутствием аппаратных средств, позволяющих выделение разным приоритетам различных фиксированных ячеек для характеристик прерывания и для запоминания состояния процесса. В рамках одного приоритета управляющая программа должна хранить информацию о нескольких прерываниях, чтобы не заставлять каждое ждать, пока его предшественник будет обработан. Например, довольно часто прерывание ввода/вывода можно обрабатывать в две стадии, причем на второй выполняются сравнительно медленные команды ввода/вывода, например подвод головки. Как только операционная система выдала такую команду устройству ввода/вывода, она может разрешить другие прерывания и, таким образом, обрабатывал накопившиеся прерывания. Такие прерывания, ожидающие обработки, обычно хранятся в очередях.
9 Работа процессора с внешними устройствами компьютера
Работу компьютера можно описать следующим образом
1). Вначале с помощью какого-либо внешнего устройства в память компьютера вводится программа.
2) Устройство управления считывает содержимое ячейки памяти, где находится первая инструкция (команда) программы, и организует ее выполнение. Эта команда может задавать выполнение арифметических или логических операций, чтение из памяти данных для выполнения арифметических или логических операций или запись их результатов в память, ввод данных из внешнего устройства в память или вывод данных из памяти на внешнее устройство.
3) После выполнения одной команды устройство управления начинает выполнять команду из ячейки Памяти, которая находится непосредственно за только что выполненной командой.
Но такой порядок может быть изменен с помощью команд передачи управления. Эти команды указывают устройству управления, что ему следует продолжить выполнение программы, начиная с команды, содержащейся в некоторой другой ячейке памяти. Такой переход, в программе может выполняться не всегда, а только при выполнении некоторых условий, например, если некоторые числа равны, если в результате предыдущей арифметической операции получился нуль и т.д. Это позволяет использовать одни и те же последовательности команд в программе много раз, т.е. организовывать циклы, выполнять различные последовательности команд в зависимости от выполнения определенных условий и т.д., т.е. создавать сложные программы.
Таким образом, управляющее устройство выполняет инструкции программы автоматически. Оно может обмениваться информацией с оперативной памятью и внешними устройствами компьютера. Так, как внешние устройства, как правило, работают значительно медленнее, чем остальные части компьютера, управляющее устройство может приостанавливать выполнение программы до завершения операции ввода-вывода с внешним устройством. Все результаты выполненной программы должны быть ею выведены на внешние устройства компьютера, после чего компьютер переходит к ожиданию каких-либо сигналов внешних устройств.
При этом следует заметить, что схема устройства современных компьютеров несколько отличается от сформулированной фон Нейманом. В частности, арифметическо-логическое устройство и устройство управления, как правило, объединены в единое устройство - центральный процессор. Кроме того, процесс выполнения программ может прерываться для выполнения неотложных действий связанных с поступившими сигналами от внешних устройств компьютера - прерываний. Многие быстродействующие компьютеры осуществляют параллельную обработку данных на нескольких процессорах. Тем не менее, большинство современных компьютеров в основных чертах соответствуют принципам, изложенным еще в 1945.
Используемые источники
1. http://www.piter.com/catalog/bookchap/978527200249.html
2. http://www.seun.ru/faculty/FIIT/KTOIT/informatika/lek6/lek6-arxitektura.htm
3. http://stud.refcat.ru/rssstud/targ2515.html
4. Еремин Е.А. Как работает современный компьютер. - Пермь: изд-во ПРИПИТ, 1997. 176 с.
5. http://emc.km.ru/theory/ustr/1_6.html
6. http://e-book.narod.ru/text/tr16.htm