скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыУчебное пособие: Аппаратура, программное обеспечение и микропрограммы

Учебное пособие: Аппаратура, программное обеспечение и микропрограммы

Аппаратура, программное обеспечение и микропрограммы

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

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

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

Чарльз Бэббидж Отрывок из книги «Жизнь философа»

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

Кристофер Эванс

Программы это посредники между пользователем и машиной.

Гарлен Д. Миллс

Микропрограммирование это реализация предположительно разумных систем путем интерпретации на неразумных машинах!

Р. Ф. Розин

Микропрограммирование неэффективного алгоритма не делает его эффективным,

Закон Роше


2.1 Введение

2.2 Аппаратура

2.2.1 Расслоение памяти

2.2.2 Регистр перемещения

2.2.3 Прерывания и опрос состояний

2.2.4 Буферизация

2.2.5 Периферийные устройства

2.2.6 Защита памяти

2.2.7 Таймеры и часы

2.2.8 Работа в режиме он-лайн и автономный режим (оф-лайн), периферийные процессоры

2.2.9 Каналы ввода-вывода

2.2.10 Захват цикла

2.2.11 Относительная адресация

2.2.12 Режим задачи, режим супервизора, привилегированные команды

2.2.13 Виртуальная память

2.2.14 Мультипроцессорная обработка

2.2.15 Прямой доступ к памяти

2.2.16 Конвейеризация

2.2.17 Иерархия памяти

2.3 Программное обеспечение

2.3.1 Программирование на машинном языке

2.3.2 Ассемблеры и макропроцессоры

2.3.3 Компиляторы

2.3.4 Системы управления вводом-выводом (IOCS)

2.3.5 Спулинг

2.3.6 Процедурно-ориентированные и проблемно-ориентированные языки

2.3.7 Быстрые компиляторы без оптимизации и оптимизирующие компиляторы

2.3.8 Интерпретаторы

2.3.9 Абсолютные и перемещающие загрузчики

2.3.10 Связывающие загрузчики и редакторы связей

2.4 Микропрограммы

2.4.1 Горизонтальный и вертикальный микрокод

2.4.2 Выбор функций для микропрограммной реализации

2.4.3 Эмуляция

2.4.4 Микродиагностика

2.4.5 Специализированные компьютеры

2.4.6 Микропрограммная поддержка

2.4.7 Микропрограммирование и операционные системы

2.4.8 Пример микропрограммирования


2.1 Введение

В данной главе мы кратко рассмотрим, что такое аппаратура, программное обеспечение и микропрограммы. Все они играют важную роль с точки зрения функционирования вычислительных машин и управления ими. Аппаратные средства — это устройства вычислительной машины; ее процессоры, устройства памяти и устройства ввода-вывода, а также средства приема-передачи данных. Программное обеспечение — это программы, содержащие команды на машинном языке и данные, которые соответствующим образом интерпретируются аппаратурой машины. В качестве примеров некоторых распространенных видов программных средств можно привести компиляторы, ассемблеры, загрузчики, редакторы связей, связывающие загрузчики, прикладные программы пользователя, системы управления базами данных, системы приема — передачи данных и операционные системы. Микропрограммы— это микрокодированные программы, выполняемые непосредственно из управляющей памяти очень высокого быстродействия. Наиболее часто используемые объектные программы, занесенные в постоянную память (постоянные запоминающие устройства и программируемые ПЗУ), также иногда называют микропрограммным обеспечением. О микропрограммировании и его важной роли для современных машинных архитектур и операционных систем идет речь в последнем разделе настоящей главы.

2.2 Аппаратура

В нескольких следующих разделах рассматриваются различные виды аппаратных средств, которые имеют важное значение с точки зрения работы операционных систем. Читатель, которому требуются более подробные сведения об аппаратуре, может обратиться к таким книгам-учебникам по архитектуре компьютеров, как (Ва80), (1182) и (Le80).

2.2.1 Расслоение памяти

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

2.2.2 Регистр перемещения

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

2.2.3 Прерывания и опрос состояний

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

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

2.2.4 Буферизация

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

При вводе с простой буферизацией канал помещает данные в буфер, процессор обрабатывает эти данные, канал помещает следующие данные и т. д. В то время, когда канал заносит данные, обработка этих данных производиться не может, а во время обработки данных нельзя заносить дополнительные данные. Метод двойной буферизации позволяет совмещать выполнение операции ввода-вывода с обработкой данных; когда канал заносит данные в один буфер, процессор может обрабатывать данные другого буфера. А когда процессор заканчивает обработку данных одного буфера, канал будет заносить новые данные опять в первый буфер. Такое поочередное использование буферов иногда называют буферизацией с переключением («триггерной» буферизацией). Обмен данными между каналами и процессорами будет рассмотрен ниже.

2.2.5 Периферийные устройства

Периферийные (внешние запоминающие) устройства позволяют /хранить громадные объемы информации вне основной памяти компьютера. Лентопротяжные устройства являются в принципе последовательными устройствами, которые предусматривают чтение и запись данных на длинной магнитной ленте. Ленты могут иметь длину до 1100 м при намотке на 30-см кассеты. Информация может фиксироваться на ленте с различными плотностями записи. Для первых лентопротяжных устройств плотность записи составляла восемь символов на миллиметр длины ленты, затем стандартной стала плотность записи 22 симв/мм, затем 32 симв/мм, затем 64 симв/мм, а в настоящее время 250 симв/мм. Устройства новых поколений безусловно будут иметь еще большие плотности записи.

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

2.2.6 Защита памяти

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

2.2.7 Таймеры и часы

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

Часы истинного времени дают возможность компьютеру следить за реальным календарным временем с точностью до миллионных долей секунды, а при необходимости даже точнее.

2.2.8 Работа в режиме он-лайн и автономный режим (оф-лайн), периферийные процессоры

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

В 1959 г. фирма IBM анонсировала свою «малую» вычислительную машину 1401 (которая затем стала наиболее популярной вычислительной машиной своего времени). Модель 1401 была функционально законченной вычислительной системой, предусматривающей работу с обширным набором традиционных внешних устройств. Интересно отметить, что одним из наиболее известных применений модели 1401 явилось автономное выполнение операций ввода-вывода для более крупных машин. Компьютер, работающий в таком режиме, называется процессором ввода-вывода, или автономным компьютером-сателлитом.

2.2.9 Каналы ввода-вывода

В первых компьютерах с ростом требуемых объемов вычислений, особенно в условиях обработки экономических данных, узким местом, как правило, оказывался ввод-вывод. Во время выполнения операций ввода-вывода процессоры были заняты управлением устройствами ввода-вывода. В некоторых машинах в каждый конкретный момент времени могла выполняться всего лишь одна операция ввода-вывода. Важным шагом для решения этой проблемы явилась разработка каналов ввода-вывода. "Канал ввода-вывода — это специализированный процессор, предназначенный для управления вводом-выводом независимо от основного процессора вычислительной машины. Канал имеет возможность прямого доступа к основной памяти для записи или выборки информации.

В первых машинах взаимодействие между процессорами и каналами осуществлялось при помощи процессорных команд типа

·           условный переход (если канал занят выполнением операции);

·           ожидание (пока не закончится выполнение команды канала);

·           запись (содержимого управляющих регистров канала в основную память для последующего опроса процессором).

В современных машинах с управлением по прерываниям процессор выполняет команду «начать ввод-вывод» (SIO), чтобы инициировать передачу данных ввода-вывода по каналу; после окончания операции ввода-вывода канал выдает сигнал прерывания по завершению операции ввода-вывода, уведомляющий процессор об этом событии.

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

Для высокоскоростного обмена данными между внешними устройствами и основной памятью используется селекторный канал. Селекторные каналы имеют только по одному подканалу и могут обслуживать в каждый момент времени только одно устройство.

Мультиплексные каналы имеют много подканалов; они могут работать сразу с многими потоками данных в режиме чередования. Байт-мультиплексный канал обеспечивает режим чередования байтов при одновременном обслуживании ряда таких медленных внешних устройств, как терминалы, перфокарточные устройства ввода-вывода, принтеры, а также низкоскоростные линии передачи данных. Блок-мультиплексный канал при обменах в режиме чередования блоков может обслуживать несколько таких высокоскоростных устройств, как лазерные принтеры и дисковые накопители.

2.2.10 Захват цикла

Узкое место, где может возникнуть конфликтная ситуация между каналами и процессором, это доступ к основной памяти. Поскольку в каждый конкретный момент времени может осуществляться только одна операция обращения (к некоторому модулю основной памяти) и поскольку каналам и процессору может одновременно потребоваться обращение к основной памяти, в обычном случае приоритет здесь предоставляется каналам. Это называется захватом цикла памяти; канал буквально захватывает, или «крадет» циклы обращения к памяти у процессора. Каналам требуется лишь небольшой процент общего числа циклов памяти, а предоставление им приоритета в этом смысле позволяет обеспечить лучшее использование устройств ввода-вывода. Подобный подход принят и в современных операционных системах; планировщики, входящие в состав операционной системы, как правило, отдают приоритет программам с большим объемом ввода-вывода по отношению к программам с большим объемом вычислений.

Страницы: 1, 2, 3, 4


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.