русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-01-16; просмотров: 2723; Нарушение авторских прав


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

 

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

· сложить 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. Трансляторы, которые обрабатывают эти программы, назы­ваются компиляторами.

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

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



<== предыдущая лекция | следующая лекция ==>
Дифференциальная диагностика «широких» тахикардий | Развитие многоуровневых машин


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.698 сек.