
- •Многоуровневая компьютерная организация.
- •Пример современной многоуровневой вычислительной машины с шестью уровнями
- •Типы структур вычислительных машин и систем
- •Структуры вычислительных машин
- •Структуры вычислительных систем
- •Глава 2. Цифровой логический уровень
- •Представление информации в вычислительных системах
- •Представление числовых данных в вм.
- •Числа в форме с фиксированной точкой.
- •Числа в форме с плавающей точкой
- •Размещение числовых данных в памяти
- •Представление нечисловой информации в вм
- •Символьная информация
- •Видеоинформация
- •Система кодирования чисел.
- •Прямой код.
- •Обратный код.
- •Модифицированные коды.
- •Физическое представление информации в вм.
- •Вентили, интегральные схемы.
- •Основные элементы эвм
- •Триггер.
- •Регистры.
- •Сумматоры
- •Счетчики.
- •Тактовые генераторы.
- •Микросхемы процессоров и шины
- •Микросхемы процессоров. Цоколевка типичного цп
- •Разрядность.
- •Типы процессоров
- •Регистры процессора
- •Типы шин Системные шины. Локальные шины
- •Системные шины
- •Локальные шины.
- •Иерархия шин
- •Вычислительная машина с одной шиной
- •Вычислительная машина с двумя видами шин.
- •Вычислительная машина с тремя видами шин
- •Принципы работы шины
- •Система прерываний.
- •Память.
- •Организация памяти.
- •Основные принципы.
- •Основные технические характеристики зу.
- •Иерархическая структура памяти.
- •Основная память.
- •Классификация устройств основной памяти.
- •Основные запоминающие устройства
- •Внешняя память
- •Конвейеры
- •Время
- •6.2.2 Суперскалярная архитектура.
Введение
Дадим несколько определений термина электронная вычислительная машина:
это устройство, которое принимает данные, обрабатывает их в соответствии с хранимой программой, генерирует результаты и обычно состоит из блоков ввода, вывода, памяти, арифметики, логики и управления;
это устройство, способное хранить программу или программы обработки и информацию, необходимую для выполнения программы, и может быть свободно перепрограммируемым в соответствие с требованием пользователя;
это машина, которая может решать задачи, выполняя данные ей команды. Последовательность команд, описывающих решение определенной задачи, называется программой.
За свою полувековую историю ЭВМ из единичных экземпляров инструментов учёных превратились в предмет массового потребления, при этом были выявлен ряд их достоинств и недостатков.
Достоинства ЭВМ: высокая точность вычислений, универсальность, автоматический ввод информации, необходимой для решения задачи, разнообразие задач, решаемых ЭВМ, независимость количества оборудования от сложности задачи.
Недостатки ЭВМ: сложность подготовки задачи к решению (необходимость специальных знаний программирования и методов решения задач), недостаточная наглядность протекания процессов, сложность изменения параметров этих процессов, сложность структуры ЭВМ, эксплуатации и технического обслуживания, требование специальной аппаратуры при работе с элементами реальной аппаратуры.
Одним из недостатков ЭВМ было то, что электронные схемы каждого компьютера могут распознавать и выполнять ограниченный набор простых команд. Все программы перед выполнением должны быть превращены в последовательность таких команд, которые обычно не сложнее чем:
сложить 2 числа;
проверить, не является ли число нулём;
сдвинуть число на 1 разряд;
скопировать кусок данных из одной части памяти компьютера в другую.
Эти примитивные программы в совокупности составляют язык, на котором люди могут общаться с компьютером. Такой язык называется машинным языком. При создании нового компьютера разработчик должен решать - какие команды включать в машинный язык этого компьютера (обычно стараются сделать машинные команды как можно проще, чтобы избежать сложностей при конструировании компьютера и снизить затраты на необходимую электронику). Большинство машинных языков очень примитивны, использовать их трудно. Для преодоления сложности при общении с компьютером стала применяться многоуровневая компьютерная организация.
Многоуровневая компьютерная организация.
Первые компьютерные программы писались на машинных языках, что было чрезвычайно трудоёмко, требовало повышенного внимания и аккуратности. Было решено разработать новые наборы команд, которые более удобны для человека, чем встроенные машинные команды1. Эти новые команды в совокупности формируют язык первого уровня, языком нулевого уровня принято считать машинный язык. Программы, на языке нулевого уровня непосредственно выполняются электронными схемами.
Для преодоления подобных трудностей используется подход, называемый многоуровневой компьютерной организацией. Благодаря построению ряда уровней абстракций, каждая из которых надстраивается над абстракцией более низкого уровня, подход позволяет решить сложности, возникающие при общении с компьютером. В самом простейшем случае имеет место трёхуровневая организация (архитектура) ВМ (рис. 1.1), состоящая из аппаратного, операционного и языкового уровня.
Абстракции высокого
уровня
Языковый уровень
Операционный
уровень
Аппаратный уровень
Абстракции низкого
уровня
Рис. 1.1.
Трёхуровневая организация (архитектура)
ВМ
Платформа (platform) – видимые программисту средства поддержки программного продукта каждым из этих уровней абстракции. Определяют следующие типы платформ.
Аппаратная платформа – тип аппаратной архитектуры, на котором может быть установлен программный продукт. Наиболее известны аппаратные платформы на семействах процессоров Intel, HP и Power.
Операционная платформа – тип операционной системы и системного интерфейса, с которым может работать программный продукт. Наиболее известные операционные платформы: DOS, Windows и Unix. Сетевая платформа обычно входит в состав операционной платформы и представляет собой сетевой интерфейс операционной платформы. Частью операционной платформы являются библиотеки, поставляемые с операционной системой, для работы с которыми используется интерфейс прикладного программиста.
Языковая платформа- язык программирования и интерфейс прикладного программирования (библиотеки), на котором может быть реализован программный продукт. Наиболее известные языковые платформы: C, C++, Java.
Существует два способа выполнения программы, написанной на языке первого уровня, - трансляция и интерпретация.
Первый способ (трансляция) – замена каждой команды языка первого уровня на эквивалентный набор команд языка нулевого уровня, при этом создаётся новая программа, написанная на языке нулевого уровня, вместо старой программы.
Второй способ (интерпретация) – программа, написанная на языке первого уровня, рассматривается в качестве входных данных. Каждая команда рассматривается по очереди и сразу выполняется эквивалентный набор команд языка нулевого уровня, новая программа не создаётся. Программа, которая осуществляет интерпретацию, называется интерпретатором.
Трансляция и интерпретация сходны. При применении обоих методов компьютер в конечном итоге выполняет набор команд на языке нулевого уровня, эквивалентных командам языка первого уровня2.
Чтобы трансляция и интерпретация были целесообразны языки нулевого и первого уровня не должны значительно различаться. Данное обстоятельство приводит к очевидному решению – необходимости создания ещё одного набора команд, который ещё в большей степени ориентирован на человека и в меньшей степени на компьютер. Подобное движение от одного языка к другому продолжается до тех пор, пока не появляется подходящий нам язык. Каждый такой язык использует предшествующий язык как основу. Возникает иерархическая структура языков, внизу которой находится самый примитивный язык, а на верху – самый сложный.
Большинство современных компьютеров состоят из двух и более уровней.