Главная » Все файлы » Просмотр файлов из архивов » Документы » В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования

В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования (В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования.doc), страница 37

2019-04-28СтудИзба

Описание файла

Документ из архива "В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования.doc", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 1 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Онлайн просмотр документа "В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования"

Текст 37 страницы из документа "В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования"

59 Точнее, как мы уже говорили, ищется объектный модуль, в котором расположена эта процедура.

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

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

62 Макросредства могут использоваться также и в формальных языках, не являющихся языками программирования, но этот вопрос далеко выходит за рамки нашего курса.

63 В наших программах мы выделяли имена макрокоманд жирным шрифтом (finish,inint и т.д.), хотя это, конечно, не совсем правильно, так как это не служебные слова Макроасемблера.

64 Если у макрокоманды есть метка, то считается, что эта метка задаёт отдельное предложение Ассемблера, состоящее только из данной метки. Другими словами, макрокоманда с меткой:

<метка>[:]<имя макрокоманды> [<список фактических параметров>]

эквивалентна двум таким предложения Ассемблера:

<метка>[:]

<имя макрокоманды> [<список фактических параметров>]

65 Это несколько упрощённое описание действий Макропроцессора при передаче параметров, позже мы сделаем существенные уточнения.

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

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

68 Вообще говоря, во время компиляции стандартный вывод stdout должен быть связан с файлом листинга, а стандартный вывод об ошибках stderr – с экраном дисплея. Однако некоторые Ассемблеры (и среди них, к сожалению, MASM-4.0) могут во время компиляции связывать стандартный вывод stdout тоже с экраном, а вывод в листинг производить путём указания имени конкретного файла. В этом случае диагностика, заданная директивой %out в макрорасширение (и в листинг) не попадёт, а будет дважды выведена на экран.

69 Заметим, что в языках высокого уровня обычно есть далеко не все из рассматриваемых нами макросредств.

70 Для простоты наше макроопределение никогда не задаёт второй параметр макрокоманды outint – ширину поля для вывода целого числа.

71 В стандарте Паскаля можно попытаться сделать элементы массива записями с вариантами, в Турбо-Паскале – использовать так называемые безтиповые массивы. Однако во всех этих случаях, даже если не принимать во внимание отсутствие контроля и понижение надёжности программы, нам придётся передавать в функцию дополнительный параметр, задающий тип элемента массива, а внутри функции будет по-существу находиться оператор case, разветвляющий вычисление по разным типам данных. Не спасают здесь положение и объектно-ориентированные языки, всё равно придётся реализовать в программе несколько функций с одинаковым именем, компилятор лишь автоматически выберет одну из них, соответствующую типу элементов массива, переданного как фактический параметр.

72 Тот факт, что короткие алгоритмы иногда выгоднее реализовывать не в виде процедур и функций, а в виде макроопределений, нашёл отражение и при разработке языков высокого уровня. Так, в некоторых языках высокого уровня, существуют так называемые встраиваемые (inline) процедуры и функции, вызов которых во многом производится по тем же правилам, что и вызов макроопределений.

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

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

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

76 В архитектуре нашего компьютера регистр режима работы содержит два разряда и может принимать значения 0,1,2 и 3. Практически всегда, однако, используются только два из этих четырёх значений (0 и 3).

77 Способы задания таких полномочий Вы будете изучать в следующем семестре на примере операционной системы Unix.

78 Конечно, существуют привилегированные команды для работы с кэшем как с единым целым, это, например, команда очистки кэша от всех команд и данных.

79 Как видно из этого алгоритма работы кэша, от весьма "болезненно" реагирует на прерывания, так как при этом производится переключение на другую программу, и данные в кэше необходимо полностью сменить.

80 За одно обращение из памяти теперь читается не одна команда, а в среднем две последовательные команды, поэтому можно считать, что среднее время выполнения команды будет ещё меньше: 1+2+2=5 нс.

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

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

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

84 Предполагается, что компьютер работает в простейшем (как говорят, незащищённом) режиме.

85 Мы рассматриваем, естественно, работу дисплея только в стандартном текстовом режиме.

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

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

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5209
Авторов
на СтудИзбе
430
Средний доход
с одного платного файла
Обучение Подробнее