Главная » Просмотр файлов » Лекции Баулы

Лекции Баулы (1110628), страница 2

Файл №1110628 Лекции Баулы (Лекции Баулы) 2 страницаЛекции Баулы (1110628) страница 22019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

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

Устройство Управления

Как ясно из самого названия, устройство управления (УУ) управляет всеми остальными устройствами ЭВМ. Оно осуществляет это путём посылки управляющих сигналов, подчиняясь которым остальные устройства производят определённые действия, предписанные этими сигналами. Это устройство является единственным, от которого на рис. 1 отходят тонкие стрелки. Остальные устройства могут командовать только памятью, делая ей запросы на чтение и запись машинных слов.

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

Принцип последовательного выполнения команд. Устройство управления выполняет некоторую команду от начала до конца, а затем по определённому правилу выбирает следующую команду для выполнения, затем следующую и т.д. Этот процесс продолжается, пока не будет выполнена специальная команда останова, либо при выполнении очередной команды не возникнет аварийная ситуация (например, деление на ноль). Аварийная ситуация – это аналог безрезультативного останова алгоритма.

Арифметико–Логическое Устройство

В архитектуре машины фон-Неймана арифметико-логическое устройство (АЛУ) может выполнить следующие действия.

  1. Считать содержимое некоторой ячейки памяти – поместить копию машинного слова из этой ячейки в память АЛУ, называемую регистровой памятью или просто регистрами.

  2. Записать в некоторую ячейку памяти – поместить копию содержимого регистра АЛУ в ячейку памяти.

Когда не имеет значения, какую операцию производит АЛУ, говорят, что происходит обмен (машинным словом между регистром и памятью).

АЛУ может также выполнять операции над данными в своих регистрах – например, сложить содержимое двух регистров (обычно называемых регистрами первого R1 и второго R2 операндов) и поместить результат на третий регистр (называемый, как правило, сумматором S).

Взаимодействие УУ и АЛУ

Революционность идей фон Неймана заключалась в специализации: каждое устройство отвечает за выполнение только своих функций. Если раньше, например, память не только хранила данные, но и могла производить операции над ними, то теперь было предложено, чтобы память только хранила данные, АЛУ производило арифметико-логические операции над ними, устройство ввода только вводило данные из внешнего мира в память и т.д. Фон-Нейман распределил функции между различными устройствами, что существенно упростило схему машины.

Устройство управления тоже имеет свои регистры, оно может считывать команды из памяти на специальный регистр команд (RK), на котором всегда хранится текущая выполняемая команда. Регистр УУ с именем RA называется счётчиком адреса, он всегда содержит адрес следующей команды. Рассмотрим, например, операцию сложения двух чисел z:=x+y (здесь x, y и z – адреса ячеек памяти, в которых хранятся, соответственно, операнды и результат сложения). При получении такой команды УУ последовательно посылает управляющие сигналы в АЛУ, предписывая ему сначала считать операнды x и y из памяти и поместить их на регистры R1 и R2. Затем по следующему управляющему сигналу АЛУ производит операцию сложения чисел на регистрах R1 и R2 и записывает результат на регистр S. По следующему управляющему сигналу АЛУ пересылает копию регистра S в ячейку памяти с адресом z. Ниже приведена иллюстрация описанного примера на языке Паскаль, где R1, R2 и S – регистры АЛУ, ПАМ – массив, условно обозначающий память ЭВМ, а  – операция (в нашем случае это сложение, т.е.  = +).

R1:=ПАМ[x];

R2:=ПАМ[y];

S:=R1R2;

ПАМ[z]:=S;

В дальнейшем конструкция ПАМ[А] для краткости будет обозначаться как <А>, тогда наш пример перепишется так:

R1:=<x>; R2:=<y>; S:=R1R2; <z>:=S;

Опишем теперь более формально шаги выполнения одной команды в машине фон Неймана:

RK:=<RA>; считать из памяти очередную команду на регистр команд;

RA:=RA+1; увеличить счётчик адреса на единицу;

Выполнить очередную команду.

Затем выполняется следующая команда и т.д.

Итак, если машинное слово попадает на регистр команд, то оно интерпретируется УУ как команда, а если слово попадает в АЛУ, то оно по определению считается числом. Это позволяет, например, складывать команды программы как числа, либо выполнить некоторое число как команду. Разумеется, обычно такая ситуация является семантической ошибкой, если только специально не предусмотрена программистом для каких-то целей (мы будем оперировать с командами, как с числами, в нашей учебной машине).

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

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

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

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

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

Все современные ЭВМ состоит из некоторых элементарных конструктивных элементов, называемых вентилями. Каждый вентиль реализует одну из логических операций, у него есть один или два входа и один выход. На входах и выходе могут быть электрические сигналы двух видов: низкое напряжения (трактуется как ноль или логическое значение false) и высокое (ему соответствует единица или логическое значение true). Основные вентили следующие.

  1. Отрицание, это вентиль имеет один вход и один выход, если на входе значение true, то на выходе значение false и наоборот. Будем изображать этот вентиль так:

  1. Дизъюнкция или логическое сложение, реализует хорошо известную Вам операцию Паскаля or, будем изображать его как

  2. И, наконец, конъюнкция или логическое умножение, изображаемое как

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

Из вентилей строятся интегральные схемы – это набор вентилей, соединённых проводами и такими радиотехническими элементами, как сопротивления, конденсаторы и индуктивности. Каждая интегральная схема тоже имеет свои входы и выходы и реализует какую-нибудь функцию узла компьютера. В специальной литературе интегральные схемы, которые содержат порядка 1000 вентилей, называются малыми интегральными схемами (МИС), порядка 10000 вентилей – средними (СИС), порядка 100000 – большими (БИС) и более 100000 вентилей – сверхбольшими интегральными схемами (СБИС). Большинство современных интегральных схем собираются на одной небольшой прямоугольной пластинке полупроводника с размерами порядка сантиметра. Под микроскопом такая пластинка СБИС похожа на план большого города.

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

В качестве примера рассмотрим интегральную схему, которая реализует функцию сложение двух одноразрядных двоичных чисел. Входными данными этой схемы являются значения переменных x и y, а результатом – их сумма, которая в общем виде является двухразрядным числом (обозначим разряды этого числа как a и b), формирующиеся как результат сложения x+y. Запишем таблицу истинности для этой функции от двух переменных:

x

y

b

a

0

0

0

0

0

1

0

1

1

0

0

1

1

1

1

0

Легко вычислить, что величины a и b будут определяться формулами:

а = x<>y =(x or y) and not(x and y)

b = x and y

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

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

Учебная машина

Рассмотрим конкретизацию абстрактной машины фон-Неймана на примере учебной машины, которую будем называть УМ–3 (смысл этого названия – учебная трёхадресная машина). Память этой машины состоит из 512 ячеек, имеющих адреса от 0 до 511, по 32 двоичных разряда каждая. В каждой ячейке может быть записано целое или вещественное число (представляются по-разному) или команда. Команда в ячейке будет представляться в следующей форме:

КОП

A1

A2

A3

5 разрядов

9 разрядов

9 разрядов

9 разрядов

Здесь КОП – это число от 0 до 31, которое задаёт номер операции, а A1, A2 и A3 – адреса операндов. Таким образом, в каждой команде задаются адреса аргументов (это A2 и A3)и адрес результата операции A1. Конкретизируем регистры устройства управления:

  • RA – регистр, называемый счётчиком адреса, он имеет 9 разрядов и хранит адрес команды, которая будет выполняться вслед за текущей командой;

  • RK – регистр команд имеет 32 разряда и содержит текущую выполняемую команду (код операции КОП и адреса операндов A1, A2 и A3);

  • w – регистр «омега», в который после выполнения некоторых команд (у нас это будут арифметические команды сложения, вычитания, умножения и деления) записывается число от 0 до 2 по правилу (S – результат арифметической операции):

  • Err – регистр ошибки, содержащий нуль в случае успешного выполнения очередной команды и единицу в противном случае.

Ниже приведена таблица команд учебной машины УМ–3. Все бинарные операции (т.е. те, которые имеют два аргумента и один результат) выполняются по схеме: <A1>:=<A2><A3> ( – операция).

КОП

Операция и её мнемоническое обозначение

01

СЛВ – сложение вещественных чисел

11

СЛЦ – сложение целых чисел

02

ВЧВ – вычитание вещественных чисел

12

ВЧЦ – вычитание целых чисел

03

УМВ – умножение вещественных чисел

13

УМЦ – умножение целых чисел

04

ДЕВ – деление вещественных чисел

14

ДЕЦ – деление целых чисел (то же, что и div в Паскале)

24

МОД – остаток от деления (то же, что и mod в Паскале)

00

ПЕР – пересылка: <A1>:=<A3>

10

ЦЕЛ – вещественное в целое: <A1>:=Round(<A3>)

20

ВЕЩ – целое в вещественное: <A1>:=Real(<A3>)

09

БЕЗ – безусловный переход: goto A2, или RA:=A2

19

УСЛ – условный переход:

case w of 0: goto A1; 1: goto A2; 2: goto A3 end

31

СТОП ­– остановка выполнения программы

05

ВВВ – ввод A2 вещественных чисел в память, начиная с адреса A1

15

ВЫВ – вывод вещественных чисел, аналогично ВВВ

06

ВВЦ – ввод целых чисел, аналогично ВВВ

16

ВЫЦ – вывод целых чисел, аналогично ВВВ

Схема выполнения команд

  1. RK := <RА>; чтение очередной команды на регистр команд УУ

  2. RА := RА + 1;

  3. КОП — выполнение операции (при ошибочном КОП Err := 1);

  4. if (Err=0) and (КОП<>СТОП) then goto 1

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

  1. Производится ввод расположенного на устройстве ввода массива машинных слов в память, начиная с первой ячейки;

  2. RА := 1;

  3. w := 0;

  4. Err := 0

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

Характеристики

Тип файла
Документ
Размер
632,5 Kb
Материал
Тип материала
Высшее учебное заведение

Список файлов лекций

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