- •Принстонская (фон Неймановская) архитектура
- •Учебная машина ум-3
- •Память ум-3
- •Проблема начальной загрузки программы
- •Пример программы для учебной машины
- •Логические основы эвм. Реализация арифметических и логических операций в эвм
- •Операция исключающее «или»
- •Алгоритм построения сднф по таблице истинности
- •Алгоритм построения скнф по таблице истинности
- •Полусумматор и сумматор
- •Полный сумматор
- •Каскадный сумматор
- •Триггер как элемент памяти. Схема rs-триггера
Основы информатики.
Лк 10. Модельная ЭВМ и логические основы ЭВМ Основы информатики
Структура ЭВМ (схема, устройства ввода и вывода, внутренняя и внешняя память, центральный процессор). Оперативная память (ячейки, адреса ячеек, размер ячеек). Машинная программа (смысл и формат трехадресных команд, система команд). Пример машинной программы
Содержание
Принстонская (фон Неймановская) архитектура 1
Учебная машина УМ-3 2
Память УМ-3 2
Схема выполнения команд 3
АЛУ УМ-3 4
Проблема начальной загрузки программы 4
Пример программы для учебной машины 5
Логические основы ЭВМ. Реализация арифметических и логических операций в ЭВМ 8
Операция исключающее «ИЛИ» 9
Алгоритм построения СДНФ по таблице истинности 10
Алгоритм построения СКНФ по таблице истинности 10
Полусумматор и сумматор 11
Полный сумматор 12
Каскадный сумматор 13
Триггер как элемент памяти. Схема RS-триггера 14
И набор команд http://cmcmsu.no-ip.info/1course/um3.command.set.htm
Принстонская (фон Неймановская) архитектура
Основная компоновка частей компьютера и связь между ними называется архитектурой. При описании архитектуры компьютера определяется состав входящих в него компонент, принципы их взаимодействия, а также их функции и характеристики. Наиболее известна фон Неймановская архитектура.
Ц
ентральное
арифметико-логическое устройство
(АЛУ).Центральное устройство управления (УУ).
Запоминающее устройство (ЗУ, память).
Устройство ввода данных.
Устройство вывода данных.
Кроме того, фон Нейман зафиксировал следующие положения:
ВС должна быть электронным устройством.
ВС должна работать с двоичными числами.
ВС должна выполнять операции последовательно.
Программа выполнения этих операций должна храниться в памяти ВС совместно с данными (принцип однородности памяти).
Выше перечисленные положения стали называть принципами фон Неймана. Следует понимать, что фон Нейман не придумал их, а систематизировал и обобщил то, что было создано и придумано инженерами и учёными до него. Поскольку первые ВС в основном использовались для вычислений, их стали называть компьютерами (computer -вычислитель, тот, кто считает), в СССР использовался термин ЭВМ. Принципы фон Неймана стали общепринятыми, но не единственно возможными принципами создания компьютера. Например, нарушение четвертого принципа приводит к так называемой Гарвардской архитектуре1. Ее отличительным признаком является раздельное хранение и обработка команд и данных.
Более полное представление об архитектуре можно почерпнуть из книги В.Г. Баула «Введение в архитектуру ЭВМ и системы программирования».
Учебная машина ум-3
Используя принципы Фон Неймана в качестве базовых, начнём конструировать учебную ЭВМ. Назовем эту машину УМ-3, смысл этого названия – учебная машина трёхадресная. УМ-3 будет удовлетворять всем принципам Фон Неймана.
Для построения конкретной ЭВМ необходимо строго определить, как будет устроена память этой машины, задать набор машинных команд, описать устройство центрального процессора, определить правила взаимодействия с "внешним миром" (возможности ввода/вывода) и т.д.
Память ум-3
Память УМ-3 будет состоять из 512 ячеек, имеющих адреса от 0 до 511. Каждая ячейка состоит из 32 двоичных разрядов. По современным понятиям это очень маленькая память (всего 2 Kb). Записанное в ячейке машинное слово может рассматриваться как одно целое или вещественное число или как одна команда. Машинное слово, трактуемое как команда, будет разбиваться на четыре поля, и представляться в следующей форме:
КОП |
A1 |
A2 |
A3 |
5 разрядов |
9 разрядов |
9 разрядов |
9 разрядов |
Номера ячеек, кодов операций и адресов операндов будем для удобства записывать в десятичном виде, хотя первые программисты использовали для этого восьмеричную или шестнадцатеричную системы счисления. Первое поле с именем КОП (Код ОПерации) содержит число от 0 до 31. Это число задаёт номер (код) операции машинной команды, а поля с именами A1, A2 и A3 задают адреса операндов (это целые числа от 0 до 511). Таким образом, в каждой команде могут задаваться адреса двух аргументов (это A2 и A3)и адрес результата операции A1.
Определим далее, какие регистры находятся в устройстве управления:
РA – регистр, называемый счётчиком адреса, он имеет 9 разрядов и после выполнения текущей команды будет содержать адрес команды, которая должна будет выполняться следующей;
РK – регистр команд имеет 32 разряда и содержит текущую выполняемую команду, которая, как мы определили, содержит код операции КОП и адреса операндов A1, A2 и A3;
w – регистр длиной два бита, его название произносится как "омега" (его ещё называют регистр-признак результата). В этот регистр после выполнения некоторых команд (в УМ-3 это будут арифметические команды сложения, вычитания, умножения и деления) записывается число от 0 до 2 по следующему правилу (s – числовой результат арифметической операции, полученной на регистре-сумматоре АЛУ):
Err – регистр ошибки, содержащий нуль в случае успешного выполнения очередной команды и единицу в противном случае.
Схема выполнения команд
Кроме того, надо задать все команды учебной машины УМ-3. Множество всех таких команд называется, как мы уже говорили, языком машины. С полной системой познакомимся на практических занятиях. Рассмотрим схему работы центрального процессора. В соответствии с принципом Фон Неймана последовательного выполнения команд, центральный процессор выполняет одну команду за другой, пока не выполнит команду СТОП или же пока очередная команда не зафиксирует при своём выполнении аварийную ситуацию, установив в единицу регистр Err в устройстве управления нашей машины. Выполнение всей программы мы для наглядности запишем в виде цикла языка Паскаль, причём тело этого цикла соответствует выполнению одной команды:
repeat
РK := <РА>; {чтение очередной команды из ячейки памяти с адресом РA на регистр команд РK в устройстве управления.}
РА := РА + 1; {увеличение счётчика адреса на единицу, чтобы следующая команда (если текущая команда не является командой перехода) выполнялась из следующей ячейки памяти.}
{Выполнение операции, заданной в коде операции (КОП) в АЛУ; при несуществующем коде операции или других ошибках при выполнении команды (например, делении на ноль) выполнение команды прекращается и производится присваивание Err := 1.}
until (Err=1) or (КОП=СТОП)
АЛУ УМ-3
Уточним теперь работу арифметико-логического устройства УМ-3. Все бинарные операции (т.е. те, которые имеют два аргумента и один результат) выполняются в АЛУ нашей учебной машины по схеме:
<A1>:=<A2><A3>
( – любая бинарная операция). Для реализации таких операций в арифметико-логическом устройстве предусмотрены регистры первого (R1) и второго (R2) операндов, а также регистр сумматора (S), на котором размещается результат операции. Таким образом, как и в машине Фон Неймана, АЛУ, подчиняясь управляющим сигналам со стороны УУ, выполняет бинарную операцию по схеме
R1 := <A2>; R2 := <A3>; S := R1⊗R2; <A1> := S;
Формирование регистра w для арифметических операций
