Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




Аппаратное обеспечение

 

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

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

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

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

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

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

Большинство современных компьютеров состоит из двух и более уровней. Су­ществуют машины даже с шестью уровнями (рисунок 1). Уровень 0 – это аппарат­ное обеспечение машины. Электронные схемы на уровне 1 выполняют машин­но-зависимые программы.

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

Рисунок 1 – Шестиуровневый компьютер

 

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

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

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

Уровень 2 называется уровнем архитектуры набора команд. Каждый производитель публикует руководство для компьютеров, которые он продает, под названием «Руководство по машинному языку X», «Принципы работы компью­тера У» и т. п. Подобное руководство содержит информацию именно об этом уровне. Описываемый в нем набор машинных команд в действительности вы­полняется микропрограммой-интерпретатором или аппаратным обеспечением.

Следующий уровень обычно является гибридным. Большинство команд в его языке есть также и на уровне архитектуры набора команд (команды, имеющиеся на одном из уровней, вполне могут быть представлены и на других уровнях). У этого уровня есть некоторые дополнительные особенности: новый набор ко­манд, другая организация памяти, способность выполнять две и более программы одновременно и некоторые другие. При построении уровня 3 возможно больше вариантов, чем при построении уровней 1 и 2.

Новые средства, появившиеся на уровне 3, выполняются интерпретатором, ко­торый работает на втором уровне. Этот интерпретатор был когда-то назван опе­рационной системой. Команды уровня 3, идентичные командам уровня 2, выпол­няются микропрограммой или аппаратным обеспечением, но не операционной системой. Другими словами, одна часть команд уровня 3 интерпретируется опе­рационной системой, а другая часть – микропрограммой. Вот почему этот уро­вень считается гибридным, этот уровень называется уровнем операци­онной системы.

Между уровнями 3 и 4 есть существенная разница. Нижние три уровня заду­маны не для того, чтобы с ними работал обычный программист. Они изначально ориентированы на интерпретаторы и трансляторы, поддерживающие более вы­сокие уровни. Эти трансляторы и интерпретаторы составляются так называемыми системными программистами, которые специализируются на разработке новых виртуальных машин. Уровни с четвертого и выше предназначены для приклад­ных программистов, решающих конкретные задачи.

Еще одно изменение, появившееся на уровне 4 – механизм поддержки более высоких уровней. Уровни 2 и 3 обычно интерпретируются, а уровни 4, 5 и выше, обычно, хотя и не всегда, транслируются.

Уровень 4 представляет собой символическую форму одного из языков более низкого уровня. На этом уровне можно писать программы в приемлемой для че­ловека форме. Эти программы сначала транслируются на язык уровня 1, 2 или 3, а затем интерпретируются соответствующей виртуальной или фактически суще­ствующей машиной. Программа, которая выполняет трансляцию, называется ас­семблером.

Уровень 5 обычно состоит из языков, разработанных для прикладных про­граммистов. Такие языки называются языками высокого уровня. Существуют сотни языков высокого уровня. Наиболее известные среди них – С, С++, Java, Lisp и Ргоlog. Программы, написанные на этих языках, обычно транслируются на уровень 3 или 4. Трансляторы, которые обрабатывают эти программы, назы­ваются компиляторами.

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

Набор типов данных, операций и характеристик каждого отдельно взятого уровня называется архитектурой. Архитектура связана с программными аспек­тами. Например, сведения о том, сколько памяти можно использовать при напи­сании программы, – часть архитектуры. Аспекты реализации (например, техно­логия, применяемая при реализации памяти) не являются частью архитектуры. Изучая методы проектирования программных элементов компьютерной систе­мы, мы изучаем компьютерную архитектуру. На практике термины «компью­терная архитектура» и «компьютерная организация» употребляются как сино­нимы.





Поделиться с друзьями:


Дата добавления: 2016-10-30; Мы поможем в написании ваших работ!; просмотров: 598 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Самообман может довести до саморазрушения. © Неизвестно
==> читать все изречения...

2489 - | 2332 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.