Слайд 1Современные многоуровневые машины
Слайд 2Современные многоуровневые машины. Уровень -1
Ниже нулевого расположен уровень физических устройств.
На этом уровне находятся транзисторы, которые для разработчиков компьютеров являются
примитивами.
Слайд 3Современные многоуровневые машины. Уровень 0
Уровень 0 – это аппаратное обеспечение
- электронные схемы исполняют машинно-зависимые программы уровня 1.
На этом
уровне – цифровом логическом уровне, расположены объекты - вентили.
Вентили строятся из аналоговых компонентов (таких как транзисторы), и могут быть точно смоделированы как цифровые устройства. У каждого вентиля есть одно или несколько цифровых входных данных (сигналов, представляющих 0 или 1). Вентиль вычисляет простые функции этих сигналов, такие как И или ИЛИ.
Каждый вентиль формируется из нескольких транзисторов. Несколько вентилей формируют 1 бит памяти, который может содержать 0 или 1.
Биты памяти, объединенные в группы, например, по 16, 32 или 64, формируют регистры.
Каждый регистр может содержать одно двоичное число в определенном диапазоне. Из вентилей также может строиться само ядро вычислительной системы.
Слайд 4Современные многоуровневые машины. Уровень 1
Уровень 1 – уровень микроархитектуры.
Наборы
из 8 или 32 регистров, которые формируют локальную память и
схему, называемую АЛУ (арифметико-логическое устройство).
АЛУ исполняет простые арифметические операции. Регистры вместе с АЛУ формируют тракт данных, по которому поступают данные.
Базовая операция тракта данных выполняется: выбирается один или два регистра, АЛУ производит над ними какую-либо операцию (например, сложение), после чего результат вновь помещается в какой-либо регистр.
Работа тракта данных контролируется:
особой программой – микропрограммой.
напрямую аппаратными средствами.
Сейчас тракт данных обычно контролируется аппаратным обеспечением.
На машинах, где тракт данных контролируется программным обеспечением, микропрограмма – это интерпретатор для команд на уровне 2.
Слайд 5Современные многоуровневые машины. Уровень 2
Уровень 2. Уровень архитектуры набора команд.
Набор машинных команд в действительности исполняется микропрограммой-интерпретатором или аппаратным обеспечением.
Слайд 6Современные многоуровневые машины. Уровень 3
Уровень 3. Гибридный уровень операционной системы.
Большинство команд в его языке есть также и на уровне
архитектуры набора команд (команды, имеющиеся на одном из уровней, могут быть представлены и на других уровнях).
Особенности: новый набор команд, другая организация памяти, способность исполнять две и более программ одновременно. При построении уровня 3 возможно большее разнообразие, чем при построении уровней 1 и 2.
Новые средства исполняются интерпретатором, который работает на втором уровне – операционной системой. Команды уровня 3, идентичные командам уровня 2, исполняются микропрограммой или аппаратным обеспечением, но не операционной системой. Часть команд уровня 3 интерпретируется операционной системой, а другая часть – микропрограммой.
Слайд 7Современные многоуровневые машины. Отличие 1-2-3 от 4-5
Нижние три уровня не
предназначены для использования рядовыми программистами: ориентированы на интерпретаторы и трансляторы,
обеспечивающие работу на более высоких уровнях и создаются системными программистами.
Уровни с 4 и выше предназначены для прикладных программистов, решающих конкретные задачи.
Уровни 2 и 3 всегда интерпретируются, а уровни 4, 5 и выше обычно (хотя и не всегда) транслируются.
Машинные языки уровней 1, 2 и 3 – цифровые.
Начиная с уровня 4, языки содержат слова и сокращения, понятные человеку.
Слайд 8Современные многоуровневые машины. Уровень 4
Уровень 4 представляет собой символическую форму
одного из языков более низкого уровня. На этом уровне человек
может писать программы для уровней 1, 2 и 3 в форме не настолько неприятной, как язык виртуальных машин.
Программы сначала транслируются на язык уровня 1, 2 или 3, а затем интерпретируются соответствующей виртуальной или реально существующей машиной. Программа, которая исполняет трансляцию, называется ассемблером.
Слайд 9Современные многоуровневые машины. Уровень 5
Уровень 5 обычно состоит из языков,
разработанных для прикладных программистов. Такие языки называются языками высокого уровня.
Существуют сотни языков высокого уровня. Наиболее известные среди них - C, C++, Java, Perl, Python и PHP.
Программы, написанные на этих языках, обычно транслируются на уровень 3 или 4.
Трансляторы, которые обрабатывают эти программы, называются компиляторами, хотя в некоторых случаях имеет место интерпретация.
В некоторых случаях уровень 5 состоит из интерпретатора для конкретной прикладной области, например символической логики. Он предусматривает данные и операции для решения задач в этой области в контексте, хорошо понятном специалисту в этой предметной области.
Слайд 10Современные многоуровневые машины. Уровень 5
Компьютер проектируется как иерархическая структура уровней,
которые надстраиваются друг над другом.
Каждый уровень представляет собой абстракцию
некоторых объектов и операций. Рассматривая и анализируя строение компьютера подобным образом, мы можем не принимать во внимание лишние подробности и, таким образом, сделать сложный предмет более простым для понимания.
Набор типов данных, операций и характеристик каждого отдельно взятого уровня называется архитектурой.
Архитектура связана с аспектами, видимыми пользователю этого уровня. Например, сведения о том, сколько памяти можно использовать при написании программы, – часть архитектуры.
Аспекты реализации (например, технология, применяемая при реализации памяти) не являются частью архитектуры.