Министерство образования Российской Федерации Пензенский государственный университет
А. В. Сивохин, Б. В. Казаков, И. А...
31 downloads
209 Views
691KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Министерство образования Российской Федерации Пензенский государственный университет
А. В. Сивохин, Б. В. Казаков, И. А. Казакова
ИСТОРИЯ СОЗДАНИЯ ПЭВМ И ИХ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Учебное пособие
Наградной логотип вуза
Издательство Пензенского государственного университета Пенза 2004 1
УДК 681.3 С34 Р е ц е н з е н т ы: Кандидат технических наук, доцент кафедры «Прикладная математика и информатика» Пензенского государственного педагогического университета им. В. Г. Белинского В. В. Дрождин Кафедра «Автоматизированные информационные системы и технологии» Пензенского технологического института
Сивохин А. В. История создания ПЭВМ и их программного обеспечения: Учеб. пособие / А. В. Сивохин, Б. В. Казаков, И. А. Казакова. − Пенза: Изд-во Пенз. гос. ун-та, 2004. − 80 с.: 3 ил., 1 табл., библиогр. 17 назв.
С34
В учебном пособии кратко изложены основные этапы развития ПЭВМ и их программного обеспечения, начиная от создания первого компьютера и заканчивая поточным массовым производством современных ПЭВМ; приведены характеристики ПЭВМ основных фирм-изготовителей; раскрыты архитектурные особенности микропроцессоров и даны их характеристики; кратко очерчены подходы ведущих фирм по созданию и перспективам развития ПЭВМ; отмечена выдающаяся роль операционной системы ДОС и созданного на его основе программного обеспечения ПЭВМ; сформулированы задачи и функции операционной системы Windows как основы для создания современных компьютерных систем и глобальных сетей. Материалы подготовлены на кафедре «Математическое обеспечение и применение ЭВМ» и предназначены для студентов специальности 23.01.05 при изучении ими курсов «История техники», «Информатика», «Организация ЭВМ и систем». УДК 681.3 © Издательство Пензенского государственного университета, 2004 © Сивохин А. В., Казаков Б. В., Казакова И. А., 2004 .
2
.
Введение Усилия фирмы Intel в 1973 году ознаменовались разработкой весьма мощного по тем временам микропроцессора 8080. В 1975 году на основе этого процессора фирма MITS выпустила компьютерный комплект Altair. Фирма IBM вышла на рынок компьютерной технологии в 1975 году с моделью 5100. В 1976 году продала первые компьютеры фирма Apple, а в 1977 году она выпустила компьютер Apple II, имевший огромный успех. Именно Apple II сыграл выдающуюся роль в становлении стандартов для всех последующих моделей ПК. Наконец, в 1981 году фирма IBM создала компьютер PC, использующей операционную систему CP/М. Этот компьютер, разработанный с учетом потребностей рынка и базирующийся на электронных компонентах многих изготовителей, сразу же стал новым стандартом микрокомпьютерной индустрии. По мере совершенствования в соответствии с запросами пользователей этот стандарт развился в целое семейство систем такой мощности, которую было просто невозможно себе представить тогда, в далеком 1981 году. Таким образом, после появления первого IBM PC прошло более 25 лет, и за это время, конечно, многое изменилось. К примеру, IBM – совместимые компьютеры, ранее использующие процессор 8088 с тактовой частотой 4.77 МГц, теперь работают с тактовой частотой 166 МГц на основе процессора Pentium и с 200 МГц – на основе процессора Pentium Pro, быстродействие которого почти в 1000 (!) раз выше (имеется в виду общая производительность, а не только тактовая частота). Первый IBM PC имел два односторонних накопителя на гибких дисках емкостью 160 Кбайт и использовал операционную систему DOS версии 1.0, а современные компьютеры работают с жесткими дисками емкостью в несколько Гбайт и управляются самой мощной
3
операционной системой Windows XP. В компьютерной индустрии производительность процессора и емкость накопителей удваиваются, как правило, каждые 2−3 года (во всяком случае, с момента появления первого персонального компьютера). Еще один важный момент заключается в том, что фирма IBM перестала быть единственным изготовителем IBM-совместимых компьютеров. Конечно, IBM разработала и продолжает разрабатывать стандарты, которым должны соответствовать совместимые компьютеры, но она уже не является монополистом на рынке. Часто новые стандарты для ПК разрабатывают другие фирмы, а не сама компания IBM. Сотни компаний выпускают IBM-совместимые компьютеры, в том числе тысячи различных электронных компонент. Все это способствует как расширению рынка, так и улучшению потребительских качеств IBM-совместимых компьютеров, столь широко распространенных не только потому, что совместимую аппаратуру легко собирать, но и потому, что операционные системы поставляет не IBM, а другие фирмы, например, Microsoft. Ядром программного обеспечения компьютера является BIOS (базовая система ввода – вывода), производимая различными компаниями, что позволяет другим изготовителям лицензировать программное обеспечение BIOS и операционные системы и продавать свои совместимые компьютеры. То обстоятельство, что BIOS вобрала в себя все лучшее, что было в созданных ранее операционных системах CP/M и UNIX, сделало ее доступной для большинства существующих программных продуктов. Сейчас рынок IBM-совместимых компьютеров процветает и продолжает развиваться. При разработке новых моделей используются все более совершенные технологии. Поскольку эти типы компьютерных систем используют самое разнообразное программное обеспечение, по-видимому, в течение ближайших 10 или 15 лет доминировать на рынке будут именно IBM-совместимые компьютеры. В пособии рассматривается история создания прежде всего IBMсовместимых персональных компьютеров до середины 90-х годов. Уделено также внимание и компьютерам фирмы Apple, которые успешно противостоят IBM-совместимым и имеют закрытую архитектуру. Описаны области применения ПК, а также принципы построения и архитектуры мощной операционной системы Windows NT.
4
1 История возникновения ПЭВМ Персональный компьютер (ПК) стал воплощением множества открытий и изобретений. Современный компьютер представляет собой набор электронных переключателей, которые используются как для представления информации в двоичном коде, так и для управления ее обработкой. Эти электронные переключатели могут находиться в двух состояниях: включено и выключено, что позволяет использовать их для передачи двоичной информации. В первых компьютерах в качестве переключателей использовались вакуумные лампы, и хотя, в принципе, они работали, это порождало массу сложностей. Лампа, как электронный переключатель, малоэффективна и ненадежна: в больших системах каждая из них выходила из строя раз в два часа, а то и чаще. Изобретение в 1948 году транзистора, как полупроводникового устройства, стало важнейшим событием, которое привело к компьютерной революции. Транзистор был создан в лаборатории США, Bell Laboratory, инженерами Джоном Барденом, Вальтером Бреттеном и Вильямом Шокли. Транзистор, в сущности являющийся электронным ключом, заменил громоздкую и неудобную электронную лампу. Поскольку потребляемая транзисторами мощность незначительна, построенные на их основе компьютеры имели гораздо меньшие размеры и были более быстродействующими и эффективными. Появление транзистора заложило тенденцию к миниатюризации компьютеров, которая сохраняется и в наше время. Современные модели портативных компьютеров, работающие от аккумуляторов, обладают большей производительностью, чем прежние системы, занимавшие целые комнаты и потреблявшие много электроэнергии. В 1960 году в ЭВМ были применены транзисторы, они были более надежны, долговечны, обладали большей оперативной памятью. Один транзистор способен заменить ~ 40 электронных ламп и работать с большей скоростью. В качестве носителей информации использовались магнитные ленты (“Минск-2”, “Урал-14”). В 1959 году сотрудники фирмы Texas Instruments изобрели интегральную схему (ИС) − полупроводниковое устройство, которое на 5
одном кристалле содержало несколько транзисторов и соединяло их без проводов. ИС − это кристалл, площадь которого 10 мм2. Одна ИС способна заменить 1000 транзисторов. Один кристалл − 30-тонный “Элиак”. Появилась возможность обрабатывать параллельно несколько программ. В первой ИС транзисторов было всего шесть. Для сравнения заметим, что современный микропроцессор Pentium Pro, используемый в новейших компьютерных системах, состоит из 5.5 млн транзисторов, а кэш, встроенный в один из чипов, содержит еще 16 млн транзисторов. Сегодня количество транзисторов для некоторых ИС превышает многомиллионный рубеж. В 1969 году фирма Intel выпустила микросхему памяти емкостью 1 Кбит, содержащую больше транзисторов, чем любая тогдашняя ИС. (1 Кбит равен 1024 бит, байт состоит из 8 бит, т. е. микросхема могла хранить всего 128 байт информации, что по современным меркам ничтожно мало). Приблизительно в то же время японская фирма Busicomp, производившая калькуляторы, заказала фирме Intel для одной из своих разработок 12 логических микросхем. Вместо 12 микросхем инженеры создали одну с требуемыми функциональными возможностями. Более того, в микросхеме были предусмотрены средства программного изменения ее функций. Таким образом, она превратилась в универсальную микросхему и могла работать не только в калькуляторе. Выполняемые операции не определялись только ее внутренней структурой − ИС могла считывать из памяти определенное количество инструкций (команд), которые и управляли выполняемыми ею функциями. Идея заключалась в том, чтобы в одной микросхеме полностью реализовать вычислительное устройство, которое выполняло бы операции в зависимости от подаваемых команд. Первый 4-разрядный МП 4004 фирмы Intel появился в 1971 году. Он за один такт обрабатывал 4 бита данных. В 1972 году был выпущен его преемник − 8-разрядный МП 8008. Уже в 1973 году были выпущены первые микропроцессорные комплекты на основе 8008. Правда, они годились разве что для демонстрации своих возможностей и включения индикаторов. В конце 1973 года фирма Intel выпустила микропроцессор 8080, и он мог ад-
6
ресовать память объемом до 64 Кбайт. Это стало толчком к промышленному производству ПК. В 1975 году фотография комплекта Altair фирмы MITS была помещена на обложку январского номера журнала Popular Electronic. Комплект был спроектирован Эдом Робертсом и являлся первым персональным компьютером. Он состоял из процессора 8080, блока питания, лицевой панели с множеством индикаторов и оперативного запоминающего устройства (ОЗУ) на 256 байт. Стоимость комплекта составляла 395 долларов, и покупатель должен был сам собирать компьютер. Этот ПК был построен по схеме с открытой шиной (слотами), что позволяло другим фирмам разрабатывать дополнительные платы и периферийное оборудование. Появление нового процессора стимулировало разработку различного программного обеспечения, включая операционную систему CP/М и первый язык программирования Basic (Beginners All-purpose Instruction Code − символический программный код для начинающих) фирмы Microsoft. В 1975 году фирма IBM впервые выпустила то, что можно было бы назвать персональным компьютером. Модель 5100 имела память размером 16 Кбайт, встроенный дисплей (индикатор) на 16 строк по 64 символа, интерпретатор языка Basic и кассетный накопитель DC300. Однако стоимость компьютера 9000 долларов для рядового покупателя оказалась слишком высокой, особенно, если учесть, что множество любителей (названных хакерами) предлагали свои собственные комплекты всего за 500 долларов. Очевидно, что компьютеры IBM не могли выдержать такой конкуренции на рынке и продавались очень плохо. До появления известного сейчас IBM PC (модель 5150) были разработаны модели 5110 и 5120. Хотя эти компьютеры и предшествовали IBM PC, они не имели с ним ничего общего. Модель компьютера 5150 была похожа на выпущенную в 1980 году модель System / 23 Data Master. В 1976 году новая фирма, Apple Computer, вышла на рынок с компьютером Apple I стоимостью 695 долларов. Его системная плата была привинчена к куску фанеры, а корпуса и блока питания вообще не было. Выпущено было всего несколько экземпляров этого компьютера, которые впоследствии продавались 7
коллекционерами за 20 000 долларов. Появившийся в 1977 году компьютер Apple II стал прообразом большинства последующих моделей, включая и IBM PC. К 1980 году на рынке микрокомпьютеров доминировали две базовые модели компьютерных систем. Это Apple II, имевший множество пользователей и большую программную базу, которая росла с фантастической скоростью, и несколько других моделей, происходивших от комплекта Altair. Последние были совместимы один с другим, имели одну операционную систему СР/M (control proqram for Microprcessor − Управляющая программа для микропроцессоров) и стандартные слоты расширения с шириной S-100 (по 100 контактов на слот). Все эти компьютеры собирались различными компаниями и продавались под различными названиями. Но в большинстве случаев фирмы использовали одинаковые программные и аппаратные части; интересно отметить, что ни один компьютер не был IBM- или Мас- совместимым. В конце 1980 года фирма IBM наконец-то решила выйти на быстро развивающийся рынок дешевых ПК. Для разработки нового компьютера фирма основала в городе Воса Raton (штат Флорида) свое отделение Entry Systems Division. Небольшую группу из 12 человек возглавил Дон Эстридж, а главным конструктором был Левис Эггебрехт. Именно эта группа и разработала первый настоящий IBM PC. (Фирма IBM считала модель 5100, разработанную в 1975 году, интеллектуальным программируемым терминалом, а не подлинным компьютером, хотя в сущности это был настоящий компьютер). Почти все инженеры группы ранее работали над проектом компьютера System/ 23 Data Master , поэтому фактически он и оказался прообразом IBM PC. Многое в конструкции IBM PC было заимствовано от Data Master: дисплей, клавиатура, раскладка и электрическая схема клавиатуры были скопированы с Data Master, правда, в Data Master дисплей и клавиатура объединялись в одно устройство (что было неудобно), а в IBM PC они были оформлены автономно. Были повторены и некоторые другие компоненты, включая системную шину (слоты ввода-вывода), причем использовались не только те же самые 62-контактные разъемы, но и практически аналогичная разводка контактов. В IBM PC применялись те же контроллер прерываний и контроллер прямого доступа (ПДП), что и в Data Master. 8
При этом платы расширения, разработанные для Data Мaster, можно было использовать и в IBM PC. Однако, в Data Мaster применялся процессор 8085 фирмы Intel, который мог адресовать всего 64 Кбайт памяти и имел 8-разрядные внутреннюю и внешнюю шины данных. Из-за этих ограничений в IBM PC использовался процессор 8088, который имел адресное пространство 1 Мбайт, 16-разрядную внутреннюю шину данных и 8-разрядную внешнюю шину данных. Благодаря 8-разрядной внешней шине данных и аналогичной системе команд можно было использовать существующие устройства для Data Master. После этого были изучены потребности рынка, что сказалось на дальнейшей разработке IBM PC. Разработчики учли все существовавшие на то время стандарты, выяснили причину успеха и встроили в IBM PC возможности практически всех популярных на то время систем. Параметры компьютера фактически определялись потребителями, поэтому фирме IBM удалось создать устройство, которое идеально заполнило отведенную на рынке нишу. IBM создало компьютер менее чем за год, максимально используя имевшиеся разработки и приобретая компоненты у других изготовителей. Группе Entry Systems Division была предоставлена большая независимость, чем другим подразделениям: им было разрешено использовать услуги и продукцию других фирм в обход бюрократического правила, предписывающего использовать в разработках только изделия самой фирмы IBM. Например, языки программирования и операционную систему для IBM PC разрабатывала фирма Microsoft. Сначала IBM обратилась к Digital Research, создателю операционной системы CP/M, но та не заинтересовалась предложением. За эту работу взялась фирма Microsoft, которая позднее превратилась в крупнейшую в мире компанию-изготовителя программных продуктов. Воспользовавшись услугами других компаний, IBM фактически предложила им сотрудничать и поддержать новый компьютер. 12 августа 1981 года, когда была создана IBM PC, в мире микрокомпьютерной индустрии появился новый стандарт. С тех пор были проданы сотни миллионов IBM PC, а на его основе выросло огромное семейство компьютеров и периферийных устройств. Программного обеспечения для этого семейства создано больше, чем для любой другой системы. 9
2 Архитектура современных ПЭВМ Самым главным элементом в компьютере, его "мозгом", является микропроцессор (МП) – небольшая (в несколько сантиметров) электронная схема, выполняющая все вычисления и обработку информации. МП умеет производить сотни различных операций и делает это со скоростью в несколько десятков или даже сотен миллионов операций в секунду. В компьютерах типа IBM PC используются МП фирмы Intel, а также совместимые с ними МП других фирм. Каждый МП имеет определенное число элементов памяти, называемых регистрами, арифметико-логическое устройство (АЛУ) и устройство управления (УУ). Регистры используются для временного хранения выполняемой команды, адресов памяти, обрабатываемых данных и другой внутренней информации МП. В АЛУ производится арифметическая и логическая обработка данных. УУ реализует временную диаграмму и вырабатывает необходимые управляющие сигналы для внутренней работы МП и связи его с другой аппаратурой через внешние шины МП. Структуры различных типов МП могут существенно различаться, однако, с точки зрения пользователя, наиболее важными параметрами являются архитектура, адресное пространство памяти, разрядность шины данных, быстродействие. Архитектуру МП определяет разрядность слова и внутренней шины данных МП. Первые МП основывались на 4-разрядной архитектуре. Первые ПЭВМ использовали МП с 8-разрядной архитектурой, современные ПЭВМ основаны на МП с 16- и 32-разрядной архитектурой. МП с 4- и 8-разрядной архитектурой использовали последовательный принцип выполнения команд, при котором очередная операция начинается только после выполнения предыдущей. В некоторых МП с 16-разрядной архитектурой используются принципы параллельной работы, при которой одновременно с выполнением текущей команды производятся дополнительная выборка и хранение последующих команд. В МП с 32-разрядной архитектурой используется конвейерный метод выполнения команд, при котором несколько внутренних устройств МП работают параллельно, производя одновременно несколько последовательных команд программы.
10
Адресное пространство памяти определяется разрядностью адресных регистров и адресной шины МП. В 8-разрядных МП адресные регистры обычно составляются из двух 8-разрядных регистров, образуя 16-разрядную шину, адресующую 64 Кбайта памяти. В 16-разрядных МП, как правило, используются 20-разрядные адресные регистры, адресующие 1 Мбайт памяти. В 32-разрядных МП используются 24- и 32-разрядные адресные регистры, адресующие от 16 Мбайт до 4 Гбайт памяти. Для выборки команд и обмена данными с памятью МП имеют шину данных, разрядность которой, как правило, совпадает с разрядностью внутренней шины данных, определяемой архитектурой МП. Однако для упрощения связи с внешней аппаратурой внешняя шина данных может иметь разрядность меньшую, чем внутренняя шина данных и регистры данных. Например, некоторые МП с 16-разрядной архитектурой имеют 8-разрядную внешнюю шину данных. Они представляют собой специальные модификации обычных 16-разрядных МП и обладают практически той же вычислительной мощью. Одним из важных параметров МП является быстродействие, определяемое тактовой частотой его работы, которая обычно задается внешними синхросигналами. Для разных МП эта частота имеет пределы 0.4−33 МГц. Выполнение простейших команд (например, сложение двух операндов из регистров или пересылка операндов в регистрах МП) требует минимально двух тактовых импульсов (для выборки команды и ее выполнения). Более сложные команды требуют для выполнения до 10−20 тактовых импульсов. Если операнды находятся не в регистрах, а в памяти, дополнительное время расходуется на выборку операндов в регистры и запись результата в память. Скорость работы МП определяется не только тактовой частотой, но и набором его команд, их гибкостью, развитой системой прерываний. Электронная память содержит операнды и программу, которую выполняет МП. Обычно имеются слова, соответствующие разрядности шины данных МП, которые адресуются пространством МП. Используются два типа электронной памяти: постоянно запоминающие устройства (ПЗУ) и оперативные запоминающие устройства (ОЗУ).
11
В ПЗУ хранится информация, которую ЭВМ может использовать сразу после включения питания. Она содержит программы инициализации программно-управляемых периферийных микросхем, программы ядра ОС и в некоторых приложениях интерпретатор какоголибо диалогового языка программирования или наиболее часто используемые прикладные программы. Для реализации ПЗУ часто применяют микросхемы с прожигаемыми перемычками К556РТ5 (512 байт), К556РТ7 (2 Кбайта), К573РТ4 (8 Кбайт). В современных ЭВМ емкость ПЗУ достигает сотен Кбайт. ПЗУ является энергонезависимой памятью: после выключения питания информация в нем сохраняется. Информация в ОЗУ разрушается при выключении питания. В ОЗУ хранятся оперативные данные и программы, используемые МП. Поэтому микросхемы ОЗУ по быстродействию должны быть согласованы с МП, а емкость ОЗУ (вместе с ПЗУ) должна приближаться к пределу, определяемому адресным пространством МП. Бывают ОЗУ статические и динамические. Статические ОЗУ легко сопрягаются с шинами МП, но имеют меньшую емкость по сравнению с динамическими. В качестве статических ОЗУ часто используются микросхемы серии К537 емкостью до 64 Кбайт. Для сопряжения динамических ОЗУ с МП требуется специальный контроллер. Микросхемы серии К565 имеют емкость до 256 Кбайт. Взаимодействие с оператором через клавиатуру, дисплей и печатающие устройства, запись исполняемых программ из ВЗУ в ОЗУ осуществляют через порты (многоразрядные шины) ввода-вывода. Для управления ВУ разработан ряд микросхем, которые выполняют функции контроллеров периферийных устройств (ПУ): клавиатуры, дисплея, НГМД и другие. Связь с контроллерами ПУ обычно осуществляется через порты ввода-вывода под непосредственным управлением МП. Однако в некоторых ЭВМ используется специальный контроллер прямого доступа к памяти и ПУ без учета МП. Связь ЭВМ с ПУ производится через стандартизованные интерфейсы ПУ.
12
3 Основные характеристики микропроцессоров МП отличаются друг от друга двумя характеристиками: типом (моделью) и тактовой частотой. Наиболее распространены модели Intel: 8088, 80286, 80386SX, 80386, 80486 и Pentium; они приведены в порядке возрастания производительности и цены. Одинаковые модели МП могут иметь разную тактовую частоту: чем выше тактовая частота, тем выше производительность и цена МП. Тактовая частота указывает, сколько элементарных операций (тактов) МП выполняет в 1 секунду. Тактовая частота измеряется в Мгц. Следует заметить, что разные модели МП выполняют одни и те же операции (например, сложение и умножение) за разное число тактов. Чем выше модель, тем, как правило, меньше тактов требуется для выполнения одних и тех же операций. Поэтому, например, МП Intel-80386 работает раза в 2 быстрее Intel-80286 с такой же тактовой частотой.
4 Модели микропроцессоров Исходный вариант компьютера IBM PC и модель IBM PC XT используют МП Intel -8088. В начале 80-х годов эти МП выпускались с тактовой частотой 4,77 МГц, затем они выпускались с тактовой частотой 8 или 10 МГц (т. е. новые модели работают в 1,7 − 2,1 раза быстрее). Модели с увеличенной производительностью (тактовой частотой) иногда называются Turbo-XT. Модель IBM PC Turbo-XT использует более мощный МП Intel 80286, и ее производительность в 4−5 раз больше, чем у IBM PC XT. Исходные варианты IBM PC AT работали на МП с тактовой частотой 6 МГц, сейчас большинство выпускаемых компьютеров этого типа имеет тактовую частоту от 16 до 25 МГц, т. е. они работают в 2−3 раза быстрее. МП Intel-80286 имеет несколько больше возможностей по сравнению с Intel-8088, но эти дополнительные возможности используются очень редко, так что большинство программ, работающих на АТ, будет работать и на XT. В 1988−1991 годах большая часть выпускаемых компьютеров была основана на достаточно мощном МП Intel-80386. Этот МП (на13
зываемый также 80386DX) работает в 2 раза быстрее, чем работал бы 80286 с той же тактовой частотой. Диапазон тактовой частоты 80386DX − от 25 до 40 МГц. Кроме того, 80386 имеет значительно больше возможностей по сравнению с Intel-8088, в частности, содержит мощные средства для управления памятью и команды для 32-разрядных операций (в отличие от 16-разрядных 80286 и 8088). Поэтому многие производители программного обеспечения разрабатывают программы специально для Intel-80386DХ. Фирмой Intel разработан также МП Intel80386SX, он ненамного дороже Intel-80286DX, но обладает теми же возможностями, что и Intel-80386, только при более низком быстродействии (приблизительно в 1,5−2 раза). Получивший в последнее время широкое распространение МП Intel-80486 (или 80486DX) мало отличается от Intel-80386, но его производительность в 2−3 раза выше. Среди его особенностей следует отметить встроенную кэш-память и встроенный математический сопроцессор. Фирмой Intel также разработаны более дешевый, но менее производительный вариант − 80486SX, а также более дорогой и более быстрый вариант − 80486DX . Тактовая частота 80486 обычно находится в диапазоне 33−66 МГц. В 1993 году фирмой Intel был выпущен новый МП Pentium (ранее анонсировавшийся под названием 80586). Этот МП еще более мощен, особенно при вычислениях над вещественными числами. Фирмой Intel (США) в развитии МП 8086 и 8088 (отечественные аналоги К18110ВМ86 и К1810ВМ88) разработаны высокопроизводительные 16-разрядные МП 80186, 80286 и 32-разрядные МП 80386, 80386SX, 80486.
14
5 Адресация и механизмы защиты памяти МП Интерфейс шины передает байт информации по каждому циклу тактовой частоты из своей очереди в устройство команд, которое декодирует и преобразует формат полных данных и помещает их в очередь команд, ожидающих выполнения. Исполнительное устройство содержит рабочие регистры, АЛУ и микропрограммное ПЗУ, которое определяет последовательность внутренних микрокоманд. Когда текущая команда близка к завершению, ПЗУ генерирует сигнал, по которому исполнительное устройство принимает следующий адрес ПЗУ из очереди команд, что обеспечивает непрерывность его работы. Многоуровневый механизм защиты памяти МП исключительно гибок: можно использовать два, три или четыре уровня защиты для системных программ, обеспечивая качество их защиты, необходимое для любой конкретной ЭВМ. Резервируя один уровень привилегированности для расширений ОС, можно специализировать функции ЭВМ, не затрагивая первоначального ПО. Основным механизмом защиты предусматривается предоставление каждой задаче управляемого доступа к двум областям виртуальной памяти – одной общей и одной частной – в соответствии с содержимым глобальной и локальной дескрипторных таблиц: в глобальном перечисляются сегменты, к которым могут обращаться все системные задачи, с учетом ограничений только по уровням привилегированности; в локальной перечисляются сегменты, которые предоставляются только одной задаче, поскольку в каждую задачу подобная таблица входит как часть описания ее состояния. Типичная ЭВМ будет содержать много локальных дескрипторных таблиц. Регистр-указатель этой таблицы автоматически загружается наряду с другими регистрами при переключении на данную задачу. Дескриптор для каждого сегмента содержит базовый адрес, размер сегмента и поле прав доступа. Это поле определяет режим использования информации данного сегмента. Регистр признаков 80286 имеет дополнительный признак вложенности и 2-разрядный признак уровня привилегированности операций ввода-вывода. 15
Устройство адресов производит преобразование адресов и одновременно контролирует права доступа; содержит кэш-память, которая хранит базовый адрес, предельное граничное значение и права доступа для всех сегментов виртуальной памяти, выбранных в данный момент для использования выполняющейся задачей. Наличие кэш-памяти сводит к минимуму необходимость в считывании указанной информации из основной памяти и позволяет устройству адресов выполнять свою функцию за один цикл тактовой частоты. Параллельная работа четырех внутренних устройств дает возможность 80286 осуществлять управление виртуальной памятью и обеспечивать защиту всей памяти без снижения производительности. В 80286 предусмотрены 4 иерархических уровня защиты памяти, реализованных аппаратно, что повышает общую производительность ПЭВМ и не требует дополнительных программных затрат на выполнение функций защиты. Ядро ОС работает на самом высоком уровне и выполняет такие наиболее ответственные функции, как распределение памяти, планирование задач и координацию взаимодействия между задачами. Небольшое по размеру ядро ОС хорошо использует быстродействие процессора, и его можно рассматривать как расширение физического процессора. Следующим после уровня ядра ОС идет уровень супервизора, управляющего ресурсами ввода-вывода, распределением буферов данных, глобальным планированием заданий. Программы супервизора имеют больший размер, чем программы на уровне ядра. На 3 уровне привилегированности располагаются служебноприкладные программы. Сюда относятся системы управления файлами, процессоры языка управления файлами, процессоры языка управления заданиями и вспомогательные утилиты для прикладных программ. Наименее надежные программы, например, неапробированные программы пользователя, работают на 4-м уровне, самом низком уровне привилегированности.
16
В 80286 имеются 17 регистров. 8 предназначены для выполнения арифметических вычислений и формирования адресов и смещений и обеспечивают программную совместимость с 80286. 4 сегментных регистра определяют 4 сегмента области виртуальных адресов, предоставляемых выполняющейся задаче. Это регистры сегментов кода, данных, дополнительного сегмента и стека. Если в 8086 сегментные регистры являлись 16-разрядными, то в 80286 их длина увеличена до 64 разрядов, причем каждый из регистров содержит 16-разрядный сектор и 48-разрядный дескриптор. Задача использует 4 аппаратных сегментных регистра и может иметь доступ максимум к 16 К сегментам. Эти аппаратные регистры перезагружаются каждый раз, когда поступает запрос на новый сегмент, причем это делается прозрачно для программиста. Использование в команде виртуальных адресов дает каждому пользователю возможность доступа к виртуальной памяти емкостью 1 Гбайт. Сегмент в 80286 − это часть диапазона виртуальных адресов, длина которой может меняться от 1 байта до 64 Кбайт. Средства работы с сегментами переменного размера обеспечивают более эффективное выполнение команд операций подкачки. Виртуальный адрес состоит из селектора и смещения. Селектор − это индекс-расстояние от базового адреса дескрипторной таблицы до нужного элемента-дескриптора в этой таблице. Смещение − это расстояние до нужного байта данных в указанном сегменте. Набор команд 80286 является расширением команд 8086 и обеспечивает программную совместимость с ним. Он включает все виды команд 8086 и 80186 и дополнительные команды для работы со средствами управления памятью. Команды 80286 упрощают реализацию сложных программ, разрабатываемых на современных языках высокого уровня. Новые команды упрощают выполнение стековых операций, вычисление и контроль индексов динамических массивов, а также выполнение команд входа и выхода из процедур в структурированных языках высокого уровня.
17
При помощи привилегированных команд, которые могут выполняться только на высшем по приоритету уровне, т. е. в ядре ОС, можно устанавливать или изменять параметры памяти для системы. Компьютер МП 80386 оптимизирован для многозадачных ОС и прикладных задач, для которых необходимо высокое быстродействие. Главной его особенностью является аппаратная реализация так называемой многосистемной программной среды, обеспечивающей возможность совместной работы разнородных программ пользователей, ориентированных на разные ОС (UNIX, MS DOS, APS 86). МП 80386 обеспечивает программную совместимость снизу вверх по отношению к 16-разрядным МП 8086, 80186 и 80286. Архитектура со встроенными устройствами управления памятью и защиты включает трансляцию адреса, регистры аппаратуры для многозадачных режимов и механизмы защиты, которые обеспечивают работу различных ОС. МП 80386 содержит 6 блоков, обеспечивающих управление выполнением команд, сопряжение с шинами, декодирование и упреждающую выборку команд. Все эти устройства работают в виде конвейера, причем каждое из них может выполнять свою конкретную функцию параллельно с другими. Таким образом, во время выполнения одной программы производится декодирование второй, а третья выбирается из памяти. Дополнительным средством повышения производительности служит специальный блок быстрого умножения (деления). УУП содержит блок сегментации и блок страничной организации. Сегментация позволяет управлять логическим адресным пространством, обеспечивая переместимость программ и данных, и эффективное разделение памяти между задачами. Страничный механизм работает на низком уровне и прозрачен для сегментации, позволяя управлять физическим адресным пространством. Каждый сегмент разделяется на одну или несколько страниц размером 4 Кбайта. Память организована в виде одного или нескольких сегментов переменной длины. Максимальная длина сегмента 4 Гбайта. Каждая область адресного пространства может иметь связанные с ней атрибуты, определяющие ее расположение, размер, тип (стек, программа или данные) и характеристики защиты. 18
Устройство сегментации обеспечивает 4-уровневую защиту для изоляции прикладных задач и ОС друг от друга. МП 80386 имеет 2 режима работы: реальной адресации и виртуальной адресации с защитой. В реальном режиме 80386 работает как быстрый 8086 (при необходимости с 32-разрядными данными). Реальный режим необходим для установки процессора после сброса перед переходом в режим с защитой. Режим с защитой обеспечивает доступ к сложной системе управления памятью, страничной адресации и системе привилегий в процессоре. Внутри режима с защитой программа может осуществить переключение задач для того, чтобы войти в задачи, отмечаемые как задачи виртуального режима 8086. Каждая такая задача позволяет исполняться любым программам 8086 (прикладной или целой ОС). Виртуальные задачи 8086 могут быть изолированы и защищены друг от друга и от главной ОС с помощью страничной адресации и эмуляции команд ввода-вывода. В 80386 имеются 32 регистра, разделяемых на следующие группы: общего назначения; сегментные; указатель команд и флаги управления. Шесть программно-доступных регистров отладки реализуют поддержку процесса отладки программ; четыре − указывают четыре точки остановки; управляющий используется для установки контрольных точек; статусный показывает текущее состояние точек останова. Эти регистры обеспечивают задание контрольных точек останова по командам и данным, а также пошаговый режим выполнения программы. Система команд МП 80386 подразделяется на следующие классы операций: пересылку данных; сдвиг (циклический сдвиг); работу с битами; передачу управления; поддержку языков высокого уровня; поддержку ОС; управление процессором. Она содержит набор команд 80286 и дополнительные команды.
19
6 Микропроцессорный набор 80486 Микропроцессорный набор включает следующие микросхемы: 80486 − быстродействующий 32-разрядный МП; 82596СА − 32-разрядный сопроцессор LAN; 82320 − контроллер магистрали Micro Chanel (MCA); 82350 − контроллер магистрали EISA; 82С508 − микросхема программируемой логики, минимизирующая объем оборудования основной платы. МП 80486 использует CISC-архитектуру и обеспечивает программную совместимость с 80386 в 2−4 раза производительнее 80386 вследствие частичного применения RISC-архитектуры и внутренней 128-разрядной шины данных, внутреннего ОЗУ емкостью 8 Кбайт, реализации функций математического сопроцессора 80387, контроллера кэш-памяти 82385. Система команд содержит набор команд 80386 и дополнительные команды. МП содержит более 1 млн транзисторов, имеет тактовую частоту 25 или 33 МГц и размещен в 186-выводном корпусе с матричным расположением выводов. В МП используются раздельные 32-разрядные шины адреса и данных, обеспечивающие в монопольном режиме скорость передачи данных до 106 Мбайт/с (при тактовой частоте 33 МГц). Сопроцессор 82596 оптимизирован для выполнения функций файл-сервера, построения одно- и многопользовательских рабочих станций и мини-компьютера. Сопроцессор использует при передаче данных 32-разрядные шины и сигналы, что позволяет упростить сопряжение с арифметическими сопроцессорами и системной магистралью.
20
7 История создания микропроцессоров фирмы Intel Микропроцессор 8086 В 1976 году фирма Intel начала усиленно работать над микропроцессором 8086. Размер его регистров был увеличен в два раза, что дало возможность повысить производительность в 10 раз по сравнению с 8080. Кроме того, размер информационных шин был увеличен до 16 разрядов, что дало возможность увеличить скорость передачи информации на микропроцессор и с него в два раза. Размер его адресной шины также был существенно увеличен до 20 бит. Это позволило 86-му прямо контролировать 1 М оперативной памяти. Как прямой потомок 8080 и двоюродный брат Z80, 8086 унаследовал большую часть множества их микрокоманд. Регистры нового процессора были разработаны таким образом, что они могли обрабатывать как 16-разрядные значения, так и 8-разрядные – так же, как это делал 8080. Память 8086 была также доработана специальным образом. Весь мегабайт оперативной памяти не представлялся единым полем, а был разделён на 16 сегментов величиной по 64 Кбайта. Таким образом, память 8086 можно было представить как объединённую вместе память нескольких 8080. Микропроцессор 8086 работал с каждым сегментом по отдельности, не позволяя большим информационным структурам переходить через границы сегментов. В некотором смысле МП 8086 опередил своё время. Малые компьютеры основывались на 8-разрядной архитектуре, память была очень дорога, требовались дополнительные 16-разрядные микросхемы. Использование этого микропроцессора предполагалось в 16-битовых устройствах, которые не оправдывали свою цену в то время.
Микропроцессор 8088−шаг назад Через год после презентации 8086, Intel объявила о разработке микропроцессора 8088. Он являлся близнецом 8086: 16-разрядные регистры, 20 адресных линий, тот же набор микрокоманд – все то же, за исключением одного: шина данных была уменьшена до 8 бит. Это
21
позволяло полностью использовать широко распространенные в то время 8-битные элементы технического обеспечения. Как шаг назад в истории разработки микропроцессоров Intel 8088 мог потеряться в истории, как это было с Intel 8085, не реши IBM реализовать свой первый персональный компьютер на его базе. Выбор IBM был объясним. 8-разрядная шина данных позволяла использовать имеющиеся на рынке микросхемы. 16-битная внутренняя структура давала важные преимущества по сравнению с существующими микропроцессорами. Как преемник 80-го микропроцессора, 8088 мог понимать незначительно доработанные программы, работающие с CP/М. По большому счету, все эти преимущества были временными, а в некоторых случаях и иллюзорными. Но 8-битный чип был еще и недорогим. Последнее явилось более важным аргументом, чем 16-разрядные регистры и легко адаптируемые программы CP/М. Итак, Intel 8088 явился базой для разработки семейства малых компьютеров. Он подготовил почву для быстрого создания совместимых компьютеров. Потенциально 8086 был в 2 раза производительней и почти полностью совместим с 8088. Микропроцессоры 8088 и 8086 совместимы, но не взаимозаменяемы. Восемь дополнительных битов требовали 8 дополнительных проводов. Таким образом, подключение этих двух микросхем было различным. Сердцем системной платы является микропроцессор Intel 8088. Этот процессор представляет собой версию 16-разрядного процессора Intel с 8-разрядным выходом на внешнюю магистраль и является программно-совместимым с процессором 8086. Таким образом, 8088 поддерживает 16-разрядные операции, включая умножение и деление, и поддерживает 20-разрядную адресацию (до 1 Мбайта памяти). Он также работает в максимальном режиме. Поэтому в систему может быть добавлен сопроцессор. Процессор работает с тактовой частотой 4.77 МГц. Эта частота, которая получается из кварцевого генератора 14.31818 МГц, делится на 3 тактовым генератором процессора и на 4 для получения сигнала цветности 3.58 МГц, необходимого для цветного телевидения.
22
Микропроцессор 80286 Презентация IBM персонального компьютера АТ в 1984 году сфокусировала все внимание на другой микропроцессор Intel 80286. Сам по себе микропроцессор был представлен еще в1982 году. Естественно у 8086 и 80286 много общего, но 80286 обладает такими дополнительными качествами, которые сразу привлекли пристальное внимание всех, связанных с компьютерной индустрией. Новый микропроцессор использует полную 16-разрядную шину данных и 16битные внутренние регистры. Он был разработан для работы с частотой в 4 МГц, а затем 8 и 10 Мгц. Более того, Intel 80286 способен реализовывать свои функции быстрее, чем это следует из простого роста частоты. В конечном счете, самым главным преимуществом Intel 80286 была способность работы с дополнительной памятью. Вместо 20разрядной адресной шины 8088/8086,80286 имел 24-разрядную шину. Эти дополнительные 4 разряда давали возможность увеличить максимум адресуемой памяти до 16 Мбайт. Intel 80286 позволил также использовать виртуальную память. Название говорит само за себя: виртуальная память организуется не на каких-то отдельных физических чипах. Более того, информация хранится где-то во внешней памяти, но система обеспечивает к ней прямой доступ. 80286 снабжен специальными средствами, которые дают ему возможность отличать, к реальной или виртуальной памяти относится любой байт. Эти средства реализуются схемами, включенными в микропроцессор. Они дают возможность работать с 1 Гбайтом памяти, включающей в себя 16 Мбайт физической памяти и 1008 Мбайт виртуальной. Теоретически 80286 должен был преодолеть барьер адресуемой памяти в 1 Мбайт, который был установлен предыдущими моделями. Но в действительности эта возможность не была реализована. Проблема была частично в традициях, а частично в совместимости. Ко времени появления 80286 IBM PC имела гарантированный успех. Для 8088/8086 было разработано огромное программное обеспечение. Отказ от использования этих разработанных программ ставил под сомнение использование нового чипа.
23
Для обеспечения совместимости с ранее разработанными чипами разработчики Intel 80286 обеспечили его работу в двух режимах: реальном и защищенном. Реальный режим был скопирован с режима работы 8086. Причем разработчики работали так добросовестно, что внесли в реальный режим и ограничение по использованию 1 Мбайт памяти. Чтобы использовать улучшенные возможности Intel 80286, фирма разработала защищенный режим. Хотя отсутствовала программная совместимость с 8086, этот режим позволял использовать все 16 Мбайт и даже 1 Гайт виртуальной памяти в программах, работающих в защищенном режиме. Точно так же, как и 8086 в свое время, Intel 80286 давал такие огромные ресурсы памяти, потребность в которых еще не назрела к тому времени. Поэтому этот режим не сразу был признан широким кругом пользователей. Потребовалось почти три года с момента презентации первой АТ и появления операционной системы OS/2, работающей в этом режиме, чтобы эти возможности получили широкое применение. Имелись две причины медленной популяризации защищенного режима. Для программистов, работающих в DOS, существенным является вопрос перехода между реальным и защищенным режимами. Intel разработал переход между режимами только в одном направлении. Микропроцессор начинал работу только в реальном режиме, когда происходило тестирование всех 16 Мбайт памяти, но для использования этого ресурса необходимо было перейти в защищенный режим. Иначе пользователь мог довольствоваться только 1 Мбайтом памяти. Обратного перехода от защищенного режима к реальному не существовало − требовалась перезагрузка. Кроме того, защищенный режим реализовывал только частично чаяния программистов. Вся огромная память 80286 была разделена на сегменты по 64К. Вместо того, чтобы свободно использовать весь ресурс памяти, программистам приходилось думать, чтобы преодолеть эти барьеры между сегментами.
24
Микропроцессор 80386 Не в пример 80286, который был, по видимому, предназначен удивить мир без DOC, следующее детище Intel − микропроцессор 80386 развязал руки к использованию DOC. Intel 80386 был создан в 1985 году. Его создатели учли тяжелые уроки 80286 и мечты программистов. У него выше тактовая частота, большая производительность. И в целом он был более универсален, чем 88, 86, 286, опережая всех их по своим характеристикам. После появления 80386 80286 смотрелся как тупиковая ветвь, но слишком поздно. Дело в том, что некоторые потребители Intel начали дорабатывать недостатки 80286 даже раньше, чем Intel 8086, так как в разработке идеи 80286 использовалась база 8080, хотя, может быть, чуть амбициозно. 8086 появился в результате переосмысления целей разработки. Только позже оригинальные идеи были воплощены в 80286. Напротив, Intel 80386 был создан при полной ясности всех требований, предъявляемых к микропроцессорам и компьютерам. Intel 80386 имел все положительные качества своих предшественников. Все микрокоды его предшественника Intel 80286 входили во множество микрокоманд 80386. Поэтому старое программное обеспечение могло использоваться с Intel 80386. Но вместе с тем у 80386 были дополнительные возможности. Особенно привлекала возможность работать без ограничения, связанного с сегментацией памяти. Intel 80386 был мощнее своих предшественников. Размеры его регистров и шины данных были увеличены до 32 бит. Информация передавалась и обрабатывалась в два раза быстрее, чем у 16-разрядного 80286. С самого начала разработчики 80386 ставили перед собой задачу создать быстрый чип. При его создании использовалась CHMOS технология. Первые 80386 начали работать с наивысшей частотой, достигнутой для 80286. Затем появилась 20 МГц-я модель. В 1985 году предел был отодвинут до 25 МГц, а вскоре и до 32 МГц. С увеличением шины данных до 32 бит число адресных линий также было увеличено до 32. Само по себе это расширение позволило микропроцессору прямо обращаться к 4 Гбайтам физической па25
мяти. Кроме того, он мог работать с 6 триллионами байт виртуальной памяти. Микропроцессор имел все необходимое для реализации последнего. Огромное преимущество давал способ организации памяти 80386. К ней можно было обращаться, как к одному большому полю, доступному для программ, т. е. структуры данных и программы могли быть объемом в целую память. Разделение памяти на сегменты возможно, но не обязательно. Сегменты могут быть произвольны, а не ограничены по 64 Кбайта. Кроме того, Intel 80386 снабжен 16 байтами сверхоперативной кэш-памяти. Это специально встроенное поле памяти используется для хранения нескольких команд микропроцессора. Независимо от производимых микропроцессором расчетов, специальная схема загружает в эту память код программного обеспечения, прежде чем в нем появится необходимость. Эта небольшая кэш-память помогает процессору работать более оперативно, без задержек, связанных с ожиданием загрузки очередной команды из оперативной памяти. Для того, чтобы обеспечить совместимость с предыдущими микропроцессорами и с огромной библиотекой DOS-программ, Intel 80386 был разработан таким образом, чтобы быть как можно больше похожим на 8086 и 80286. Как и его предшественники, Intel 80386 позволял работать в защищенном режиме с ограничением адресуемой памяти в 1 Мбайт. В этом режиме он загружал и выполнял все программы, разработанные на процессорах предшествующих поколений. С реального режима Intel 80386 мог быть переведен в защищенный режим, где он функционировал подобно 80286, за исключением объема памяти. В этом режиме в распоряжении программиста было больше памяти, и он мог более гибко манипулировать ею, потому что мог изменять размеры сегмента. В противоположность Intel 80286, 80386 мог переходить из одного режима в другой без перезагрузки машины, а посредством команд программного обеспечения. Новый режим, названный виртуальным режимом 8086 (Virtual 8086 mode), давал Intel 80386 больше свободы по использова-
26
нию DOS. В этом режиме процессор работал не как один 8086, а как неограниченное их количество в одно и то же время. Этот режим позволял процессору разбивать память на множество виртуальных машин, каждая из которых работала так, как будто она была отдельным компьютером на 8086 чипе. Каждая из этих виртуальных машин могла запускать свою собственную программу, которая была полностью изолирована от всех остальных. Это означало, что можно было одновременно выполнять несколько DOS-программ на одном компьютере. Вне экзотической архитектуры Intel 80386 такая система была бы очень сложной и капризной, кроме того, требовалось, чтобы программное обеспечение таких систем было специально написано по определённым стандартам, удовлетворяющим требованиям многозадачного режима. Intel 80386 делал реализацию многозадачного режима почти тривиальной, потому что самая тяжёлая работа выполнялась на уровне технического обеспечения. Готовые DOS-программы выполнялись на Intel 80386 в многозадачной среде без всяких доработок. Intel 80386 являлся великолепным микропроцессором, и его можно было найти в каждом персональном компьютере. Использование более старого чипа следует рассматривать как шаг назад. И действительно, существуют только две причины, почему используются другие чипы. Одна из них − стоимость. Сразу после презентации Intel 80386 его стоимость превышала 500 долларов, тогда как 8086 стоил в некоторых случаях даже меньше 10 долларов. Таким образом, можно было купить целый компьютер за ту же цену, что и один 80386. Частично такой высокой цене способствовала Intel, которая не продавала лицензию на производство 80386 другим компаниям (за исключением IBM). В таких условиях Intel могла диктовать свои условия на рынке, регулируя спрос и предложения количеством выпускаемых чипов. Очевидно, что компьютер на Intel 80386 был более дорогим по сравнению с другими, реализованными на других микропроцессорах. Intel 80386 имел наиболее болезненную историю своего внедрения по сравнению с другими микропроцессорами. Вскоре после его создания были обнаружены ошибки, связанные с его работой при выполнении 32-битных математических операций.
27
Эта проблема не была выявлена на IBM-совместимых компьютерах, реализованных на этом чипе, потому что DOS использует 16разрядные операции. Ошибки всплыли после того, когда 80386 стал работать в 32-битном режиме. Ошибки были быстро обнаружены и исправлены. Микросхемы, выпущенные после апреля 1987 года, не имеют описанного недостатка. По решению фирмы все доработанные чипы маркировались двойным символом сигма. Некоторые, но не все ранее выпущенные микропроцессоры, были промаркированы “только для 16-разрядных операций”. Существует модификация процессора Intel 80386−386SX. Главное отличие его от 80386 − это 16-разрядный вход/выход шины данных. Как следствие, его внутренние регистры заполняются в два шага.
8 Концепция открытой архитектуры ПЭВМ До появления IBM РС все модели микрокомпьютеров имели закрытую архитектуру. Это означало, что аппаратные средства компьютера для конечного пользователя представляли собой "вещь в себе": любая их модификация требовала достаточно высокой специальной квалификации в области электроники. Совершенствование микрокомпьютера оставалось уделом профессионалов-разработчиков, а пользователям приходилось довольствоваться тем, что они приобретали. С того момента, когда на корпусе микрокомпьютера при его сборке был завернут последний винт, система была обречена на необратимое старение. Безусловно, это не означало кризисного положения в производстве ПК, но спрос на них (и соответственно объем производства и сбыта) был весьма невелик, а производительность не могла быть даже сравнима с профессиональными миниЭВМ. Именно поэтому первоначально их чаще называли “домашними”, а не “персональными”. Фирма IBM произвела в этой области настоящий переворот. Так как еще до появления ее первого ПК IBM была фирмой-производителем больших вычислительных систем и мини-ЭВМ, она просто перенесла модульный принцип их построения в структуру ПК. Именно в этом смысле его открытая архитектура допускает замену дополнительных устройств на новые при старении прежних. Это качество поддерживается строго соблюдаемым 28
правилом, выработанным производителями аппаратных и программных средств: все новые устройства и программы должны быть совместимыми по принципу “сверху − вниз”, т. е. последующие версии должны обслуживать все ранее существовавшие. Например, пользователь приобрел ПК IBM с монохромным (одноцветным) монитором и таким же видеоконтроллером (контроллером, который управляет монитором). Через 1−2 года на рынке появился цветной контроллер. Даже неспециалист в состоянии извлечь из системы устаревшее устройство и заменить его новым. Еще через 2 года появляется улучшенный цветной графический контроллер. Пользователь вновь заменяет лишь один из компонентов ПК и так далее. Преимущества подобного подхода очевидны: во-первых, нет необходимости в замене системы в целом, если возможно ее обновление “по частям”. Вовторых, совершенствование ПК становится уделом самого пользователя, который вследствие своей близости к конкретному применению ПК лучше представляет себе, что требуется от системы, а в-третьих, процесс ремонта сводится к замене не отдельного элемента, а устройства в целом, что можно делать намного быстрее. Именно вследствие удачного конструктивного решения через короткий срок после рождения IBM PC (IBM Personal Computer − РС IBM) началось лавинообразное нарастание производства ПК, совместимых с оригинальной моделью. Достаточно сказать, что производитель прежде весьма популярных микрокомпьютеров TRS-80 − фирма Tandy Corporation − достаточно быстро освоила производство IBM- совместимых ПК, эффективно переориентировав производство. Модели ПК выпускаются и другими фирмами. Как правило, они полностью совместимы с соответствующими моделями IBM, но стоят дешевле (иногда весьма значительно). Это семейство микрокомпьютеров получило название “клона” IBM. Так как сам по себе принцип открытой архитектуры не подлежит авторской и патентной защите, то вследствие "клонирования" ПК сторонними производителями фирма IBM начала быстро утрачивать монополию на контроль рынка ПК и терять доходы. Только теперь специалисты IBM поняли, насколько замечательное решение они предложили. Можно сказать, что в этом отношении фирма сработала частично против себя, но от этого выиграли потребители. Любая из моделей '' клона '' оказывалась, в конечном счете, лучше своего прототипа (по быстродейст29
вию, дизайну и т. д.), т. е. IBM как бы инициировала процесс разработки очередного ПК, а затем другие производители всесторонне совершенствовали каждую из моделей. Не удивительно, что к настоящему моменту IBM, имея в руках весь арсенал сверхсовременных технологий, является хоть и самым крупным, но не самым популярным производителем ПК своей собственной архитектуры; и совсем не ее модели занимают первые места в рейтинге ПК. Первая модель ПК IBM − IBM PC (IBM Personal Computer) использовала микропроцессор Intel 8088 и имела 64 Кбайт оперативной памяти, магнитофон для загрузки/сохранения программ и данных, дисковод и встроенную версию языка BASIC. Через короткий отрезок времени эта модель была усовершенствована. Новая модификация получила название ''расширенного'' ПК − IBM PC/XT (Personal Computer/eXTended version). Производители отказались от использования магнитофона в качестве накопители информации, добавили второй дисковод гибких дисков, а также возможность использования жесткого диска емкостью 10−30 Мбайт. В настоящее время наличие жесткого диска в ПК ХТ является практически обязательным. Модель базировалась на использовании того же микропроцессора − Intel 8088. Вследствие естественного прогресса в области разработки и производства микропроцессорной техники фирма Intel − постоянный партнер IBM − освоила выпуск новой серии процессоров, Intel 80286. Соответственно появилась и новая модель ПК IBM. Она получила название IBM PC/AT (Personal Computer/Advanced Technology) − "ПК усовершенствованной технологии". В связи с использованием нового микропроцессора производительность системы возросла более чем вдвое. Она укомплектована дисководами гибких дисков нового типа (с удвоенным объемом хранимой информации), жестким диском от 40 Мбайт и выше. Ширина ПК расширена до 16 бит. Накал конкурентной борьбы заставил разработчиков IBM, в конечном счете, отказаться от принципа "открытой архитектуры". Новое семейство моделей ПК IBM получило название PS/2 (Personal System 2 − "Персональная система 2). Она абсолютно несовместима с первым поколением на аппаратном уровне, но сохраняет совместимость на уровне программного обеспечения. В модели PS/2 фирма 30
IBM заявила о своем переходе на новую шинную архитектуру – микроканальную [Micro Channel Architecture, MCA]. Это позволило отгородиться от сторонних производителей, но ограничило потребителей в выборе: все дополнительные устройства для этих ПК выпускает только сама IBM; другие фирмы ее практически не поддерживают. Первые модели семейства PS/2 использовали микропроцессор Intel 80286 и фактически копировали ПК АТ, но на базе иной архитектуры. Затем IBM начала использовать Intel 80486. Новая модель ПК на базе очередного поколения микропроцессоров Intel 80386 (ПК 386) была впервые разработана уже не IBM, а фирмой Compaq. Этот ПК мог работать в реально многозадачном и многопользовательском режимах. С некоторым запозданием IBM выпустила компьютер такого класса, как новую модель семейства PS/2. В целом, надежды фирмы IBM, возлагавшиеся на концепцию новой архитектуры PS/2 − так называемую микроканальную (кстати, действительно более прогрессивную в смысле скорости обмена данными), пока коммерчески не оправдались. Пользователи-неспециалисты оказались практичнее профессионалов и не захотели приобретать ПК, новая конструкция которых не была поддержана другими производителями дополнительных устройств. Другие производители (в их числе такие гиганты, как Compaq, Zenith, AST, Apricot и др.) разработали модели ПК 386 на основе использования прежней архитектуры. С этого момента фирма IBM, породившая ПК как идеологию, перестала быть его самым популярным производителем. Сотни фирм в десятках стран мира производят модели "клона" IBM, включая модель с микропроцессором Intel 80386, причем эти модели раскупаются едва ли не охотнее, чем PS/2 фирмы IBM. Первое место среди различных вариантов модели ПК 386 (данные 1989 года) занимает микрокомпьютер Compaq DeskPro/386. После освоения производства процессора Intel 80486 в выпуске моделей ПК 486 лидировали Apricot и Compaq, затем − AST, Zenith и другие. Сама IBM неохотно выпускала ПК с этими микропроцессорами.
31
9 Семейство компьютеров PS/2 Персональная система PS/2 фирмы IBM (IBM Personal System/2) является семейством персональных компьютеров второго поколения малых ЭВМ этой фирмы. Семейство PS/2 было впервые представлено в апреле 1987 года приблизительно через шесть лет после выпуска IBM PC. Цель разработки семейства PS/2 – предоставить пользователям возможность работы с повышенной производительностью при сохранении высокой степени совместимости с программным обеспечением ранее выпущенных персональных компьютеров. При представлении семейства PS/2 говорилось о четырёх различных моделях. Каждая из этих моделей: 30, 50, 60 и 80 − могла иметь производительность, совпадающую с номером модели, при этом модель 80 соответствовала высшему уровню производительности. В последовавших после апреля 1987 года объявлениях фирма IBM добавила ещё пять моделей семейства PS/2: 25, 50Z, 55, 70 и Р70. В настоящее время модель 25 является младшим членом PS/2. Модель 50Z и модель 55 могут обеспечить более высокую производительность, чем модель 60, а модель 70 – более высокую производительность, чем модель 80. Модель 70 является первой портативной моделью семейства PS/2. Несмотря на то, что, по-видимому, никогда не появится типовая система PS/2, в каждой модели были по крайней мере, следующие компоненты: клавиатура; системный блок, в котором предусмотрено место для установки микросхем памяти, плат различных адаптеров и устройств памяти; монитор; принтер. Во всех моделях PS/2, за исключением модели 25 и модели Р70, основные компоненты представляют собой модули, в числе которых клавиатура, монитор и принтер, соединяемые с системным блоком отдельными кабелями. Модель 25 и модель Р70 состоят из системного блока и монитора, размещенных в одном корпусе, что позволяет обойтись без кабеля между монитором и системным блоком компьютера. В апреле 1987 года были представлены четыре модели. Модель 30 и модель 50 – это настольные устройства, каждое из которых состоит из системного блока, размещенного горизонтально на столе, и монитора, устанавливаемого на этом блоке. Модель 60 и модель 80 имеют системный блок в виде вертикальной конструкции, который устанав32
ливается на полу. Клавиатура и монитор в этих моделях размещаются на столе и соединяются кабелем со стоящими на полу системными блоками. Каждый член семейства PS/2 фирмы IBM имеет клавиатуру и системный блок. Различаются системы в основном типом монитора и числом и типом устройств памяти, установленных внутри системного блока или подключенных к нему кабелем. Успех IBM PC привел к утверждению этого компьютера миром промышленности и бизнеса в качестве стандарта де-факто для персональных средств вычислительной техники. Приняв этот стандарт, многие спрашивали, какова необходимость во втором стандарте, представленном серией компьютеров, о которых фирма IBM объявила в апреле 1987 года − семейства персональных систем PS/2. Семейство PS/2 отличается от серии РС в нескольких аспектах, включающих тип используемой среды для запоминания данных, поддерживаемые разъемы расширения и возможности видеостандарта. Хотя эти отличия весьма существенны, важно понять, что оба поколения персональных компьютеров поддерживаются DOS. Вследствие этого более 99 % программного обеспечения, разработанного для компьютеров IBM PC, будет работать на компьютерах PS/2. Однажды увидев работу программного обеспечения на PS/2, легко ответить на вопрос о целесообразности создания второго поколения персональных компьютеров. В компьютерах PS/2 используются 3.5-дюймовые дискеты в жестком внешнем каркасе, существенно снижающем возможные потери данных вследствие повреждения диска, которые имеют место при применении 5.25-дюймового гибкого диска, использующегося в серии PС. Новые видеостандарты, реализуемые в PS/2, обеспечивают как улучшенное качество отображения данных, так и совместимость с режимами отображения, поддержанными первым поколением персональных компьютеров. Хотя адаптерные платы, спроектированные для серии PС, не могут быть использованы в разъемах расширения компьютеров PS/2, это, по-видимому, небольшая плата за возможности, предоставляемые архитектурой МСА, которая требует, чтобы адаптерные платы имели лучшее заземление и более жесткую конструкцию по сравне33
нию с адаптерными платами, спроектированными для компьютеров IBM PC. Проект МСА допускает использование плат, содержащих независимые микропроцессоры для работы совместно с микропроцессором на системной плате PS/2, а также до 15 дополнительных процессоров, поддерживаемых в компьютерах PS/2 на базе МСА. Таким образом, архитектура МСА обеспечивает поддержку новых технологических разработок. Для компьютеров PS/2, базирующихся на микропроцессорах 80286 и 80386, фирма IBM спроектировала новую структуру шины, которую назвала Микроканалом (Micro Channel). Архитектура Микроканала требует полного перепроектирования системных разъемов расширениями, которые в настоящее время несовместимы с разъемными расширениями, установленными в компьютерах РС. Из-за этой несовместимости адаптерные платы, которые могут быть использованы в компьютерах модели 25 и модели 30, не могут быть применены в других моделях PS/2 и наоборот. Микроканал имеет несколько ключевых преимуществ по отношению к шинной структуре РС. Первое и, по-видимому, наиболее очевидное для специалистов, знакомых с более старыми моделями РС, это исключение переключателей типа DIP (Dual Inline Package двухпозиционный, устанавливаемый в линии) на адаптерных платах, спроектированных для установки в разъем расширения Микроканала. В отличие от предыдущего варианта, Микроканал обеспечивает автоматическую установку конфигурации системы и всех дополнительных установленных в компьютер плат – свойство, которое фирма IBM называет программным выбором возможностей (Programmable Option Select – POS). Дополнительные платы, спроектированные для использования с РС, обычно требуют от пользователя позиционирования переключателей DIP в определенное положение при установке этой платы, а также перемещения в соответствующее положение переключателей DIP, размещенных на системной плате компьютера. Поскольку возможности, предоставляемые POS, обеспечивают автоматическую установку конфигурации адаптерных плат, разработанных для Микроканала при включении питания компьютера, а также при необходимости программной реконфигурации системы, можно сказать, что POS упрощает процесс инициализации аппаратных
34
средств и исключает возможные ошибки установки положения переключателей DIP. Второе возможное преимущество Микроканала, по сравнению с шиной РС, состоит в том, что Микроканал разрешает конфликты на шине. Это позволяет процессорам, установленным на платах расширения, которые в таком случае называются мастерами, принимать на себя временное управление системой. С помощью схемы разрешения конфликтов различные устройства получают доступ к системной шине данных; если два или более устройств пытаются получить управление Микроканалом в одно и то же время, алгоритм, реализованный аппаратно, разрешает этот конфликт. Используя аппаратный способ разрешения конфликтов, микропроцессор, размещенный на системной плате, может передать специальные вычислительные задачи адаптерной плате, разработанной специально для этой задачи. После передачи задачи основной микропроцессор может выполнять другие функции, что приводит к повышению производительности. Микроканал спроектирован так, что он в состоянии поддержать всего 16 интеллектуальных процессоров, включая микропроцессор на системной плате. Это означает, что Микроканал может поддержать до 15 дополнительных процессоров, которые выполняют такие независимые функции, как связь, графика, шифрование либо интеллектуальное управление диском. Действительно, микропроцессоры, размещенные на адаптерных платах, предназначенных для установки в разъемы расширения Микроканала, могут быть не совместимы с микропроцессором на системной плате. Это достигается тем, что схема разрешения конфликтов управляет доступом к шине для передачи данных между устройствами, обеспечивая гибкость в проектировании для изготовителей соответствующих изделий. Еще одно преимущество Микроканала состоит в возможности использовать новый формат платы и новое размещение выводов, что существенно уменьшает генерацию компьютером электромагнитного излучения (Electro Magnetic Interference-EMI). Новый формат платы адаптера выбран так, чтобы соответствовать разъему расширения Микроканала, и оптимизирован для обеспечения высокой плотности проектирования схемы. Все это позволяет устанавливать на адаптерные платы Микроканала больше СБИС, чем на платы, спроектиро-
35
ванные для шины РС. Расширение выводов в адаптерной плате Микроканала таково, что через каждые четыре вывода имеется земляной вывод с обеих сторон разъема платы. Это размещение выводов сдвинуто на два вывода на противоположных сторонах разъема, в результате чего каждый сигнальный вывод становится смежным с земляным выводом. Все это позволяет существенно снизить EMI .
10 История развития компьютеров семейства Apple Первая модель − Apple II (канонически пишет именно так!), созданная в 1977 году, имела адресуемое адресное пространство в 64 Кбайт, из которых 16 Кбайт было зарезервировано под системное ПЗУ, а 48 Кбайт доступно для ОЗУ. В базовой поставке она имела 4 Кбайт ОЗУ и 4 Кбайт ПЗУ, в котором размещались программа системного монитора и Integer Basic (Basic для целочисленных операций). В Apple II имелось 8 слотов расширения, семь из которых использовались для установки контроллеров различных внешних устройств, а восьмой (точнее нулевой) позволял установить дополнительное или альтернативное ПЗУ. Это был, пожалуй, первый компьютер, предлагавший подключение цветного монитора, в качестве которого должен был использоваться телевизор, воспринимающий НЧвидеосигнал в формате NTSC, стандартном для США. Текстовый экран давал 40×24 символов в черно-белом отображении. Каждый символ мог быть обычным, инверсным или мигающим, при этом отображались только заглавные буквы. Клавиатура соответственно, генерировала коды только для заглавных букв. Графический режим обеспечивал разрешение 280×192 точки; для цветного изображения реальное горизонтальное разрешение было вдвое хуже. Для кодирования цвета использовалась особенность стандарта NTSC, позволяющая сделать контроллер терминала крайне простым − биты в области графического экрана, которая располагалась в основной оперативной памяти и при работе с текстом могла использоваться как обычное ОЗУ, непосредственно ставились в соответствие фазе сигнала. Два бита со значением 11 давали белый цвет, а комбинации 10 и 01 − по два цвета каждая (красный, голубой и зеленый, пурпурный) в зависимости от старшего бита в байте. Никаких других цветов не 36
воспроизводилось, и “цветные” точки были прорежены черными в паре, например, “01” “ноль” давал черную точку, а “единица” − цветную. “Сплошная” закраска была доступна только для чернобелого изображения. Кроме того, был режим “графики низкого разрешения” − 40х24 цветных элементов (закрашенных текстовых знакомест), каждый из которых мог иметь разноцветные верхнюю и нижнюю половины, при этом доступно было 16 цветов. Эти особенности сохранились и во всех последующих моделях Apple II. Впоследствии для моделей, поставляемых в Европу (Euro apple) была создана плата PAL-кодера, устанавливаемая в один из разъемов, поскольку стандарт NTSC в Европе не используется. Звук же реализовывался обычным динамиком, управляемым обращением к регистру в памяти. В качестве устройства внешней памяти, как и у всех миникомпьютеров этого поколения, использовался бытовой магнитофон. Еще одной интересной возможностью было наличие "игрового порта", к которому подключались до 4-х игровых рукояток. Это были, фактически, обычные переменные сопротивления, положение которых считывалось схемой игрового порта и отображалось значением в специально отведенных ячейках памяти. Комбинация из двух резисторов с движками в перпендикулярных плоскостях давала аналоговый джойстик, который стал активно использоваться в игровых программах. Наличие разъемов расширения и хорошо описанных спецификаций для них способствовали быстрому развитию периферийных устройств для Apple II, что послужило одной из основных причин его популярности. Вскоре был разработан контроллер привода гибкого диска – Woznyak Machine (по имени создателя), позволивший подключить два дисковода для дискет 5.25". Эти дисководы работали только с одной стороной дискеты, одна дискета, используемая с двух сторон, давала два независимых диска. Для работы с дисками была написана операционная система DOS 3.0, развившаяся впоследствии до DOS 3.3. Она поддерживала только такие дискеты и позволяла записать на одной стороне 35 дорожек, 16 секторов по 256 байт на каждой, то есть всего 140 Кбайт на одной стороне дискеты. Появившаяся для Apple II программа Supercalc – одна из первых "электронных таблиц" – вместе с возможностью хранить информацию не на магнитофонных кассетах, а на удобных и в то же время достаточно 37
компактных 5.25" дисках превратила Apple II из игрушки для любителей в нормальный рабочий инструмент, который мог использоваться для вполне жизненных задач, например, ведения бухгалтерии для дома или небольшого офиса. Именно комбинация удачного и компактного компьютера Apple II с дисковой ОС и программой Supercalc сделала персональные компьютеры популярными. В 1978 – 1979 годах появилась и получила широкое распространение модель Apple II+ (Apple two plus), у которой было 48 Кбайт ОЗУ и объём ПЗУ, увеличенный до 8 Кбайт. Нулевой слот стал использоваться для расширения ОЗУ до 64 Кбайт. В каждый момент времени можно было обратиться либо к ПЗУ, либо к дополнительным 16 Кбайт ОЗУ. Осталась также возможность установить в нулевой слот альтернативное ПЗУ, например, со старым Integer Basic. Integer Basic был заменён в Apple Soft Basic, поддерживающий работу с плавающей точкой и имеющий больше возможностей. Была добавлена также функция автоматической загрузки с диска при включении питания (в Apple II для загрузки с диска требовалась специальная команда системного монитора). В новом мониторе появился также встроенный дисассемблер, упрощающий просмотр содержимого памяти (работа с памятью "напрямую" была важной функцией всех персональных компьютеров 8-разрядного поколения). Для Apple II+ впоследствии появилась возможность обновить знакогенератор так, что была обеспечена поддержка не только заглавных, но и строчных букв, что сделало более удобной работу с текстом и дало толчок развитию текстовых редакторов. Следующая модель − Apple IIe, была выпущенна в 1981–1982 годах. В ней кардинально изменилась конструкция системной платы, вместо стандартных микросхем стали использоваться заказные с высокой степенью интеграции. Поддержка заглавных и строчных букв стала стандартной возможностью. Нулевой слот для расширения ОЗУ исчез, – стало 64 Кбайта ОЗУ на плате. Появился новый разъём для платы "расширенного видеорежима" (80-column card), с помощью которого стал доступен текстовый режим 80×24. Позднее появилась также "extended 80-column card", дающая дополнительные 64 Кбайта ОЗУ (т. е. всего 128 Кбайт) и поддержку графического режима 560×192. В целом возможности вывода текста и графики
38
приблизились к современным требованиям. Расширенный графический режим 560×192 позволял использовать (в черно-белом режиме) вполне приличные графические редакторы и даже издательские системы (например, систему Publishlt, появившуюся именно для Apple II), а 80-символьный режим вывода текста − писать достаточно профессиональные текстовые процессоры. Все ограничения по выводу цветов сохранились. По-прежнему был нужен телевизор или монитор, понимающий композитный сигнал NTSC, для Европы требовалась плата PAL-кодера. Объем ПЗУ увеличился до 16 Кбайт, дополнительный объем использовался для функций поддержки 80-символьного режима и доступа к дополнительному ОЗУ. Адресное пространство осталось прежним − 64 Кбайта, для доступа ко всей памяти (128 Кбайт ОЗУ и 16 Кбайт ПЗУ) использовался довольно замысловатый метод коммутации блоков. “Лишние” 64 Кбайта могли использоваться как для работы специально написанных приложений (никакого управления памятью из ОС, естественно, не было, все возлагалось на конечное приложение), так и для организации “виртуального диска”, с помощью которого можно было заметно ускорить работу. Компьютер Apple IIе выпускался в новом корпусе большего объема, в который было удобнее ставить платы расширения. Номенклатура плат была к тому времени весьма широкой − последовательные порты для модема и принтера, часы, контроллер “мыши”, звуковые эффекты и т. д., и т. п. В 1984 году был выпущен одноплатный Apple IIc, без разъемов расширения, но имевший на плате два последовательных порта (для модема и принтера), контроллер диска, выполненный на одной микросхеме, контроллер мыши и 128 Кбайт ОЗУ с возможностями работы с 80-колоночным текстом и графикой 560×192. В Apple IIe для всего этого требовались отдельные платы. В Apple IIc использовался новый процессор 65С02 с уменьшенным энергопотреблением и расширенным набором команд. Кроме того, прямо в корпус Apple IIc был встроен один 5.25" дисковод, а возможность работы с магнитофоном была исключена. Второй дисковод мог быть подключен к внешнему разъему. Компьютер Apple IIc работал от питания 12V и мог использоваться в автомобиле. Для работы от сети требовался внешний источник питания. Фактически Apple IIc был одним из первых (если не самым первым) портативных компьютеров. В 1985 году 39
была выпущена новая модель Apple IIc со встроенным контроллером Smart port, к которому мог подключиться внешний 3.5" дисков UniDisk емкостью 800 Кбайт. Интересно отметить, что для подключения использовался тот же аппаратный контроллер, но через линии, которые использовались для управления головкой диска, стали передаваться логические управляющие сигналы, а все схемы физического управления дисководом были вынесены в сам UniDisk. Можно сказать, что Smart port был предшественником интерфейса SCSI. Поддержка Smart port потребовала увеличения ПЗУ до 32 Кбайт, в тот же объем был включен микроассемблер, позволявший писать несложные программы прямо из системного монитора. Компьютер Apple IIe также стал выпускаться с новым процессором 65С02 и увеличенным до 32 Кбайт ПЗУ со встроенным миниассемблером. Эта модель получила название Enchanсed IIe. Для подключения к нему 3.5" привода UniDisk требовалась отдельная плата расширения. Для поддержки нового привода появилась операционная система ProDOS, имевшая иерархическую файловую структуру и позволявшая работать как со старым дисководом, так и с другими накопителями. Интерфейс к внешнему устройству был унифицирован, впоследствии, кроме UniDisk, стало возможно подключать и жесткие диски емкостью 10−20 Мбайт. Надо сказать, что это было безумно много. Например, созданный одновременно с ProDOS офисный пакет Apple works (довольно мощные для своего времени текстовый процессор, электронная таблица и база данных) занимал две стороны гибкого диска 5.25" (280 Кбайт), а с такими расширениями, как поддержка макросов, наборы шрифтов для принтера и графический редактор − 560 Кбайт. Издательская система Publishlt! тоже помещалась на один-два (в зависимости от набора прилагаемых шрифтов и картинок) гибких диска. В 1986 году Apple IIc подвергся еще одной модификации. Была добавлена возможность установить дополнительную плату ОЗУ емкостью до 1 Мбайт. Основным назначением этой платы было создание виртуального диска. Подразумевалось, что при первом запуске операционная система и необходимые программы будут скопированы на этот диск и впоследствии будут стартовать практически мгно-
40
венно. Было возможно использование платы и как ОЗУ, но довольно медленного из-за сложного механизма обращения к адресному пространству платы. Выпускаемые для Apple IIc платы расширения памяти имели также часы реального времени – другой возможности поставить их в Apple IIc из-за отсутствия разъемов расширения не было. Последняя модель этой линии – Apple IIc Plus, с повышенной частотой процессора (4 МГц, у всех предыдущих был 1МГц) и встроенным 3.5" дисководом. Надо сказать, что даже в Apple IIc с тактовой частотой 1 МГц многие приложения работали заметно быстрее, чем аналогичные на IBM PC XT с процессором 8088 и частотой 4.77 МГц. Дальнейшее развитие моделей Apple II пыталось пойти по линии 16-разрядных компьютеров. (Apple IIGS выпускался одновременно с Enchanted IIe и Apple IIc и первыми моделями Macintosh) . Сначала Apple IIGS был в чем-то даже более передовым, чем Macintosh (выпускаться он начал позже), поскольку имел нормальную поддержку цвета (у первых Mac’ов ее не было). Кроме того, на нем можно было запускать программы для старых 8-разрядых Apple II. Но, в конце концов, эта линия была полностью вытеснена моделями линии Macintosh’ и прекратила свое существование. В конце 1980-х – начале 1990-х годов у нас в стране был достаточно известен ряд болгарских компьютеров “Правец 8”, которые представляли собой Apple II с точностью до формы корпуса: Правец 8 – Apple II; Правец 8М – Apple II+; Правец 8е – Apple II, который путем замены процессора и ПЗУ превращался в Enchanted 11. Все платы расширения и все программы для “настоящих” Apple II работали и на компьютерах “Правец 8”, включая платы расширенного текстового режима и дополнительной памяти для Apple II. Для “Правец 8” были даже платы, позволяющие нарастить память до 192 и 256 Кбайт, причем такие программы, как Apple works, это понимали и могли пользоваться дополнительной памятью. Компьютеры “Правец 8” стояли во многих наших вузах и школах. Особо стоит упомянуть производимую для “Правец 8” плату U-LAN, позволявшую связать их в локальную сеть. Плата базировалась на микросхеме последовательного порта Motorola 6850 и обеспечивала скорость 115
41
Кбит/с. Правда, работала она только со старой операционной системой DOS 3.3 и набор прикладных возможностей оставлял желать лучшего − весь интерфейс реализовывался только из среды Apple Soft Basic и позволял передавать файлы и сообщения между компьютерами сети. В СССР также была создана серия “персоналок” на базе Apple II − компьютеры “Агат”. Производились на предприятиях НПО СВТ. Публикация об “Агат” в журнале Byte называлась “The first soviet miсrоcomputed is a bad copy of Apple”. Копия действительно была плохой. Широко выпускались две модели − “Агат 7” и “Агат”. За основу для них был взят Apple II+, элементная база была отечественная, за исключением процессора (выпуск 6502 наша промышленность не освоила). Корпус был в несколько раз больше прототипа и тем не менее перегревался и работал весьма нестабильно. В отличие от Apple II+ и “Правец 8”, компьютеры “Агат” имели встроенный дисковод. Причем штатным для “Агат 7” и “Агат 9” был не диск с очень небольшой емкостью, а дисковод двойной плотности, позволяющий записывать 720 Кбайт. В “Агат 7” было 48 Кбайтов ОЗУ и совершенно по-другому, чем в Apple II, был сделан видеоконтроллер. Он был более сложным, поддерживал вывод сигналов RGB и позволял нормально работать с цветом на мониторах серии “Электроника МС”, а также обеспечивал вывод текста “в цвете” для режима 40×24 символа или в черно-белом режиме 80×24. По-другому было организовано и расширение памяти. Наращивать ее можно было до достаточно больших величин, но делалось это только через “окно” в 16 Кбайт, а не параллельными блоками по 64 Кбайта, как в Apple IIe. Платой за усовершенствования стала полная несовместимость с “родными” программами для Apple II. Были и другие отличия, но менее принципиальные. Другим было и содержимое ПЗУ, большинство вызовов к стандартным подпрограммам монитора работало не так, как в Apple II. Фактически это была другая машина, программное обеспечение для которой надо было создавать заново. Впрочем, тогда еще никто не задумывался над тем, что успех компьютера определяется, в первую очередь, наработанным программным обеспечением. Умельцами была разработана специальная “плата совместимости”, после установки которой в
42
“Агат 7” становилось возможным ввести его в “режим совместимости Apple II” и запустить DOS 3.3 и почти все написанные программы, в том числе и игры. Естественно, для этого требовался еще и “родной” привод диска. Система ProDOS и все программы для нее на “Агат” принципиально не работали. “Агат 9” имел 64 Кбайта ОЗУ и штатную поддержку “режима совместимости”. Но в любом случае эта, выпускавшаяся в 1988−1990 годах машина оставалась на уровне “сильно усовершенствованного“ Apple II+, образца 1979−1980 годов. К середине 90-х она была практически забыта. Говоря об Apple II в СССР, следует упомянуть о кооперативе XONIX, которым в конце 80-х годов был разработан и выпускался компьютер того же названия. Это был Apple II +, собранный полностью на отечественной элементной базе (кроме, естественно, процессора). От прототипа он отличался тем, что, как и “Агат”, имел раздельный корпус и клавиатуру (у всех моделей Apple II клавиатура была встроена), 64 Кбайт ОЗУ и контроллер диска были размещены на плате, видеоконтроллер имел выход RGB и мог быть подключен к любому телевизору или цветному монитору, а количество разъемов расширения уменьшено до трех. Причем разъемы использовались иные, чем в “оригинальном” Apple II. Некоторое количество таких компьютеров было поставлено в школы и игровые классы. Это был полностью программно совместимый с Apple II компьютер, на нем, в отличие от “Агат”, можно было запустить даже систему ProDos и приложения для нее. Еще одна компания создала для Apple II/Правец 8 контроллер дисковода, совместимого с IBM PC. Эта плата и программное обеспечение к ней называлось Liberty Drive. С ее помощью можно было организовать обмен файлами между Apple II и IBM PC. Эта же компания поставляла в СССР достаточно интересную среду программирования для Apple II, называвшуюся Micol Advanced Basic. Это был “структурно-ориентированный BASIC”, активно использовавшийся в компьютерных классах на базе “Правец 8” некоторых московских школ. Кооператив XONIX, ставший к тому времени компьютерным подразделением компании “Русский Ренессанс”, занялся переработкой сетевой платы U-LAN для этих классов с тем, чтобы она могла
43
использоваться при работе с Micol Advanced Basic под операционной системой ProDOS. В итоге была создана сеть “Клиент-сервер”, в которой один “Правец 8е” (или Apple IIе) с дисками Liberty Drive предоставлял свое дисковое пространство всем остальным компьютерам сети. Была сделана автоматическая загрузка бездисковых клиентов с сервера, и даже система разделения прав − каждому пользователю можно было назначить свой директорий на дисках сервера, который выглядел для него, как целый диск, и выйти за который он не мог. Например, весь драйвер клиента, обеспечивающий загрузку по сети и полностью прозрачный обмен с диском сервера, как “со своим”, а также пересылку сообщений сервера клиенту, помещался в ПЗУ платы размеров в 2 Кбайта. Кроме переработки платы U-LAN (то, что получилось, назвали ProLAN), была разработана плата Serial Mouse Pro, позволявшая подключить к Apple II “мышь” от IBM PC, которая была заметно дешевле, чем “родная”. Особенностью этой платы было то, что для сопряжения иностранной мыши с программами Apple II на ней пришлось установить отдельный процессор 6502. Плата была многофункциональной, могла работать как контроллер мыши или как стандартно распознаваемый Apple II последовательный порт. В любом режиме на плате работали также распознаваемые ProDOS часы реального времени. При этом все программное обеспечение помещалось в 2 Кбайта ПЗУ, больше не позволяла архитектура Apple II. Дополнительно для этой платы была написана резидентная файловая оболочка к системе ProDOS, повторявшая многие черты уже популярной тогда оболочки Norton Commander, и помещалась она в 4 Кбайта памяти. Сделать большее было нельзя, поскольку понятие “резидентных программ” в ProDOS не существовало, а обмануть ее на большой объем было принципиально невозможно.
44
11 Режимы работы и характеристики процессоров Режим реальной адресации В режиме реальной адресации физическая память микропроцессоров представляет собой непрерывный массив объемом до одного мегабайта. Микропроцессор обращается к памяти, генерируя 20-разрядные физические адреса. 20-разрядный адрес сегмента памяти состоит из двух частей: старшей 16-разрядной переменной части и младшей 4разрядной части, которая всегда равна нулю. Таким образом, адреса сегментов всегда начинаются с числа, кратного 16. В режиме реальной адресации каждый сегмент памяти имеет размер 64 Кбайта и может быть считан, записан или изменен. Если операнды данных или команд попытаются выполнить циклический возврат к концу сегмента, может произойти прерывание или возникнуть исключительная ситуация: например, если младший байт слова смещен на FFFF, а старший байт равен 0000. Если в режиме реальной адресации информация, содержащаяся в сегменте, не занимает все 64 Кбайта, неиспользуемое пространство может быть предоставлено другому сегменту в целях экономии физической памяти.
Режим защиты Режим защиты предусматривает расширенное адресное пространство физической и виртуальной памяти, механизмы защиты памяти, новые операции по поддержке операционных систем и виртуальной памяти. Режим защиты обеспечивает виртуальное адресное пространство на 1 Гбайт для каждой задачи в физическом адресном пространстве на 16 Мбайт. Виртуальное пространство может быть больше физического, так как любое использование адреса, который не распределен в физической памяти, вызывает возникновение исключительной ситуации, требующей загрузки страниц. Как и режим реальной адресации, режим защиты использует 32-разрядные указатели, состоящие из 16-разрядного селектора и смещения. Селектор, однако, определяет индекс в резидентной памяти, а не старшие 16 разрядов адреса реальной памяти. К 24-разряд45
ному базовому адресу требуемого сегмента добавляется 16-разрядное смещение. Микропроцессор автоматически обращается к таблицам, когда в регистр сегмента загружается селектор. Все команды, выполняющие загрузку регистра, обращаются к таблицам памяти без дополнительной программной поддержки. Таблицы памяти содержат 8-байтовые значения, называемые описателями или дескрипторами.
Сопроцессор 80287 Математический сопроцессор 80287 позволяет выполнять скоростные арифметические и логарифмические операции, а также вычислять тригонометрические функции с высокой точностью. Сопроцессор работает параллельно с микропроцессором, это сокращает время вычислений, позволяя сопроцессору выполнять математические операции, в то время как микропроцессор занимается выполнением других функций. Сопроцессор работает с семью типами числовых данных, которые делятся на следующие три класса: • двоичные целые числа (3 типа); • десятичные целые числа (1 тип); • действительные числа (3 типа).
Условия программирования 80287 Сопроцессор предлагает расширенный набор регистров, команд и типов данных для микропроцессора. Сопроцессор имеет восемь 80-разрядных регистров, которые эквивалентны емкости сорока 16-разрядных регистров в микропроцессоре. В регистрах можно хранить во время вычислений временные и постоянные результаты, что сокращает расход памяти, повышает быстродействие, а также улучшает возможности доступа к шине. Пространство регистров можно использовать как стек или как постоянный набор регистров. При использовании пространства в качестве стека работа ведется только с двумя верхними стековыми элементами. В следующей таблице показано представление больших и малых чисел в каждом типе данных.
46
Типы данных Тип данных
Число бит
Число верных значащих цифр
Целое слово
16
4
Короткое целое
32
9
Длинное целое
64
19
Упакованное десятичное короткое
80
18
Действительное длинное
32
от 6 до 7
Действительное двойное
64
от 15 до 16
Действительное максимальное
80
19
Основные характеристики 80386 Микропроцессор 80386 дает разработчику систем большое число новых и эффективных возможностей, включая производительность от 3 до 4 миллионов операций в секунду, полную 32-разрядную архитектуру, 4-гигабайтное физическое адресное пространство и внутреннее обеспечение работы со страничной виртуальной памятью. Несмотря на введение в него последних достижений микропроцессорной техники, 80386 сохраняет совместимость по объектному коду с программным обеспечением, в большом количестве написанным для его предшественников, 8086 и 80286. Особый интерес представляет такое свойство 80386, как виртуальная машина, которая позволяет 80386 переключаться на выполнение программ, управляемых различными операционными системами, например, UNIX и MS-DOS. Это свойство позволяет производителям оригинальных систем непосредственно вводить прикладное программное обеспечение для 16-битных машин в систему на базе 32-разрядных микропроцессоров. Объединяя в себе производительность суперминиЭВМ, низкую стоимость и функциональную гибкость микропроцессора, 80386 может открыть новые рынки для микропроцессорных систем. Применения, недопустимые прежде из-за невысокого быстродействия микропроцессоров или неэкономного использования суперминиЭВМ, стали теперь практически осуществимы благодаря 80386.
47
Такие новейшие применения, как машинное зрение, распознавание речи, интеллектуальные роботы и экспертные системы, бывшие до недавнего времени в основном на стадии эксперимента, теперь могут быть предложены на рынке. Для того, чтобы удовлетворить требованиям будущих применений, мало иметь 32-разрядные регистры, команды и шины. Эти основные свойства являются лишь отправной точкой для 80386.
32-разрядная архитектура 32-разрядная архитектура 80386 обеспечивает программные ресурсы, необходимые для поддержки “больших” систем, характеризуемых операциями с большими числами, большими структурами данных, большими программами (или большим числом программ) и т. п. Физическое адресное пространство 80386 состоит из 2 байт или 4 Гбайт; его логическое адресное пространство состоит из 2 байт или 64 Гбайт. Восемь 32-разрядных общих регистров 80386 могут быть взаимозаменяемо использованы как операнды команд и как переменные различных способов адресации. Типы данных включают в себя 8-, 16- или 32-разрядные целые и вещественные, упакованные и неупакованные десятичные данные, строки бит, байтов, слов и двойных слов. Микропроцессор 80386 имеет полную систему команд для операций над этими типами данных, а также для управления выполнением программ. Способы адресации 80386 обеспечивают эффективный доступ к элементам стандартных структур данных: массивов, записей, массивов записей и записей, содержащих массивы.
Высокопроизводительная технология 32-разрядная архитектура не гарантирует высокой производительности. Реализация потенциала архитектуры требует новейшей микроэлектронной технологии, точного разделения и внимания к внешним операциям кристалла, в особенности к взаимодействию процессора с памятью. Включение этих свойств обеспечивает 80386 самую высокую производительность по сравнению с любым другим существующим микропроцессором.
48
Микропроцессор 80386 реализован с помощью технологии CH MOSIII фирмы Intel, которая сочетает свойства технологии HMOS, обеспечивающей высокое быстродействие, экономической технологии КМОП. Использование микронной геометрии и слоев металлизации позволило реализовать 275000 транзисторов на кристалле. Микропроцессор 80386 разделен внутри на 6 автономно и параллельно работающих блоков с соответствующей синхронизацией. Все внутренние шины, соединяющие эти блоки, имеют разрядность 32 бит. Конвейерная организация функциональных блоков в 80386 допускает временное наложение выполнения различных стадий команды и позволяет одновременно выполнять несколько операций. Кроме конвейерной обработки всех команд, в 80386 выполнение ряда важных операций осуществляется специальными аппаратными узлами. Блок умножения/ деления 80386 может выполнять 32-разрядное умножение за 9−41 такт синхронизации, в зависимости от числа значащих цифр; он может разделить 32-битные операнды за 38 тактов (в случае чисел без знаков) или за 43 такта (в случае чисел со знаками). Регистр группового сдвига 80386 может за один такт сдвигать от 1 до 64 бит. Во многих 32-разрядное применениях, таких, как программируемые ЭВМ коллективного пользования, требуются преобразования логических адресов в физические и защита памяти с помощью блока управления памятью (БУП). В других применениях, например, в системах управления в реальном времени, не требуется. Для большинства микропроцессорных систем с 32-разрядной архитектурой такое разделение функций реализуется путем использования дополнительного блока управления памятью. В отличие от них БУП 80386 входит в состав процессора как один из двух функциональных блоков конвейерной структуры. Операционная система, управляющая работой БУП, позволяет системе реального времени обходить страничное преобразование. Введение управления памятью внутрь кристалла дает повышение производительности в системах, использующих БУП, и не приводит к ее снижению в тех системах, которые БУП не используют. Такие характеристики стали возможны благодаря снижению задержек распространения, использованию внутреннего полупериодного тактирования и параллельной работы.
49
Еще одно свойство, необходимое в одних применениях и требующееся в других, − это обработка больших чисел, в особенности в арифметических операциях с плавающей запятой с одинарной и двойной точностью. Операнды с плавающей запятой имеют большую длину, а необходимый набор команд для операций над ними является довольно сложным; для реализации стандартного набора операций с плавающей запятой в соответствии со стандартом IEEE754 требуется несколько тысяч транзисторов. В этих целях в 80386 имеется аппаратное обеспечение совместной работы с отдельным математическим сопроцессором. К 80386 может быть подключен математический сопроцессор либо 80287, либо более производительный 80387. Для прикладного программного обеспечения сопроцессоры прозрачны; они лишь расширяют архитектуру 80386 с помощью регистров, типов данных и операций, требуемых стандартом IEEE754. Комбинация 80386 и 80387 может исполнять 1,8 миллионов операций в секунду. 32-битный процессор, работающий с частотой 16 МГц, имеет большее быстродействие, чем большинство быстродействующих ОЗУ, вследствие чего его производительность ограничивается временем доступа к ОЗУ. 80386 был спроектирован так, чтобы с максимальной эффективностью использовать как наиболее быстродействующие статические ОЗУ, так и недорогие динамические ОЗУ. Для обращения к быстрой памяти, например, типа кэш, 80386 вырабатывает двухтактный магистральный цикл для адреса данных. Заметим, что память типа кэш 80386 может иметь любой объем − от минимального полезного 4 Кбайт до максимального, охватывающего все физическое адресное пространство. Обращение к более медленной памяти (или к устройствам ввода/вывода) может производиться с использованием конвейерного формирования адреса для увеличения времени установки данных после адреса до 3 тактов при сохранении двухтактных циклов в процессоре. Вследствие внутреннего конвейерного формирования адреса при исполнении команды 80386, как правило, вычисляет адрес и определяет следующий магистральный цикл во время текущего магистрального цикла. Узел конвейерного формирования адреса передает эту опережающую информацию в подсистему памяти, позволяя одному блоку памяти дешифровать следующий магистральный цикл, в то время как другой блок реагирует на текущий магистральный цикл.
50
12 Обеспечение работы с виртуальной памятью Виртуальная память позволяет ставить максимальный объем программы или группы программ в зависимость от имеющегося адресного пространства на диске, а не от объема физической памяти (ОЗУ), которая в настоящее время приблизительно в 400 раз дороже. Из вытекающей отсюда гибкости выигрывают изготовители оборудования, которые могут поставлять изделия, отличающиеся лишь в конфигурациях памяти и в уровне производительности, программисты, которые могут предоставлять управление хранением программ операционным системам и избегать написания программ с перекрывающимися структурами, и конечные пользователи, которые могут вводить новые и большие по объему прикладные программы, не опасаясь нехватки памяти. Виртуальная память реализуется операционной системой с использованием соответствующей аппаратной поддержки. Микропроцессор 80386 обеспечивает работу систем виртуальной памяти с сегментной или страничной организацией. Сегментная виртуальная память больше подходит для небольших 16-битных систем, в которых объем сегмента не превышает 64 Кбайт. 80386 обеспечивает работу с сегментами объемом до 4 Гбайт; поэтому в большинстве систем на базе 80386 модули виртуальной памяти будут использовать возможность страничного запроса. Для каждой страницы 80386 вырабатывает биты присутствия, занятости или регистрации обращения, которые необходимы для эффективной реализации виртуальной памяти со страничными запросами. В случае обращения к несуществующей странице 80386 автоматически делает переход к операционной системе; если операционная система считала с диска другую страницу, 80386 выполняет команду повторно. Высокая производительность в работе с виртуальной памятью обеспечивается в 80386 использованием внутренней кэш-памяти для хранения страничной информации. Эта кэш-память, называемая буфером просмотра трансляции (TLB), содержит информацию о распределении адресов 32 страниц, использовавшихся последними. Страницы виртуальной памяти 80386 имеют объем 4 Кбайт. Храня одновременно распределение 128 Кбайт памяти, буфер TLB позволяет 80386 преобразовать 51
адреса внутри кристалла, не обращаясь к хранящейся в памяти таблице страниц. В типичных системах 98−99 % поиска адресов будет осуществляться через буфер TLB.
13 Механизмы защиты памяти Выполняя 3−4 миллиона операций в секунду, 80386 имеет достаточно вычислительной мощности для обеспечения самых сложных систем, состоящих из сотен или тысяч программных модулей. В таких системах вопрос заключается не в том, будут ли ошибки, а в том, как их найти и по возможности быстро устранить и насколько их действие может быть ограничено. Такие системы могут быть быстро отлажены и сделаны более надежными при серийном освоении, если процессор будет проверять каждую команду по критерию защиты. При этом степень и тип используемой защиты зависит от конкретного применения. Обычно простые системы реального времени работают достаточно хорошо без использования защиты. Различные требования к защите могут быть наиболее полно удовлетворены с помощью выбора следующих функций защиты, введенных в 80386: * разделение адресных пространств задач; * введение 4 уровней привилегий; * использование привилегированных команд (например, HALT); * разделение сегментов по типам (например, кодовый сегмент или сегмент данных); * введение прав доступа к сегментам и страницам (например, право только чтения или только исполнения); * проверка границ сегмента. Для сохранения максимальной производительности все проверки защиты в 80386 выполняются одновременно с выполнением команды.
52
14 Совместимость с микропроцессорами 8086/80286 Процессор 80386 совместим на уровне двоичных кодов с предшествующими процессорами семейства 86 – 80286 и 8086. Благодаря такой совместимости экономятся программные затраты, обеспечиваются быстрый выход на рынок и доступ к обширной библиотеке программного обеспечения, написанного для машин на базе микропроцессоров семейства 86. Микропроцессор 80386, конечно, может выполнять программы для 8086, он также может одновременно выполнять программы для 80286 и 80386. Однако наиболее важным свойством совместимости 80386 является свойство, называемое Virtual 86 (виртуальный 86), которое устанавливает защищенную структуру для 8086 внутри системы задач 80386. Дополняя свойство виртуального 8086 страничной организацией памяти, 80386 может закрепить за каждой задачей виртуального 8086 одномегабайтное адресное пространство в любой области физического адресного пространства 80386. Более того, если операционная система 80386 обеспечивает работу с виртуальной памятью, то задачи виртуального 8086 могут переноситься с диска и обратно как любые другие задачи. Таким образом, свойство виртуального 8086 позволяет 80386 одновременно выполнять программы, написанные для трех поколений семейства 86.
15 Способы адресации Микропроцессор 80386 обеспечивает регистровую и непосредственную адресацию операндов, содержащихся соответственно, в регистрах или командах. Еще более важным является способность 80386 обеспечивать различные способы адресации, необходимые для эффективного обращения к таким элементам структур данных в памяти, как массивы, записи (структуры), массивы записей и записи, содержащие массивы. При этом программа определяет величину смещения логического адреса, или эффективный адрес, по одному из способов адресации памяти в 80386. Процессор 80386 вычисляет эффективный адрес по следующей формуле: Эффективный адрес = база + (индекс × масштаб) + смещение. 53
Для вычисления этого адреса могут быть использованы любые переменные базы, индексы и смещения. Переменные базы и индексы являются величинами, хранящимися в общих регистрах, а величина смещения содержится в команде. Для хранения базы или индекса может быть использован любой общий регистр. Величина в индексном регистре может быть маштабирована с помощью коэффициентов 1, 2, 4 или 8, что дает возможность делать ссылки на элементы массива или записи соответствующей длины. Величина смещения может иметь разрядность 8 или 32 бит и интерпретироваться процессором как величина со знаком в дополнительном коде. Разумные комбинации базы, индекса и смещения дают следующие способы адресации памяти 80386:
• • • • •
прямая: используется только смещение;
•
базовая индексная: используются база и масштабируемый ин-
регистровая косвенная: используется только база; базовая: используются база и смещение; индексная: используется масштабируемый индекс;
индексная со смещением: используются масштабируемый индекс и смещение; декс;
• базовая индексная со смещением: используются база, масштабируемый индекс и смещение. Вычисленный таким образом эффективный адрес складывается с базовым адресом сегмента, загруженным из дискриптора таблицы сегментов для текущего селектора сегмента. В результате получается линейный адрес, который превращается в физический специальным блоком страничной переадресации.
54
16 Области применения ПЭВМ и развития программного обеспечения Компьютеры появились очень давно в нашем мире, но только в последнее время их начали успешно использовать во многих областях науки, техники и производства, а также в быту. Еще десять лет назад было редкостью увидеть какой-нибудь персональный компьютер − они были, но очень дорогие, и даже не каждая фирма могла иметь у себя в офисе компьютер. Теперь в каждом третьем доме есть компьютер, который уже глубоко вошел в жизнь самих обитателей дома. Сама идея создания искусственного интеллекта появилась давным-давно, но только в ХХ столетии ее начали приводить в исполнение. Сначала появились огромные компьютеры, которые были зачастую размером с огромный дом. Использование таких махин было не очень удобно. Но мир не стоял на одном месте эволюционного развития − менялись люди, менялась их среда обитания, и вместе с ней менялась и сама технология, все больше совершенствуясь. Компьютеры становились все меньше и меньше по своим размерам, пока не достигли сегодняшних размеров. Но человеку ведь тоже надо какнибудь общаться с машиной − ведь кому нужна неуправляемая машина? Сначала люди вели свое общение с компьютерами посредством перфокарт. Перфокарты − это небольшие карточки, на которые нанесены ряды цифр. У компьютера имелся привод, в который вставлялись сами карты, и он с помощью маленьких иголочек ставил дырочки на цифрах. Такое общение мало кому доставляло удовольствие − ведь не очень удобно носить с собой огромное количество перфокарт, которые после одного использования приходилось выбрасывать. Но, как и другие технологии, процесс общения человека с искусственным интеллектом претерпел кое-какие изменения. Теперь человек проводит свою беседу с компьютером с помощью клавиатуры и мышки. За время, прошедшее с 50-х годов, появившаяся тогда цифровая ЭВМ превратилась из “волшебного”, но при этом дорогого, уникального и перегретого нагромождения электронных ламп, проводов и магнитных сердечников в небольшую по размерам машину − персональный компьютер, состоящий из миллионов крошечных полупро-
55
водниковых приборов, которые упакованы в небольшие пластмассовые коробочки. В результате этого превращения компьютеры стали применяться повсюду. Они управляют работой кассовых аппаратов, следят за работой автомобильных систем зажигания, ведут учет семейного бюджета или просто используются в качестве развлекательного комплекса. Но это только малая часть возможностей современных компьютеров. Более того, бурный прогресс полупроводниковой микроэлектроники, обеспечивающий базу вычислительной техники, свидетельствует о том, что сегодняшний уровень, как самих компьютеров, так и областей их применения, является лишь слабым подобием того, что наступит в будущем. Компьютеры начинают затрагивать жизнь каждого человека. Если вы заболеете, и вас направят в больницу, то, попав туда, вы окажетесь в мире, где от компьютеров зависят жизни людей. В некоторых современных больницах можно встретить компьютеров больше, чем самих пациентов, и это соотношение будет со временем расти. Постепенно изучение компьютерной техники пытаются вводить в программы школьного обучения как обязательный предмет, чтобы ребенок смог уже с довольно раннего возраста знать строение и возможности компьютера. А в самих школах уже многие годы компьютеры применяются для ведения учебной документации, а теперь они используются при изучении многих учебных дисциплин, не имеющих прямого отношения к вычислительной технике. Даже в начальной школе компьютеры внедряются для изучения курсов элементарной математики и физики. Сами микропроцессоры получили не менее широкое распространение, чем компьютеры – они встраиваются в кухонные плиты для приготовления пищи, посудомоечные машины и даже в часы. Очень широкое распространение получили игры, построенные на основе микропроцессоров. Сегодня игровая индустрия занимает очень большую часть рынка, постепенно вытесняя с него другие развлечения детей. Но для детского организма очень вредно сидеть часами за монитором, так как у ребенка может развиться своеобразная болезнь − когда у него только одно на уме – компьютер и больше ничего. Дети с такой болезнью обычно становятся агрессивными, если их начинают ограничивать в доступе к играм. У таких детей
56
сразу пропадает какое-либо желание делать что-то, что не относится к компьютерам и что им не интересно – так они начинают забрасывать свою учебу, что ведет к не очень хорошим последствиям. Уже сейчас компьютеры могут четко произносить различные фразы, словосочетания, проигрывать музыку и т. д. Человек теперь может сам записать какие-нибудь слова, предложения и даже музыкальные композиции на своем компьютере для того, чтобы потом компьютер мог их воспроизводить в любое назначенное время. Компьютеры способны также воспринимать устную речь в качестве сигналов, однако им приходится выполнять большую работу по расшифровке услышанного, если форма общения жестко не установлена. Ведь одну и ту же команду один и тот же человек может произнести несколькими способами, и все время эта команда будет звучать по-разному, а в целом мире – миллиарды людей, и каждый произносит одну и ту же команду несколькими различными способами. Поэтому в данное время довольно сложно создать компьютер, который будет управляться с помощью голоса человека. Многие фирмы пытаются решить эти проблемы. Некоторые фирмы делают небольшие шаги на пути к данной цели. Проблема распознавания речи является частью более широкой проблемы, называемой распознаванием образов. Если компьютеры смогут хорошо распознать образы, они будут способны анализировать рентгенограммы и отпечатки пальцев, а также выполнять многие другие полезные функции (сортировкой писем они занимаются уже сейчас). Следует заметить, что человеческий мозг прекрасно справляется с распознаванием образов даже при наличии различных шумов и искажений, и исследования в этой области, направленные на приближение соответствующих возможностей компьютера к способностям человека, представляются весьма перспективными. Если компьютеры смогут достаточно качественно распознавать речь и отвечать на нее в словесной форме, то, по-видимому, станет возможным вводить в них в этой форме программы и данные. Это позволит в буквальном смысле слова говорить компьютеру, что он должен делать, и выслушивать его мнение по этому поводу при условии, конечно, что выдаваемые указания четкие и не содержат противоречий. Устное общение с компьютерами позволит упростить его программирование, однако остается нерешенная проблема, на каком именно 57
языке следует с ним общаться. Многие предлагают для этих целей английский язык, но он не обладает точностью и однозначностью, необходимыми с точки зрения компьютера и исполняемых в нем программ. В этой области уже многое сделано, но еще много предстоит сделать. Мы часто жалуемся, что другие люди не понимают нас, но пока и сами персональные компьютеры не способны до конца понять нас, или понять, что мы хотим сказать с полуслова. И в течение какого-то периода времени нам придется довольствоваться такими машинами, которые просто следуют нашим указаниям, исполняя их “с точностью до миллиметра”. Для общения с компьютерами, еще во времена перфокарт, программисты использовали язык программирования, очень похожий на современный Ассемблер. Это такой язык, где все команды, поступающие к компьютеру, пишутся подробно c помощью специальных слов и значков. В наше время усиленно используются языки программирования более высокого уровня, работать с которыми намного легче, чем с Ассемблером, так как в них одно слово может заменять сразу несколько команд. И притом большинство языков программирования высокого уровня в названиях команд, используемых при общении с компьютером, используют эквиваленты на английском языке, что облегчает программирование. Важное значение языка программирования подчеркивается тем фактом, что сама вычислительная машина может рассматриваться как аппаратный интерпретатор какого-нибудь конкретного языка, который называется машинным языком. Для обеспечения эффективной работы машины разработаны машинные языки, использование которых представляет известные трудности для человека. Большинство пользователей не чувствуют этих неудобств благодаря наличию одного или нескольких языков, созданных для улучшения связи человека с машиной. Гибкость вычислительной машины проявляется в том, что она может исполнять программы-трансляторы (в общем случае они называются компиляторами или интерпретаторами) для преобразования программ с языков, ориентированных на пользователей, в программы на машинном языке. В свою очередь, даже сами программы, игры, системные оболочки являются ни чем иным, как
58
довольно простыми программами-трансляторами, которые по мере работы или игры обращаются с помощью своих команд к внутреним и внешним устройствам, транслируя программы на машинный язык. И все это происходит в реальном времени. Но в языках программирования есть один минус по сравнению с языками, подобными Ассемблеру. В Ассемблере все команды, поступаемые из программы, плотно распределяются в памяти компьютера, занимая свободные места, что обеспечивает выигрыш в скорости; языки высокого уровня не умеют этого делать и поэтому теряют в скорости исполнения программы. В нашем сегодняшнем мире всем известно, что “Время − деньги”. Робототехника также представляет собой перспективную область применения компьютеров. На промышленных предприятиях используется сейчас множество робототехнических устройств; неожиданные и удивительные виды роботов начинают заполнять и научноисследовательские лаборатории. Существует множество хирургических и точных производственных операций, которые могут и будут выполняться роботами, управляемыми компьютерами, так как во многих случаях роботы справляются с этими действиями лучше, чем люди. Возможность и целесообразность применения роботов в качестве слуг, официантов, билетных кассиров и в других ролях уже нашли свое отражение в продукции кино и телевидения, в книгах. Но, к сожалению, пока это все мечты, которые люди постепенно пытаются воплотить в реальность. Однако не всеми качествами компьютер уступает своему создателю − человеку. Ведь он способен теперь решать задачи повышенной сложности в любых количествах за очень короткий промежуток времени и притом без ошибок в вычислениях. Раньше, при компьютерах первых поколений, все тяжелые вычисления легче было производить вручную, избегая привлечения ЭВМ в процесс решения. Было много ошибок, но зато было менее хлопотно и главное − намного быстрее. С появлением компьютеров проблема скорости расчетов отпала сама собой, и человек уступил первенство своему “детищу” − компьютерам. Но самый большой плюс, которым обладали компьютеры еще со времен ЭВМ 1-го поколения, − его память. С самого начала память ЭВМ благодаря мастерству разработчиков запоминающих уст59
ройств начала вести конкуренцию с памятью человека, медленно, но уверенно превышая объем человеческой. На первых порах она была много меньше, чем объем памяти человека, но вскоре превысила эту планку, и теперь нам уже тяжело сравнить эти два параметра, так как машина ушла от человека далеко вперед. Компьютер уступает человеку с точки зрения творческой деятельности, потому что машина не наделена пока такими качествами, которые смогли бы ей создать что-нибудь новое, что не введено в ее память самим человеком.
17 Операционная система нового поколения Windows NT Задачи, поставленные при создании Windows NT Система Windows NT не является дальнейшим развитием ранее существовавших операционных систем. Ее архитектура создавалась с нуля с учетом требований, предъявляемых к современным операционным системам. Особенности новой системы, разработанной на основе этих требований, перечислены ниже. • Стремясь обеспечить совместимость (compatible) новой операционной системы, разработчики Windows NT сохранили привычный интерфейс Windows и реализовали поддержку существующих файловых систем (таких, как FAT) и различных приложений (написанных для MS-DOS, OS/2 1.x, Windows 3.x и POSIX). Разработчики также включили в состав Windows NT средства работы с различными сетевыми средствами. • Достигнута переносимость (portability) системы, которая может теперь работать как на CISC, так и на RISC-процессорах. К CISC относятся Intel-совместимые процессоры 80386 и выше; RISC представлены системами с процессорами MIPS R 400, Digital Alpha APX и Pentium серии P54 и выше. • Масштабируемость (scalability) означает, что Windows NT не привязана к однопроцессорной архитектуре компьютеров, а способна полностью использовать возможности, предоставляемые симметричными мультипроцессорными системами. В настоящее время Win60
dows NT может функционировать на компьютерах с числом процессоров от 1 до 32. Кроме того, в случае усложнения стоящих перед пользователями задач и расширения предъявляемых к компьютерной среде требований, Windows NT позволяет легко добавлять более мощные и производительные серверы и рабочие станции к корпоративной сети. Дополнительные преимущества дает использование единой среды разработки и для серверов, и для рабочих станций. • Windows NT имеет однородную систему безопасности (security), удовлетворяющую спецификациям правительства США и соответствующую стандарту безопасности В2. В корпоративной среде конфидициальным приложением обеспечивается полностью изолированное окружение. • Распределенная обработка (distributed processing) означает, что Windows NT имеет встроенные в систему сетевые возможности. Windows NT также позволяет обеспечить связь с различными типами хост-компьютеров благодаря поддержке разнообразных транспортных протоколов и использованию средств "клиент−сервер" высокого уровня, включая именованные каналы, вызовы удаленных процедур (RPS − remote procedure call) и Windows-сокеты. • Надежность и отказоустойчивость (reliability and robustness) обеспечиваются архитектурными особенностями, которые защищают прикладные программы от повреждения друг другом и операционной системой. Windows NT использует отказоустойчивую структурированную обработку особых ситуаций на всех архитектурных уровнях, которая включает восстанавливаемую файловую систему NTFS и обеспечивает защиту с помощью встроенной системы безопасности и усовершенствованных методов управления памятью. • Возможности локализации (allocation) представляют средства для работы во многих странах мира на национальных языках, что достигается применением стандарта ISO Unicode, «разработанного» международной организацией по стандартизации. • Благодаря модульному построению системы обеспечивается расширяемость (insibility) Windows NT, что позволяет гибко осуществлять добавление новых модулей на различные уровни операционной системы.
61
Архитектурные модули Windows NT Как показано на рис. 1, Windows NT представляет из себя модульную операционную систему, которая состоит из отдельных взаимосвязанных, относительно простых модулей. Основными модулями Windows NT в порядке следования от нижнего уровня архитектуры к верхнему являются: уровень аппаратных абстракций HAL (Hardware Abstraction Layer), ядро (Kernel), исполнительная система (Executive), защищенные подсистемы (protected subsystems) и подсистемы среды (environment subsystems). Они выполняют следующие функции: • уровень аппаратных абстракций реализует виртуальные аппаратные интерфейсы, обеспечивая тем самым независимость остальной части операционной системы от конкретных аппаратных особенностей. Подобный подход позволяет обеспечить легкую переносимость Windows NT с одной аппаратной платформы на другую; • ядро является основой модульного строения системы и координирует выполнение большинства базовых операций Windows NT. Этот компонент специальным образом оптимизирован по занимаемому объему и эффективности функционирования. Ядро отвечает за планирование выполнения потоков, синхронизацию работы нескольких процессоров, обработку аппаратных прерываний и исключительных ситуаций; • исполнительная система включает в свой состав набор программных конструкций привилегированного режима, представляющих базовый сервис операционной системы подсистемам среды. Исполняющая система состоит из нескольких компонентов; каждая из них предназначена для поддержки определенного системного сервиса. Так, один из компонентов − монитор безопасности (Security Reference Monitor) − функционирует совместно с защищенными подсистемами и обеспечивает реализацию модели безопасности системы; • подсистемы среды представляют собой защищенные серверы пользовательского режима (unser-mode), которые обеспечивают выполнение и поддержку приложений, разработанных для различного операционного окружения (различных операционных систем). Примером подсистем среды могут служить подсистемы Win32 и OS/2.
62
Процесс входа в систему
Приложение OS/2
Приложение Win 32
Приложение POSIX
Подсистема безопасности
Подсистема OS/2
Подсистема Win32
Подсистема POSIX Пользовательский режим Привилегированный режим
Диспетчер ввода-вывода Диспетчер кэша Файловая система Сетевые драйверы Драйверы устройств
Защищенные подсистемы Диспетчер Монитор Диспетчер Средства Диспетчер виртуальобъектов безопасно- процессов вызова локальных ной сти процедур памяти
Ядро (Kernel) Уровень аппаратных абстракций (HAL)
Модульная структура Windows NT Аппаратные средства
Рис. 1. Модульная структура Windows NT
63
Уровень аппаратных абстракций Уровень аппаратных абстракций (HAL) представляет собой создаваемый производителями аппаратных средств слой программного обеспечения, который скрывает или абстрагирует особенности и различия аппаратуры от верхних уровней операционной системы. Таким образом, благодаря обеспечиваемому HALом фильтру различные аппаратные средства выглядят аналогично с точки зрения операционной системы; снимается необходимость специальной поднастройки операционной системы под используемое оборудование. При создании уровня аппаратных абстракций ставилась задача подготовки процедур, которые позволяли бы единственному драйверу конкретного устройства поддерживать функционирование этого устройства для всех платформ с однопроцессорной архитектурой; таким образом, для каждого из аппаратных вариантов не требуется отдельной версии операционной системы. Процедуры HAL вызываются как средствами операционной системы, включая ядро, так и драйверами устройств. При работе с драйверами устройств уровень аппаратных абстракций обеспечивает поддержку различных технологий ввода-вывода вместо традиционной ориентации на одну аппаратную реализацию или требующей значительных затрат адапции под каждую новую аппаратную платформу. Уровень аппаратных абстракций позволяет также “скрывать” от остальных уровней операционной системы особенности аппаратной реализации симметричных мультипроцессорных систем.
Ядро Ядро (Kernel) является “сердцем” Windows NT и работает в тесном контакте с уровнем аппаратных абстракций. Этот модуль, в первую очередь, занимается планированием действий компьютерного процессора. В случае, если компьютер содержит несколько процессоров, ядро синхронизирует их работу с целью достижения максимальной производительности системы. Ядро осуществляет диспетчеризацию нитей управления (threads). Иногда их называют подзадачами, ответвлениями или потоками. Они являются основными объектами в планируемой системе. Нити
64
управления определяются в контексте процесса; процесс включает адресное пространство, набор доступных процессу объектов и совокупность выполняемых в контексте процесса нитей управления. Объектами являются управляемые операционной системой ресурсы. Ядро производит диспетчеризацию нитей управления таким образом, чтобы максимально загрузить процессоры системы и обеспечить первоочередную обработку нитей с более высоким приоритетом. Всего существует 32 значения приоритета, которые сгруппированы в два класса приоритетов: real-time и variable. Подобный подход позволяет достичь максимальной эффективности операционной системы. Компоненты исполнительной системы, такие, как диспетчер ввода-вывода и диспетчер процессоров, используют ядро для синхронизации действий. Они также взаимодействуют с объектами более высоких уровней абстракции, называемых объектами ядра; некоторые из этих объектов экспортируются внутри пользовательских вызовов интерфейса прикладных программ (API). Ядро управляет двумя типами объектов: • объекты диспетчеризации (dispatcher objects) 1-го типа характеризуются сигнальным состоянием (signaled или nonsignaled) и управляют диспетчеризацией и синхронизацией системных операций. Эти объекты включают события, мутанты, мутэксы, семафоры, нити управления и таймеры (events, mutants, mutexes, semaphores, threads, timers); • объекты диспетчеризации (dispatcher objects) 2-го типа используются для операций управления ядра, но не воздействуют на диспетчеризацию или синхронизацию. Управляющие объекты включают в себя асинхронные вызовы процедур, прерывания, уведомления и состояния источника питания, процессы и профили (asynchronous procedure calls, interrupts, power notifies, power statuses, processes, profiles).
65
Исполнительная система Windows NT Исполнительная система (Executive), в состав которой входит ядро и уровень аппаратных абстракций HAL, обеспечивает общий сервис системы, который могут использовать все подсистемы среды. Каждая группа сервиса находится под управлением одной из отдельных составляющих исполнительной системы: • диспетчера объектов (Object Manager); • диспетчера виртуальной памяти (Virtual Memory Manager); • диспетчера процессов(Process Manager); • средства вызова локальных процедур (Local Procedure Call Facility); • диспетчера ввода-вывода (I/O Manager); • монитора безопасности (Security Reference Monitor). Монитор безопасности совместно с процессором входа в систему (Logon) и защищенными подсистемами реализует модель безопасности Windows NT. Верхний уровень исполняющей системы называется системным сервисом (System Services). Показанный на рис. 2 системный сервис представляет собой интерфейс между подсистемами среды пользовательского режима и привилегированным режимом.
Диспетчер кэша Архитектура ввода-вывода содержит единственный диспетчер Кеша (Cache Manager), который осуществляет кэширование для всей системы ввода-вывода. Кэширование (Caching) − метод, используемый файловой системой для увеличения эффективности. Вместо непосредственно записи и считывания с диска, часто используемые файлы временно сохраняются в кэш-памяти, таким образом работа с этими файлами выполняется в памяти. Операции с данными, находящимися в памяти, производятся значительно быстрее операций с данными на диске.
66
Другие подсистемы
Подсистема OS/2
Подсистем аWin32
Подсистема POSIX
Пользовательский режим
Привилегированный режим
Системный сервис Диспетчер Диспет- Монитор Диспетчер вводачер безопасно- процессовывода объектов сти ров Диспетчер кэша
Средства вызова локальных процедур
Диспетчер виртуальной памяти
Диспетчер Кеша
Файловая система
Сетевые драйверы Драйверы устройств
Ядро(Kernel)
Уровень аппаратных абстракций(HAL) Аппаратные средства Рис. 2. Системный сервис
67
Диспетчер кэша использует модель отображения файла, которая интегрирована с диспетчером виртуальной памяти Windows NT. Диспетчер кэша обеспечивает службу кэширования для всех файловых систем и сетевых компонентов, функционирующих под управлением диспетчера ввода-вывода. В зависимости от объема доступной оперативной памяти диспетчер кэша может динамически увеличивать или уменьшать размер кэша. Когда процесс открывает файл, который уже находился в кэше, диспетчер кэша просто копирует данные из кэша в виртуальное адресное пространство. Диспетчер кэша поддерживает службы типа ленивой записи (lazy write) и ленивой фиксации (lazy commit), которые могут значительно увеличить эффективность файловой системы. В процессе ленивой записи изменения регистрируются в кэше файловой структуры, обеспечивающем более быстрый доступ. Позднее, когда загрузка центрального процессора снижена, диспетчер кэша заносит изменения на диск. Ленивая фиксация подобна ленивой записи. Вместо немедленной маркировки транзакции как успешно завершившейся переданная информация кэшируется и позднее в фоновом режиме записывается в журнал файловой системы.
Драйверы файловой системы В архитектуре ввода-вывода Windows NT управление драйверами файловой системы осуществляет диспетчер ввода-вывода. Windows NT допускает использование множества файловых систем, включая существующие файловые системы типа FAT. Для обеспечения совместимости снизу вверх с операционными системами MS-Dos, Windows 3.x и OS/2, Windows NT поддерживает файловые системы FAT и HPFS. Кроме того, Windows NT также поддерживает NTFS − новую файловую систему, разработанную специально для использования с Windows NT. NTFS обеспечивает множество возможностей, включая средства восстановления файловой системы, поддержку Unicode, длинных имен файлов и поддержку для POSIX. Архитектура ввода-вывода Windows NT не только поддерживает традиционные файловые системы, но и обеспечивает функционирование сетевого редактора и сервера в качестве драйверов файловой 68
системы. С точки зрения диспетчера ввода-вывода, нет никакой разницы между работой с файлом, сохраненным на удаленном компьютере сети, и работой с файлом на локальном жестком диске. Коммуникаторы и серверы могут быть загружены и выгружены динамически так же, как и любые другие драйверы; на одном компьютере может одновременно находиться большое число коммуникаторов и серверов.
Сетевые драйверы Следующим типом драйверов, присутствующих в качестве компонента в архитектуре ввода-вывода, являются сетевые драйверы. Windows NT включает интегрированные возможности работы с сетями и поддержку для распределенных приложений. Как показано на рис. 3, работа с сетями обеспечивается рядом сетевых драйверов. Интерфейс поставщика
Редактор
Сервер
...
Интерфейс транспортного драйвера Интерфейс транспортного протокола Интерфейс NDIS Драйверы сетевого адаптера и минипорта
Сеть Рис. 3. Работа с сетями
69
Диспетчер ввода вывода
Коммуникаторы и серверы функционируют как драйверы файловой системы и выполняются на уровне интерфейса поставщика или ниже, где находится Net BIOS и Windows-сокет. Драйверы транспортного протокола общаются с коммуникаторами и серверами через уровень, называемый интерфейсом транспортного драйвера (TDI − Transport Driver Interface). Windows NT включает следующие транспортные средства: • протокол управления передачей − межсетевой протокол TCP/IP, который обеспечивает возможность работы с широким диапазоном существующих сетей; • NBF − потомок расширенного интерфейса пользователя Net BIOS (NetBEUI), который обеспечивает совместимость с существующими локальными вычислительными сетями на базе LAN Server и MS-Net; • управление передачей данных (DLC − Data Link Control), которое обеспечивает интерфейс для доступа к мэйнфрэймам и подключенным к сети принтерам; • NWLink, реализация IPX/SPX, обеспечивающая связь с Nowell Net Ware. В нижней части сетевой архитектуры находится драйвер платы сетевого адаптера. Windows NT в настоящее время поддерживает драйверы устройств, выполненные в соответствии со спецификацией NDIS (Network Device Interface Specification) версии 3.0. NDIS предоставляет гибкую среду обмена данными между транспортными протоколами и сетевыми адаптерами NDIS 3.0, что позволяет отдельному компьютеру иметь несколько установленных в нем плат сетевого адаптера. В свою очередь, каждая плата сетевого адаптера может поддерживать несколько транспортных протоколов для доступа к различным типам сетевых станций.
Модель безопасности Windows NT Модель безопасности Windows NT представлена монитором безопасности (Security Reference Monitor), а также двумя другими компонентами: процессором входа в систему (Lоgon Process) и безопасными защищенными подсистемами. 70
В многозадачной операционной системе, каковой является Windows NT, приложения совместно используют ряд ресурсов системы, включая память компьютера, устройства ввода-вывода, файлы и процессор(ы) системы. Windows NT включает набор компонентов безопасности, которые гарантируют, что приложения не смогут обратиться к этим ресурсам без соответствующего разрешения. Монитор безопасности отвечает за проверку правильности доступа и контроля, определенной локальной подсистемой безопасности. Монитор безопасности обеспечивает услуги по подтверждению доступа к объектам, проверке привилегий пользователя и генерации сообщений, как для привилегированного режима, так и для режима пользователя. Монитор безопасности, подобно другим частям операционной системы, выполняется в привилегированном режиме. Процесс входа в систему в Windows NT предусматривает обязательный вход в систему безопасности для идентификации пользователя. Каждый пользователь должен иметь ресурсы и должен использовать пароль для обращения к этим ресурсам. Прежде чем пользователь сможет обратиться к любому ресурсу компьютера с Windows NT, он должен войти в систему через процесс входа в систему для того, чтобы подсистема безопасности могла распознать имя пользователя и пароль. Только после успешного установления подлинности монитор безопасности выполняет процедуру проверки правильности доступа для определения права пользователя на обращение к этому объекту. Защищенность ресурсов – одна из возможностей, предоставляемая моделью безопасности. Задачи не могут обращаться к чужим ресурсам иначе, чем через применение специальных механизмов совместного использования. Windows NT также предоставляет средства контроля, которые позволяют администратору фиксировать действия пользователей.
71
Заключение Современные вычислительные машины представляют одно из самых значительных достижений человеческой мысли, влияние которого на развитие научно-технического прогресса трудно переоценить. Сферы применения ЭВМ огромны: от карманных цифровых помощников и до космических аппаратов, слабое подобие того, что наступит в будущем. В пособии показан путь развития одного из самых популярных в настоящее время классов ЭВМ – персональных компьютеров. Этот путь был тернист, порой драматичен и трудно предсказуемым. В конце 60-х годов и подумать никто не мог о микропроцессорах с сотнями транзисторов на кристалле, работающих с частотой в десятки МГц, а спустя всего лишь 30 лет весь мир наводнен персональными компьютерами с более высокими характеристиками. Рассмотрен лишь начальный участок этого пути – от 1973 года, фирма Intel разработала весьма мощный по тем временам микропроцессор 8080, и 90 середины 90-х годов, когда стали производиться микропроцессоры нового поколения, названные Pentium, и началась эра широкого применения персональных компьютеров. В пособии показаны две конкурирующие линии развития персональных компьютеров – линии с открытой или IBM-совместимой архитектурой (семейства Apple и Mak). История создания компьютеров с другими платформами, например, Amiga, не рассмотрена, так как они менее популярны. Особо выделено семейство IBMсовместимых компьютеров семейства PS/2 фирмы IBM. Главная заслуга фирмы IBM в истории персональных компьютеров заключается в том, что она выработала и утвердила, вопреки собственным интересам, единый стандарт на основные комплектующие компьютера. Это привело к созданию конкурирующих фирм, таких, как Compaq, Acer и Dell, которые далеко обогнали фирму IBM по производству IBM-совместимых компьютеров. В итоге выиграли пользователи, которые получили недорогие, надежные и высокоэффективные аппаратные средства и огромное программное обеспечение на все случаи жизни. Компания Apple, создавшая компьютеры семейства Apple, а затем семейства Мак, и делавшая ставку на за-
72
крытую архитектуру, в середине 90-х годов значительно сократила выпуск своих моделей и утратила позиции на рынке. Лишь ценой больших усилий, создав модели с новым, уникальным дизайном, рассчитанным на домашнего пользователя, она вновь вернула себе былую славу. В производстве микропроцессоров после ожесточенной конкурентной борьбы утвердились два архитектурных подхода к выбору системы команд: а) архитектура с полной системой команд CISC (Complex Instruction Set Computers), причем набор команд определяется предметной областью и приближается к составу операторов соответствующего языка программирования; б) архитектура с системой команд RISC (Reduced Instruction Set Computers), для которой основными принципами являются минимизация количества команд, простота формата, использование регистров для размещения данных и быстродействие (любая операция должна выполняться за один такт). В настоящее время эти две архитектуры успешно конкурируют и уживаются друг с другом даже в пределах одной фирмы, например Intel. Важным этапом в развитии персональных ЭВМ было дополнение реального режима двумя новыми режимами: режимом защищенной виртуальной памяти и режимом виртуальных машин. Как известно, принципы и подходы к этим усовершенствованиям были хорошо отработаны фирмой IBM еще на ЭВМ 3-го поколения – на машинах семейства IBM/370. Поэтому неудивительно, что с ростом объема оперативной памяти и разрядности ее шин были успешно реализованы указанные режимы в микропроцессорах типа 80386 уже в 1985 году. Эти режимы стали поддерживаться во всех последующих моделях микропроцессоров и новых операционных системах. Основными параметрами микропроцессора являются объем оперативной памяти и производительность процессора. Производители микропроцессоров стараются снизить стоимость оперативной памяти, увеличить ее объем и сократить время доступа к данным. Поскольку это время, как правило, больше такта работы процессора, то для повышения производительности микропроцессора используют 73
скрытые блоки памяти большего быстродействия, так называемую кэш-память. Такой же принцип используют и для работы с винчестером. Производительность персонального компьютера повышают также и с помощью других методов: использование сопроцессоров, в том числе и математических ; конвейерный способ исполнения команд программы; упрощение формата команд и другие подходы. В прилагаемом списке литературы можно будет уточнить смысл огромного числа терминов и обозначений, которые были использованы в пособии и без которых нельзя было, разумеется, обойтись.
Список литературы 1. Леонтьев В. П. Новейшая энциклопедия персонального компьютера. – М.: ОЛМА-ПРЕСС Образование, 2004. – 734 с. : ил. 2. Пасько В. П. Энциклопедия ПК. Аппаратура. Программы. Интернет. – Киев: Издательская группа BHV; СПб.: Питер, 2004. – 800 с.: ил. 3. Трасковский А. В. Сбои и неполадки домашнего ПК: Самоучитель. – СПб. : БХВ – Петербург, 2004. – 384 с.: ил. 4. Касперски К. ПК: решение проблем. – СПб.: БХВ – Петербург, 2003. – 560 с.: ил. 5. Гукин Д. ПК для «чайников». – 8-е изд.: Пер. с анг. – М.: Издательский дом «Вильямс», 2003. – 336 с.: ил. 6. Ратбон Э. Модернизация и ремонт ПК для «чайников». − 6-е изд.: Пер. с англ. – М.: Издательский дом «Вильямс», 2003. – 384 с.: ил. 7. Джордейн Р. Справочник программиста персональных компьютеров типа IBM PC, XT и AT: Пер. с англ.; Предисл. Н. В. Гайского. – М.: Финансы и статистика, 1992. – 544 с.: ил. 8. Шкаев А. В. Руководство по работе на персональном компьютере. – 2-е изд., перераб. и доп.: Справочник. – М.: Радио и связь, 1994. – 240 с.: ил. 9. Богумирский Б. С. Руководство пользователя ПЭВМ: В 2-х ч. Ч. 1. – СПб.: Печатный Двор, 1994. – 360 с.: ил.
74
10. Богумирский Б. С. Руководство пользователя ПЭВМ: В 2-х ч. Ч. 2. – СПб.: Печатный двор, 1994. – 380 с.: ил. 11. Мячев А. А. Персональный ЭВМ. Толковый словарь. Англорусский словарь сокращений / А. А. Мячев, А. Н. Красавин, Е. С. Алексеев. – М.: Радио и связь, 1993. – 96 с. 12. Колисниченко О. В. Аппаратные средства РС / О. В. Колисниченко, И. В. Шишигин. – 4-е изд., перераб. и доп. – СПб.: БХВ. – Петербург, 2001. – 1024 с.: ил. 13. Гук М. Аппаратные средства IBM PC: Энциклопедия. – СПб.: Питер Ком, 1999. – 815 с.: ил. 14. Андреев А. Г. Microsoft ® Windows 2000 Server. Русская версия / Под общ. ред. А. Н. Чекмарева и Д. Б. Вишнякова. – СПб.: БХВ – Петербург, 2002. – 960 с.: ил. 15. Берлинер Э. М. Windows XP: Самоучитель / Э. М. Берлинер, И. Б. Глазырина, Б. Э. Глазырин. – М.: ЗАО «Издательство БИНОМ», 2002. – 416 с. : ил. 16. Коцюбинский А. О. Современный самоучитель работы в сети Интернет. Быстрый старт: Практ. пособие / А. О. Коцюбинский, С. В. Трошев. – М.: Изд-во «ТРИУМФ», 1997. – 400 с.: ил. 17. Леонтьев В. П. Новейшая энциклопедия Интернет. – М.: ОЛМА-ПРЕСС, 2003. – 607 с.: ил.
75
СОДЕРЖАНИЕ Введение ................................................................................................................. 3 1 История возникновения ПЭВМ ......................................................................... 5 2 Архитектура современных ПЭВМ ..................................................................... 10 3 Основные характеристики микропроцессоров ................................................. 13 4 Модели микропроцессоров ................................................................................ 13 5 Адресация и механизмы защиты памяти МП ................................................... 15 6 Микропроцессорный набор 80486 ..................................................................... 20 7 История создания микропроцессоров фирмы Intel .......................................... 21 Микропроцессор 8086 ............................................................................................ 21 Микропроцессор 8088 – шаг назад ....................................................................... 21 Микропроцессор 80286 .......................................................................................... 23 Микропроцессор 80386 .......................................................................................... 25 8 Концепция открытой архитектуры ПЭВМ ........................................................ 28 9 Семейство компьютеров PS/2 ............................................................................ 32 10 История развития компьютеров семейства Apple .......................................... 36 11 Режимы работы и характеристики процессоров ............................................. 45 Режим реальной адресации ................................................................................... 45 Режим защиты ........................................................................................................ 45 Сопроцессор 80287 ................................................................................................. 46 Условия программирования 80287 ....................................................................... 46 Основные характеристики 80386 .......................................................................... 47 32-разрядная архитектура ...................................................................................... 48 Высокопроизводительная технология .................................................................. 48 12 Обеспечение работы с виртуальной памятью ................................................. 51 13 Механизмы защиты памяти .............................................................................. 52 14 Совместимость с микропроцессорами 8086/80286 ......................................... 53 15 Способы адресации ........................................................................................... 53 16 Области применения ПЭВМ и развитие программного обеспечения ........... 55 17 Операционная система нового поколения Windows NT ................................ 60 Задачи, поставленные при создании Windows NT .............................................. 60 Архитектурные модули Windows NT ................................................................... 62 Уровень аппаратных абстракций .......................................................................... 64 Ядро ......................................................................................................................... 64 Исполнительная система Windows NT ................................................................. 66
76
Диспетчер кэша ...................................................................................................... 66 Драйверы файловой системы ................................................................................ 68 Сетевые драйверы .................................................................................................. 69 Модель безопасности Windows NT ...................................................................... 70 Заключение ............................................................................................................. 72 Список литературы ................................................................................................ 74
77