Читать «Архитектура компьютера» онлайн - страница 8

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

Компьютер с n уровнями можно рассматривать как n разных виртуальных машин, у каждой из которых есть свой машинный язык. Термины «уровень» и «виртуальная машина» мы будем использовать как синонимы. Пожалуйста, учтите, что термин «виртуальная машина», как и многие термины в компьютерной области, также имеет и другие значения; одно из них будет рассмотрено нами позднее в книге. Только программы, написанные на Я0, могут исполняться компьютером без трансляции или интерпретации. Программы, написанные на Я1, Я2, ..., Я n, должны проходить через интерпретатор более низкого уровня или транслироваться на язык, соответствующий более низкому уровню.

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

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

Современные многоуровневые машины

Большинство современных компьютеров состоит из двух и более уровней. Существуют машины даже с шестью уровнями (рис. 1.2). Уровень 0 — это аппаратное обеспечение машины. Его электронные схемы исполняют машиннозависимые программы уровня 1. Ради полноты нужно упомянуть о существовании еще одного уровня, который расположен ниже нулевого. Этот уровень не показан на рис. 1.2, так как он попадает в сферу электронной техники и, следовательно, не рассматривается в этой книге. Он называется уровнем физических устройств. На этом уровне находятся транзисторы, которые для разработчиков компьютеров являются примитивами. Если кого-то заинтересует, как работают транзисторы, ему придется обратиться к области физики твердого тела.

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