Студопедия

КАТЕГОРИИ:


Архитектура-(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)

АО компьютера

ОС тесно связана с оборудованием компьютера, поскольку оно влияет на набор команд ОС и управление ресурсами. Поэтому необходим определенный объем знаний о компьютере, т.е. нужно знать, в каком виде оборудование предстает. Концептуально простой ПК можно представить в виде абстрактной модели.

ЦП, память, устройства I/O соединены системной шиной, по которой они обмениваются информацией. "Мозгом" компьютера является ЦП (CPU - Central Processing Unit). Он выбирает из памяти команды и выполняет их. Обычный цикл работы ЦП выглядит так: он читает первую команду из памяти, декодирует ее для определения ее типа и операндов, выполняет команду, затем считывает, декодирует последующие команды. Т.о. образом осуществляется выполнение программ.

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

Один из них называется счетчиком команд (PC - Program Counter). В нем содержится адрес следующей стоящей в очереди на выполнение команды. После того как команда выбрана из памяти, регистр команд корректируется и указатель переходит к следующей команде.

Еще один регистр - указатель стека (SP - Stack Pointer). Он содержит адрес вершины стека в памяти. Стек содержит по одному фрейму (области данных) для каждой процедуры, которая уже начала выполняться, но еще не закончена. В стеке процедуры хранятся ее выходные параметры, а также локальные и промежуточные переменные, не хранящиеся в регистрах.

Следующий регистр называется "слово состояния ЦП" (PSW - Processing Status Word). Этот регистр содержит биты кода состояний, которые задаются командами сравнения, приоритетом ЦП, режимом (пользовательский или режим ядра) и другую служебную информацию.

Пользовательские программы могут читать весь регистр PSW, но писать могут только в некоторых из его полей. Регистр PSW играет важную роль в системных вызовах и операциях I/O. При временном мультиплексировании ЦП ОС останавливает работающую программу для запуска другой. Каждый раз при таком прерывании ОС должна сохранять все регистры ЦП, чтобы позже, когда прерванная программа продолжит свою работу, их можно было восстановить. Для повышения быстродействия ЦП их разработчики отказались от простой модели, когда за один такт может быть считана, декодирована, выполнена только одна команда. Современные ЦП обладают возможностью выполнения нескольких команд одновременно. Например, у ЦП могут быть отдельные модули, занимающиеся выборкой, декодированием и выполнением команд, и во время выполнения команды с номером n он может декодировать команду с номером n+1 и считывать команду с номером n+2. Такая организация называется конвейером, и три его стадии можно проиллюстрировать схемой.

Встречаются и более длинные конвейеры. Более передовым по сравнению с конвейерной конструкцией является суперскалярный ЦП. В этой структуре присутствует множество выполняющих узлов: один - для целочисленных арифметических операций, второй - для операций с плавающей точкой, один - для логических операций. За один такт считывается две или более команд, которые декодируются и сбрасываются в буфер хранения, где ждут своей очереди на выполнение. Когда выполняющее устройство освобождается, оно просматривает буфер хранения, выбирает команду, если она там есть, и выполняет ее.

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

Большинство ЦП имеет два режима работы: режим ядра и пользовательский режим. Режимы задаются битом слова состояния ЦП, т.е. регистра PSW. Если ЦП запущен в режиме ядра, он может выполнять все команды из набора инструкций и использовать все возможности АО. ОС работает в режиме ядра, предоставляя доступ ко всему АО. В противоположность этому прерыванию пользователи работают в пользовательском режиме, разрешающем выполнение подмножества программ и делающем доступным лишь часть аппаратных средств. Как правило, все команды, включая I/O данных и защиту памяти, запрещены в пользовательском режиме. Установка бита режима ядра в регистре PSW программным способом недоступна. Для связи с ОС пользовательская программа должна сформировать системный вызов, который обеспечивает переход в режим ядра и активирует функции ОС.

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

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

 

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


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


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



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




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