- •Организация вычислительных систем и сетей
- •Содержание
- •Введение
- •Лабораторная работа №1 Исследование логических и запоминающих элементов
- •Краткие теоретические сведения
- •Задание
- •Порядок выполнения работы
- •Перечень устройств для синтеза комбинационной логической схемы
- •Контрольные вопросы
- •2. Счетчики
- •Контрольные вопросы
- •Лабораторная работа №3 Арифметические основы работы микропроцессора и межсистемные преобразования числовых данных
- •Краткие теоретические сведения
- •Задание
- •Контрольные вопросы
- •Лабораторная работа №4 Архитектура команд процессора
- •Краткие теоретические сведения
- •1. Разработка детализированного алгоритма
- •2. Распределение памяти.
- •Разработка детализированного алгоритма.
- •Распределение памяти.
- •Задание
- •Порядок выполнения
- •Контрольные вопросы
- •Требования к оформлению отчета
- •Правила техники безопасности
- •Список использованной литературы
1. Разработка детализированного алгоритма
№ опер. |
Вид операции |
1-ый операнд |
2-ой операнд |
Результат операций |
1 |
* |
B |
x |
P1=bx |
2 |
+ |
P1 |
c |
P2= Bx+c |
3 |
* |
X |
x |
P3=x2 |
4 |
* |
A |
P3 |
P4=ax2 |
5 |
* |
P4 |
P2 |
P5=ax2(bx+c) |
6 |
* |
C |
x |
P6=cx |
7 |
- |
P6 |
d |
P7=cx-d |
8 |
/ |
P5 |
P7 |
Y |
2. Распределение памяти.
Будем исходить из того, что распределяемая память имеет ёмкость 128 Мб. Это означает, что произвольный номер (адрес) произвольной ячейки ЭВМ представляет собой 9-разрядную запись десятеричной кодировки или 36-разрядную запись двоичной кодировки.
Для удобства все цифровые коды будем представлять в десятиричной системе счисления, так как вид кодировки цифровых значений данных для рассматриваемого случая не имеет принципиального значения.
Адресация исходных данных:
Исходные данные:
-
Имя данного
Адрес
A
000000100
X
000000110
B
000000120
C
000000130
D
000000140
Промежуточные данные:
-
Имя данного
Адрес
P1
000000500
P2
000000510
P3
000000520
P4
000000530
P5
000000540
P6
000000550
P7
000000560
Конечные данные:
-
Имя данного
Адрес
Y
000000600
Кодировка операций:
-
Вид операции
Цифровой код
+
10
-
15
*
20
/
30
С учетом структуры команд, которая имеет вид
3. Текст программного кода будет иметь вид:
020 000000120000000110000000500
010 000000500000000130000000510
020 000000110000000520000000520
020 000000100000000510000000540
020 000000530000000510000000540
020 000000130000000110000000550
015 000000550000000140000000560
030 000000540000000560000000600
Архитектура команд ЭВМ. В практике реального программирования трёхадресные команды не используются, так как они предполагают наличие значительных ресурсов в памяти ЭВМ для размещения программ. При этом основные затраты памяти обусловлены большой длиной адресной части команды.
Память ЭВМ представляет собой основной вычислительный ресурс. Поэтому программирование ЭВМ всегда предполагает рациональное ее использование в смысле экономного расходования её ресурсов. По этой причине при конструировании ЭВМ всегда стремятся уменьшить потребности памяти для размещения программ и делается это главным образом за счёт рациональной организации архитектуры команд.
В современных ЭВМ (микропроцессорах) используются следующие виды команд: двухадресные, одноадресные и безадресные.
При использовании команд с различной архитектурой адресной части организуется различный порядок их исполнения. При этом возможны, в том числе, изменения в организацию аппаратной части вычислительной системы.
Программирование в двухадресных командах. Двухадресная команда имеет структуру вида:
α |
β1 |
β2 |
Здесь в адресной части присутствуют всего два адреса - и . Как известно, адресная часть команды призвана обеспечивать выборку 2-х операндов для участия в операции, а также определить адрес для размещения результата операции. В данном случае ресурсов адресной части команды не хватает для использования адресов по отдельному назначению. Поэтому для одного из адресов, обычно , организуется двойное прменение. Таким образом становится адресом двойного назначения. Это выражается в том, что до выполнения операций он определяет алрес второго операнда, а а в момент завершения операции превращается в адрес для размещения результата операции.
Таким образом, в двухдресных командах:
- цифровой код исполняемой операции;
- адрес первого операнда;
- адрес двойного назначения.
Такой порядок использования команды предполагает определённые изменения в технике программирования, так как в этом случае приходится отслеживать не только очерёдность операндов при поступлении их на обработку, но также за данными, которые в результате выполнения операции теряют свои значения и приобретают новые значения.
Пример2. Пусть требуется запрограммировать вычисления по формуле:
2
+
=
(A*X2)+(B2*X+C)/(D*X-B)
Вычисления будем производить с учетом а*х2 =ах*х. При этом введем дополнительную переменную z=b.
