Таненбаум Э.- Архитектура компьютера. стр.9

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

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

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

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

Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты [email protected] (издательство «Питер», компьютерная редакция). Мы будем рады узнать ваше мнение!

Подробную информацию о наших книгах вы найдете на веб-сайте издательства http://www.piter.com.

Глава 1

Введение

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

4 сложить 2 числа;

4 проверить, не является ли число нулем;

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

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

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

Многоуровневая компьютерная организация

Как мы уже сказали, существует огромная разница между тем, что удобно людям, и тем, что могут компьютеры. Люди хотят сделать X, но компьютеры могут сделать только У. Из-за этого возникает проблема. Цель данной книги — объяснить, как решить эту проблему.

Языки, уровни и виртуальные машины


⇐ Предыдущая страница| |Следующая страница ⇒