Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Многоуровневая организация вычислительных процессов. Понятия архитектуры вычислительной машины, аппаратного и программного обеспечения

 

ВМ и ВС, являясь сложными системами, содержат большое число взаимодействующих аппаратных и программных модулей. Сложные системы не имеют простых описаний. Это связано со следующими особенностями: большое число и разнородность элементов системы (модулей), разнообразие и нерегулярность связей между ними, отсутствие единого аппарата для описания поведения различных модулей.

Для описания, проектирования и организации управления в ВС используется иерархический подход. Рассмотрим уровни организации вычислительных процессов (рис. 3) в ВМ и ВС, а также категории специалистов, использующие соответствующие уровни представления в своей профессиональной деятельности, и процессы, реализующие взаимодействие уровней.

На концептуальном уровне пользователь анализирует задачу, выбирает метод ее решения, разрабатывает алгоритм. Для сложных задач выполняется функциональная декомпозиция, определяются структуры данных, выделяются программные модули, определяются связи между ними.

Далее пишется программа на одном из языков высокого уровня. Такое представление программы является машинно-независимым, то есть независимым от архитектуры ВС и от особенностей аппаратного обеспечения.

На уровне машинных команд обеспечивается связь программных и аппаратных средств. На этом уровне разрабатывается список команд, определяются способы кодирования операций и адресов, число адресных полей в команде и другие параметры, заложенные в структуру ВМ. Перевод программы с языка высокого уровня в машинные коды осуществляет специальная программа – компилятор. Для одной программы, написанной на языке высокого уровня, можно породить много программ на уровне машинных команд, которые по выполняемым функциям эквивалентны, но различаются по использованию ресурсов ВМ (памяти, процессорного времени). Поэтому актуальна задача построения оптимизирующего компилятора. Чем ближе состав операторов языка высокого уровня к списку команд ВМ, тем проще компилятор и эффективнее полученная для исполнения программа. При программировании часто используют язык Ассемблера. Ассемблер – машинно-зависимый язык программирования. Представление задачи на языке Ассемблера занимает промежуточное положение в иерархии представлений между языками высокого уровня и машинными командами. Язык Ассемблера используют при написании системных программ, кратность исполнения которых существенно выше, чем у прикладных программ, например для МК (микроконтроллеров), ресурсы которых ограничены, а прикладные программы для них - это, как правило, программы управления оборудованием, которые также исполняются многократно.

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

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

При компиляции требуется более сложная системная программа – компилятор. В процессе компиляции требуется больший объем памяти, но зато исполнение пользовательской программы происходит существенно быстрее. В связи с этим в современных ВМ в основном используется метод компиляции.

На уровне регистровых передач осуществляются микрооперации, выполняемые аппаратурой ВМ. Это операции передачи, запоминания и преобразования кодов, выполняемые пересылкой сигналов между регистрами через комбинационные (логические) схемы (рис. 4). Микрооперация – это операция над кодами, выполняемая одной регистровой передачей (за такт). Для настройки схем на выполнение требуемой микрооперации при регистровой передаче требуется сформировать соответствующий набор управляющих сигналов. Код набора управляющих сигналов называют микрокомандой. Последовательность микрокоманд, соответствующая исполнению машинной команды, называют микропрограммой. Каждой машинной команде соответствует своя микропрограмма. Связь между уровнями машинных команд и регистровых передач осуществляется методом интерпретации. Выборкой команд из программы в машинных кодах и интерпретации выбранной команды управляет аппаратное устройство управления центрального процессора. Уровень регистровых передач называют также микропрограммным.

На уровне логических вентилей рассматриваются логические схемы при логическом проектировании аппаратуры ВМ. Если на уровне регистровых передач рассматриваются операции с n-разрядными кодами, то на уровне вентилей – с отдельными двоичными переменными.

Многоуровневая организация упрощает реализацию ВМ и управление вычислительным процессом, но снижает эффективность работы за счет «накладных расходов» на управление. В процессе работы происходит «челночное» взаимодействие между уровнями: выборка очередной команды на уровне машинных команд, интерпретация команды на уровне регистровых передач, реализация регистровой передачи передачей сигналов в сети логических элементов, фиксация признаков, характеризующих результат выполнения операции, использование признаков для разветвления при выборке следующей команды, и т.д.

В управлении вычислительным процессом с иерархической организацией участвуют как программные, так и аппаратные средства. Функционирование ВМ и ВС заключается в тесном и неразрывном взаимодействии аппаратуры и программ. Грань разделения функций, реализуемых аппаратно и программно, по мере развития архитектуры ВМ и технологии их изготовления смещается в сторону аппаратной реализации.

Определим понятие «архитектура ВМ». С точки зрения пользователя архитектура – это совокупность системы команд, способов организации памяти, система адресации, организация ввода и вывода и т.п. С точки зрения разработчика – это структура аппаратного обеспечения, зависящая от элементной базы, конфигурация и взаимодействие основных узлов, распределение функций по уровням иерархической организации вычислительных процессов, определение границ и интерфейсов.

ПО принято подразделять на две части: системное и прикладное.

Системное ПО (system software) – это совокупность системных программ, необходимых для эксплуатации и технического обслуживания ВМ, для организации вычислительных процессов и автоматизации разработки прикладных программ. Важнейшей составляющей системного ПО является операционная система.

Прикладное ПО – пользовательское. Оно включает прикладные программы и пакеты, предназначенные для решения на ВМ задачи или класса задач в определенной области науки, техники, экономики, искусства.

По функциональному признаку программы системного ПО делят на транслирующие, служебные, управляющие. Транслирующие программы преобразуют программы, представленные на языках программирования, в машинные коды. Транслирующие программы входят в состав так называемых систем программирования. Служебные программы – динамично изменяемая часть системного ПО, зависящая от назначения ВМ, состава аппаратного обеспечения. К ним относятся драйверы (программы работы с периферийными устройствами), тесты, диагностические программы и некоторые другие. Управляющие программы используются при организации вычислительных процессов для распределения ресурсов и для диспетчеризации процессов.

Управление вычислительными процессами в ВМ и ВС организовано по иерархическому принципу. Верхний уровень иерархии занимает ОС. Под ОС понимают систему программ, предназначенную для обеспечения определенного уровня эффективности ВС за счет автоматизированного управления ее работой и предоставляемых пользователям определенного рода услуг. ОС обеспечивает взаимодействие ВС с пользователем и координацию работы всех ее подсистем: запуск программ, разделение ОП и других ресурсов между ними, связь с внешними устройствами.

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

Часть системного ПО, называемая базовой системой ввода-вывода BIOS (Basic Input Output System), необходима для инициализации работы ВС и управления выполнением ряда системных функций. BIOS – это система программ на машинном языке, управляющая передачей данных между устройствами ВМ (процессором, памятью, дисками, монитором), а также выполняющая рад дополнительных функций при включении компьютера.

Программы BIOS записаны на энергонезависимой памяти (ROM или FLASH). В компьютерах PC соответствующая микросхема энергонезависимой памяти с записанными на ней программами устанавливается на материнской плате. В ней хранятся тестовые, загрузочные программы, базовая система ввода-вывода. Использование флэш-памяти для хранения BIOS позволяет обновлять версию. Перечислим основные функции BIOS в компьютерах PC:

· инициализация и начальное тестирование аппаратных средств, эти функции выполняет программа POST – Power On Self Test;

· настройка и конфигурирование аппаратных средств и системных ресурсов – BIOS Setup;

· загрузка ОС с дискового носителя – Bootstrap Loader;

· обслуживание аппаратных прерываний – BIOS Hardware Interrupts;

· отработка базовых функций программных обращений (сервисов) к системным устройствам – ROM BIOS Services.

 

<== предыдущая лекция | следующая лекция ==>
Основные принципы организации вычислительных машин и систем | Влияние технологии производства интегральных схем на архитектуру и характеристики вычислительных машин и систем
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 2554; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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