Реклама:

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

В целом структура книги осталась прежней, но в пятое издание внесены некоторые изменения, что объясняется стремительным развитием компьютерной отрасли. В качестве примеров в книге рассматриваются современные машины Pentium 4 производства Intel и Sun UltraSPARC III производства Sun, а также еще один процессор Intel - 8051. Процессор Pentium 4 популярен в сегменте настольных систем. В противоположность ему, модель UltraSPARC III часто устанавливается в мультипроцессорных серверных системах.

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

Многие преподаватели, выстраивающие свои учебные курсы на основе этой книги, просили меня развить тему программирования на языке ассемблера. В пятом издании я учел их пожелания - соответствующий материал имеется в приложении В. В примерах используется ассемблер 8088, который являет собой упрощенную версию популярного ассемблера Pentium. Можно было выбрать ассемблер UltraSPARC, MIPS или какого-нибудь другого процессора, о котором мало кто слышал, но у 8088 есть важное преимущество - большинство студентов дома работают на компьютерах Pentium, а программы, написанные на ассемблере 8088, совместимы с этими системами. Поскольку отлаживать ассемблерный код очень сложно, я разработал несколько инструментальных средств, призванных помочь в процессе обучения, включая сам ассемблер 8088, а также симулятор и трассер. Эти инструменты работают в средах Windows, UNIX и Linux. Они есть как на сопроводительном компакт-диске, так и на веб-сайте книги.

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

"Разработка уровня микроархитектуры" включительно) и главу 5, а оставшееся время на ваше усмотрение потратить на главы 6, 7 и 8, а также вторую часть главы 4.

В пятое издание внесены следующие изменения.

В главе 1 по-прежнему излагается история развития архитектуры компьютеров, но мы расширили перечень рассматриваемых машин. В главу включены три основных примера, касающиеся процессоров Pentium 4, UltraSPARC III и 8051.

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

Глава 3 претерпела некоторые изменения - теперь в ней рассматриваются компьютерные шины и современные устройства ввода-вывода. Устройство микросхем иллюстрируется тремя новыми примерами. Написан новый раздел о шине PCI Express, которая через некоторое время, вероятно, окончательно вытеснит шину PCL

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

Изменения в главах 5, 6 и 7 преимущественно связаны с новыми примерами. В главе 6 вместо Windows NT материал объясняется на примере Windows ХР, теоретические же изменения минимальны.

Глава 8, наоборот, полностью переписана, и теперь она адекватно отражает развитие параллельных компьютерных архитектур. В ней рассматриваются пять классов параллельных систем: системы с внутрипроцессорным параллелизмом (параллелизм на уровне команд, внутрипроцессорная многопоточность, однокристальные мультипроцессоры), сопроцессоры, системы с общей памятью, кластеры и, вкратце, системы распределенных вычислений. В изобилии представлены в этой главе актуальные примеры, в частности, процессор TriMedia, а также кластеры BlueGene/L., Red Storm и Google.

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

Приложения А и Б не изменились, зато появилось совершенно новое приложение В, посвященное программированию на языке ассемблера. Его можно рассматривать как миниатюрное практическое руководство по программированию с привлечением инструментальных средств, имеющихся на сопроводительном компакт-диске и на веб-сайте книги. Автор приложения В - Эверт Ваттель (Evert Wattel) из Свободного университета Амстердама. У него огромный опыт обучения работе с инструментарием программирования на ассемблере, и я очень благодарен ему, что он взялся за эту задачу.

Помимо инструментов ассемблирования, на веб-сайте есть программа моделирования (графический симулятор), предусмотренная для работы с материалом главы 4. Ее разработчиком стал профессор Ричард Солтер (Richard Salter) из колледжа Оберлин. Ему - отдельное спасибо.

Наконец, на веб-сайте книги, расположенном по адресу http://www.prenhall.com/ tanenbaum, опубликованы все иллюстрации к книге и презентации в формате PowerPoint для преподавателей.

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

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

Автор искренне благодарит всех, кто читал рукопись данной книги и высказал ценные замечания и предложения или оказал какую-либо помощь. Большое спасибо Никитасу Александридису (Nikitas Alexandridis), Шекару Боркару (Shekar Borkar), Герберту Босу (Herbert Bos), Скотту Кеннону (Scott Cannon), Дагу Кармину (Doug Carmean), Алану Чарльсворту (Alan Charlesworth), Эрику Кота-Роблю (Eric Cota-Robles), Майклу Феттерману (Michael Fetterman), Квин-ну Джейкобсону (Quinn Jacobson), Тило Кильману (Thilo Kielmann), Иффат Казн (Iffat Kazi), Солу Леви (Saul Levy), Ахмеду Лури (Ahmed Louri), Абиджит Пандя (Abhijit Pandya), Кристу Петерсену (Krist Petersen), Марку Руссиновичу (Mark Russinovich), Рональду Шредеру (Ronald Schroeder) и Сайму Юралу (Saim Ural).

Особая благодарность Джиму Гудману (Jim Goodman) за его вклад в создание этой книги (в частности, глав 4 и 5). Идея использовать JVM принадлежит именно ему. Книга значительно улучшилась благодаря его содействию.

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

Эндрю С. Таненбаум

Оглавление || || От издателя перевода