3_Учебная машина (В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования)

PDF-файл 3_Учебная машина (В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования) Практика расчётов на ПЭВМ (37032): Книга - 1 семестр3_Учебная машина (В.Г. Баула - Введение в архитектуру ЭВМ и системы программирования) - PDF (37032) - СтудИзба2019-04-28СтудИзба

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

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

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

Текст из PDF

Глава 3. Учебная машинаВ этой главе, используя принципы Фон Неймана в качестве базовых, мы начнём конструироватьсвою собственную учебную ЭВМ. Для изучения особенностей архитектуры ЭВМ нам понадобятсянесколько различных учебных машин, но одну из них, однако, мы изучим более подробно, чтобыиметь возможность писать для неё простые полные программы на языке машины.

Будем называтьэту машину УМ-3, смысл этого названия – учебная машина трёхадресная. УМ-3 будет удовлетворятьвсем принципам Фон Неймана.Для построения конкретной ЭВМ нам необходимо строго определить, как будет устроена памятьэтой машины, задать набор машинных команд, описать устройство центрального процессора, определить правила взаимодействия с "внешним миром" (возможности ввода/вывода) и т.д.Сначала скажем, как будет устроена основная память нашей машины.

Память учебной машиныбудет состоять из 512 ячеек, имеющих адреса от 0 до 511. Каждая ячейка состоит из 32 двоичныхразрядов. По современным понятиям это очень маленькая память (всего 2 Kb). Записанное в ячейкемашинное слово может трактоваться (рассматриваться) как одно целое или вещественное число иликак одна команда. Машинное слово, трактуемое как команда, будет разбиваться на четыре поля ипредставляться в следующей форме:КОП5 разрядовA19 разрядовA29 разрядовA39 разрядовНомера ячеек, кодов операций и адресов операндов будем для нашего удобства записывать в десятичном виде, хотя первые программисты использовали для этого восьмеричную или шестнадцатеричную системы счисления. Первое поле с именем КОП содержит число от 0 до 31.

Это число задаётномер (код) операции машинной команды, а поля с именами A1, A2 и A3 задают адреса операндов(это целые числа от 0 до 511). Таким образом, в каждой команде могут задаваться адреса двух аргументов (это A2 и A3)и адрес результата операции A1.Определим далее, какие регистры находятся в устройстве управления: RA – регистр, называемый счётчиком адреса, он имеет 9 разрядов и после выполнения текущей команды будет содержать адрес команды, которая должна будет выполняться следующей; RK – регистр команд имеет 32 разряда и содержит текущую выполняемую команду, которая,как мы определили, содержит код операции КОП и адреса операндов A1, A2 и A3; w – регистр длиной два бита, его название произносится как "омега" (его ещё называют регистр-признак результата).

В этот регистр после выполнения некоторых команд (у нас этобудут арифметические команды сложения, вычитания, умножения и деления) записываетсячисло от 0 до 2 по следующему правилу (S – числовой результат арифметической операции,полученной на регистре-сумматоре АЛУ): 0, S = 0w :=  1, S < 0 2, S > 0 Err – регистр ошибки, содержащий нуль в случае успешного выполнения очередной команды и единицу в противном случае.В таблице 3.1 приведёны все команды учебной машины УМ-3.

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

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

Все команды условных переходов, кроме команда с мнемоникойУСЛ, также являются избыточными. Можно сказать, что при разработке архитектуры нашей учебноймашины мы отдали некоторое предпочтение удобству программирования в ущерб экономии элек-2тронных схем центрального процессора. В то же время мы не пошли по этому пути дальше, например, не стали вводить в язык машины команду вычисления абсолютной величины или квадратногокорня (такие команды часто реализовывались в ЭВМ первого поколения).Таблица 3.1. Команды учебной машины УМ-3КОП01110212031304141500103009192021222324253106071617Смысл операции и её мнемоническое обозначениеСЛВ – сложение вещественных чиселСЛЦ – сложение целых чиселВЧВ – вычитание вещественных чиселВЧЦ – вычитание целых чиселУМВ – умножение вещественных чиселУМЦ – умножение целых чиселДЕВ – деление вещественных чиселДЕЦ – деление целых чисел (то же, что и div в Паскале)МОД – остаток от деления (то же, что и mod в Паскале)ПЕР – пересылка: <A1>:=<A3>ЦЕЛ – вещественное в целое: <A1>:=Round(<A3>)ВЕЩ – целое в вещественное: <A1>:=Real(<A3>)БЕЗ – безусловный переход: goto A2, т.е.

RA:=A2УСЛ – условный переход:Case w of 0: goto A1; 1: goto A2; 2: goto A3 endПР – переход по S = 0: if w=0 then goto A2ПНР – переход по S <> 0: if w<>0 then goto A2ПБ – переход по S > 0: if w=2 then goto A2ПМ – переход по S < 0: if w=1 then goto A2ПБР – переход по S >= 0: if w in [0,2] then goto A2ПМР – переход по S <= 0: if w<2 then goto A2СТОП – остановка выполнения программыВВВ – ввод A2 вещественных чисел в память, начиная с адреса A1for i:=1 to А2 do Readln(<А1+i-1>)ВЫВ – вывод A2 вещественных чисел, начиная с адреса A1for i:=1 to А2 do Writeln(<А1+i-1>)ВВЦ – ввод массива целых чисел, аналогично ВВВВЫЦ – вывод массива целых чисел, аналогично ВЫВ3.1. Схема выполнения командРассмотрим теперь схему работы центрального процессора.

В соответствие с принципом ФонНеймана последовательного выполнения команд, центральный процессор выполняет одну командуза другой, пока не выполнит команду СТОП или же пока очередная команда не зафиксирует присвоём выполнении аварийную ситуацию, установив в единице регистр Err в устройстве управлениянашей машины. Выполнение всей программы мы для наглядности запишем в виде цикла языка Паскаль, причём тело этого цикла соответствует выполнению одной команды:repeat1. RK := <RА>; чтение очередной команды из ячейки памяти с адресом RA на регистр команд RK в устройстве управления.2. RА := RА + 1; увеличение счётчика адреса на единицу, чтобы следующая команда (еслитекушая команда не является командой перехода) выполнялась из следующей ячейки памяти.3.

Выполнение операции, заданной в коде операции (КОП) в АЛУ. При несуществующем коде операции или других ошибках при выполнении команды (например, делении на ноль)выполнение команды прекращается и производится присваивание Err := 1.until (Err=1) or (КОП=СТОП)3Уточним теперь работу арифметико-логического устройства в нашей УМ-3. Все бинарные операции (т.е. те, которые имеют два аргумента и один результат) выполняются в АЛУ нашей учебноймашины по схеме: <A1>:=<A2><A3> ( – любая бинарная операция).

Для реализации таких операций в арифметико-логическом устройстве предусмотрены регистры первого (R1) и второго (R2) операндов, а также регистр сумматора (S), на котором размещается результат операции. Таким образом,как и в машине Фон Неймана, АЛУ, подчиняясь управляющим сигналам со стороны УУ, выполняетбинарную операцию по схемеR1 := <A2>; R2 := <A3>; S := R1R2; <A1> := S;Формирование регистра w для арифметических операцийТеперь нам осталось определить условие начала работы программы.

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

Чтобы разорвать этот замкнутый круг, в современных ЭВМ обычно часть памяти отводятдля постоянного хранения специальной небольшой программы, которая называется программой начальной загрузки. Эта программа начинает автоматически выполняться при включении ЭВМ.1 Память, занимаемая программой начальной загрузки, недоступна для записи, такую память, как мы ужеговорили, обычно обозначают английской аббревиатурой ROM – Read Only Memory. Ясно, что наличие программы начальной загрузки нарушает принцип Фон Неймана однородности памяти.В учебной ЭВМ мы не сможем пойти по этому пути загрузки программы по двум причинам. Вопервых, наша память и так очень маленькая, и отводить часть её для постоянного хранения программы начальной загрузки нерационально, а, во-вторых, мы не хотим отступать от принципа Фон Неймана однородности памяти.

В УМ-3 первичной загрузкой программы в память и формированием начальных значений регистров в устройстве управления занимается устройство ввода. Для этого наустройстве ввода имеется специальная кнопка ПУСК ( ). При нажатии этой кнопки устройство ввода самостоятельно (без сигналов со стороны устройства управления, которое ещё нефункционирует) выполняет следующую последовательность действий:1.Производит ввод расположенного на устройстве ввода массива машинных слов в память,начиная с первой ячейки; этот массив машинных слов заканчивается специальным признаком конца ввода.22.RА := 1; первой будет выполняться команда из ячейки а номером один.3.w := 0; начальное значение признака результата нулевое.4.Err := 0; признак ошибки сбрасывается (устанавливается равным false).Как видим, при нажатии кнопки ПУСК устройство ввода выполняет функции упомянутой вышепрограммы начальной загрузки современных ЭВМ.

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

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