lekcii2 (Лекции), страница 5

DJVU-файл lekcii2 (Лекции), страница 5 Информатика (113): Лекции - 1 семестрlekcii2 (Лекции) - DJVU, страница 5 (113) - СтудИзба2013-09-14СтудИзба

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

DJVU-файл из архива "Лекции", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "информатика" в общих файлах.

Просмотр DJVU-файла онлайн

Распознанный текст из DJVU-файла, 5 - страница

Абсолютная вычислимость в машине фон Неймана заменена частичной. Вычислимым по фон Нейману считается все то, что может быть получено за прил млемое время на доступных ресурсах памяти и, весьма часто, в пределах ограниченного бю,чжета имек>щихся средств. В настоящее время ълашина фон Неймана уже не имеет чисто аппаратных ассоциаций. Она чаще всего предоставляется программисту в виде многослойной надстройки 118 программных средств ~22~, последним из которых является языковый пропессор высокого уровня. 119 Глава 3 Концепция языка программирования для машины фон Неймана Лекция 16 3.1 Элементы дейкстровской нотации 3.1.1 Требования к структуре программ для машины фон Нейма- на Машина фон Неймана состоит из управляющего устройства, включающего управляющую нрограмллу и микропрглрамгиы операций машины, памяти и регистров.

Для обеспечения работы машины фон Неймана необходимо поместить в ее память следующие объекты: программу, таблицу имен и все данные, которые должна обработать программа. Каждый об ьект размещается в одной или нескольких ячейках памяти и, следова.е.ьноо, связывается с определенными адресами памяти. Мы сконструировали память машины фон Неймана как хранилище произвольных слов без какой-либо интерпретации. Это означает, что ответственность за правильное использование слов лежит па программисте. Именно он должен позаботиться о том, чтобы слова с программой и с данными не были бы перепутаны, т, е. чтобы данные ошибочно нс трактовались как программа, и наоборот.

также необходимо следить за правильной интерпретацией слов данных. Слово, содержаьцее целую единицу, при непосредственном выводе не даст изображения единицы (знак '1'). В соответствии с одним из принципов фон Неймана, программа и данные помещаются в одном и том жс устройстве памяти. И только на регистрах процессора слова с командами программы и данными существенно различаются. Этот принцип позволил упростить конструкцию первых ЭВМ и был назван принстонской архитектурой по названию университета, где работал фон Нейман, Кроме простоты реализации принстонская архитектура позволила немедленно выполнять только что сгенерированнук> в памяти программу, которая еще мгновение назад была выходными данными другой программы, облегчив тем самым построение операционных систем, систем программирования и отладчиков.

Недостатком принстонской архитектуры является ее небезонасность, поскольку этими же возкюжностями могут воспользоваться вирусы, трояны и прочие программные паразиты. Альтернативная гарвардская архитектура, основана на раздельной реализации памяти для 120 прОГрамм и памяти для даннеях., что пОВышае'1' безОпаснОсть ценОй дополнитсле~ных (ЕИ- паратурных затрат. Таблица имен, программа и данные могут быль записаны в виде, непосредственно переносимом в память машины. При этом все заботы об установлении соответствия между именами и адресами, размещении да,нных в памяти, определении начальных значений некоторых данных полностьн> ложатся на программиста. Процесс составления таблицы имен и размещения данных в памяти маслины может быть автоматизирован.

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

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

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

Кроме того, некоторые компиляторы автоматически инициализируют память, выделяемую переменным, нулями, пробелами или шрами, Инструкции ввода данных могут, в принципе, содержаться в лн>бом месте текста, программы. Однако важно, чтобы определение нача>>ьен~>х значений объектов логически предшествовало их использованию для получения значений друтих объектов. В противном случас( вес вычисления, послс>довавшие за употреблением неопрсделенного значения, будут некорректными и, следовательно., нс должны выполняться.

Рассмотрим средства описания объектов программы и с>пределсния начальных значений нс которых из них. Языки программирования Паскаль и Си требун>т обязательного описания всех объектов, кроме предопределенных. ~аг 1, 1, 1(: 1ПФедег; Языки Бейсик и Фортран с самого начала были ориентированы на употребление неописанных скалярных объектов; процессор для обработки таких обьектов выбирался компилятором исходя из контекста или по умолчанию (правило первой буквы). Одним из способов задания начальных значений обьектов является их инициализация непосредственно в тексте программы самоопределенпыми термами словами, изображающими конкретные зна (ения, допустимые соответствующими процессорами.

121 сопв$ 1п$1 -- О, 1 О, 1~ 0; сопв$1 0; 1 --0; 1с 0; или 1п$1 0,) О, 1с О; айаг 1, .1, .1с: 1пФекег; 0; о; 1с:-- 0; Вспомним также, что данные в памяти машины фон Неймана непосредственно недоступныы восп1п1ятию ~еловском (та.кое представление будем для к1заткости пазы~ать вя ршренним). Для непосредствонного использования данных необходимо преобразовать их во свис'шнсе вредставлеяие.

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

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

В данном разделе мы рассмотрим простые программы, которые в своем большинстве име1от структуру, представленную на следующей схеме. 122 Символы НАЧАЛО и КОПЕЦ указывают начало и конец текста программы и границы действия описаний и обьектов. 3.1.2 Обобщенная инструкция присваивания Согласно одному из принципов фон Неймана вычислительная машина должна осуществлять покомандную обработку данных. Операнды каждой команды вызываются на регистры из памяти., после чего эта команда выполняет необходимое действие пад ними, оставляя результат также на регистрах. Для сохранения результата он должен быть скопирован в память, поскольку регистры требуются для следующей команды.

Поэтому программная версия машины фон Неймана должна содержать аналог цепочки «загрузка операндов выполнение команды сохранение результата». В любом языке программирования фон Неймановского типа основной элементарной инструкписй обработки данных является инст1Екйил. трнсооинпнпя.. .которая и является таким аналогом. Инструкция присваива; ния имеет вид Х: — А; где символ: = является знаком присваивания: Х обозначает имя объекта (простой, ипдексированной или квалифицированной переменной, либо, иногда, массива), а выражение, задающее последовательность действий над операндами. В языке Си все, что может стоять в леьой части приваивапия, называется Ьи1не. В простейшем случае, когда Х и А простые переменные или константы, действие инструкции присваивания сводится к перезагрузке значения переменной А в переменную Х через регистр.

В явном виде это выражается так Х:= АДР(РИМ(АЯ что имеет следующий императивный смысл: сделать адрес объекта с именем Х адресом значения обьекта А. Графически выполнение инструкции присваивания в этом случае можно изобразить так (здесь и далее на схемах запись Х означает имя объекта, а запись <Х> -- значение объекта с именем Х): ПАМЯТЬ РКГИСтРЫ Значение <А> переменной с именем А из памяти машины сначала переносится (копируется) на свободный регистр, а затем с регистра копируется в ячейку памяти, сопоставленную с именем Х. Переменная А должна иметь определенное значение; применение функции РИМ к неопределенному значению ь должно приводить к отказу машины (исключительной ситуации выполнения программы~.

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

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

Рассмотрим более общий случай инструкции п1п1сваивания, когда А — выражение. Если это выражение содержит одну операция> машины фон Неймана с необходимыми операндами, то инструкция присваивания в точности повторяет вышеописанный порядок выполсния одиночной машинной операции. Н программных версиях ма|пины фон Неймана обычно позволяется строить более сложные, аналогичные математическим, выраэкения. Эти выражения содержат целые последовательности операций и, как правило, снабжены скобочными структурами. Пусть, например, выражение в правой части имеет вид В э С + В и Х вЂ” - имя объекта, получающего значение результата вычисления выражения.

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