Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ЭВМ.doc
Скачиваний:
31
Добавлен:
23.11.2019
Размер:
6.47 Mб
Скачать

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

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

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

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

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

Большинство современных компьютеров состоит из двух и более уровней (Рис. 2 .4).

Рис. 2.4. Компьютер с шестью уровнями. Способ поддержки каждого уровня указан под ним. В скобках указывается название поддерживающей программы

Уровень 0

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

Уровень 1

Следующий уровень – микроархитектурный уровень. На этом уровне можно видеть совокупности 8 или 32 регистров, которые формируют локальную память и схему, называемую АЛУ (арифметико-логическое устройство). АЛУ выполня­ет простые арифметические операции. Регистры вместе с АЛУ формируют тракт данных. Основная операция тракта данных со­стоит в следующем: выбирается один или два регистра, АЛУ производит над ними какую-либо операцию, например сложения, а результат помещается в один из этих регистров.

Уровень 2

На некоторых машинах работа тракта данных контролируется особой програм­мой, которая называется микропрограммой. На других машинах тракт данных контролируется аппаратными средствами.

На машинах, где тракт данных контролируется программным обеспечением, микропрограмма – это интерпретатор для команд на уровне 2. Микропрограмма вызывает команды из памяти и выполняет их одну за другой, используя при этом тракт данных. Например, для того чтобы выполнить команду ADD, эта команда вы­зывается из памяти, ее операнды помещаются в регистры, АЛУ вычисляет сумму, а затем результат переправляется обратно. На компьютере с аппаратным контро­лем тракта данных происходит такая же процедура, но при этом нет программы, которая контролирует интерпретацию команд уровня 2.