Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

пяти адресная система команд

307
22 февраля 2010 года
Artem_3A
863 / / 11.04.2008
Есть следующий вопрос: "Достоинства и недостатки процессора с пятью полями(как я понимаю с пяти адресной системой команд)?".
пяти адресная система команд, как я понял это система команд вида:
 
Код:
...
1000    MVI    R8    0A    1006
...

то есть:
 
Код:
адрес текущей команды / код команды / операнды / адрес следующей команды


Но вот ни какой вменяемой документации не нашел. Подскажите пожалуйста где можно чего нить толковое почитать, ну или на худой конец как ответить на поставленный вопрос. Заранее благодарен.
48K
22 февраля 2010 года
vasil211
11 / / 25.06.2009
Вроде очередной вариант машины "Тьюринга". Если хорошо постараться то за один вечер можно придумать несколько вариантов таких процессоров, так-что документации именно к этому, может и не быть. Недостатки, думаю и так видны, первое и последнее поля, хотя многое завит от-того как часто эти поля используются в качестве операндов.
307
22 февраля 2010 года
Artem_3A
863 / / 11.04.2008
Цитата: vasil211
Вроде очередной вариант машины "Тьюринга". Если хорошо постараться то за один вечер можно придумать несколько вариантов таких процессоров, так-что документации именно к этому, может и не быть. Недостатки, думаю и так видны, первое и последнее поля, хотя многое завит от-того как часто эти поля используются в качестве операндов.



что именно нет так с первым и последними полями??? лично мне ни чего не приходит в голову кроме большого размера такой команды, лишних 2х(2 байта на адрес). у кого нить еще идеи? лично я сдаюсь! =(((

307
22 февраля 2010 года
Artem_3A
863 / / 11.04.2008
Возможно это поможет, привожу код сложения десяти двухбайтовых чисел расположенных в памяти по заданным адресам.
Адрес старшего байта числа - 67FF. Адрес младшего байта числа - 67FE.

Код:
1000    MVI    R8       0A  1006
1006    MVI    R7       67  100C
100C    MVI    R6       FE  1012
1012    MVI    R1       00  1018
1018    MVI    R2       00  101E
1024    MVI    R3       00  102A
102A    MOV   R7R6    R4    1033
1033    ADD    R3       R4           R3    103C
103C    JC      R2       1041
1041    JC      R1       1046
1046    INR     R6       104B
104B    JC      R7       1050
1050    MOV   R7R6    R4    1059
1059    ADD    R2       R4           R2    1062
1062    JC      R1       1067
1067    INR     R6       106C
106C    JC      R7       1071
1071    DCR    R8       1076
1076    JNZ    102A    107C
107C    HLT ----
48K
22 февраля 2010 года
vasil211
11 / / 25.06.2009
Складывает и результат в 3 регисттрах R1,R2,R3. Здесь всё так как надо, вернее даже так как захотелось разработчикам этого процессора. Вопрос может состоять только в том для каких целей создавался этот процессор? т.е. здесь первые и последние поля служат для какой-то цели, быть может для облегчения отладки или это взято от балды, чтоб бедных студентов озадачить.
48K
22 февраля 2010 года
vasil211
11 / / 25.06.2009
Еще по этому куску кода не видно, что у процессора есть сегментные регистры. Если их нет то он может работать только с 64 кб оперативки. Если на основные поля 'код команды / операнды' будет в среднем приходится по 4 байта, то каждая инструкция будет занимать по 8 байт. В 64 кб можно будет разместить только 65536/8=8192 инструкций, и даже меньше в случае размещения в памяти данных.
307
23 февраля 2010 года
Artem_3A
863 / / 11.04.2008
Цитата: vasil211
Еще по этому куску кода не видно, что у процессора есть сегментные регистры. Если их нет то он может работать только с 64 кб оперативки. Если на основные поля 'код команды / операнды' будет в среднем приходится по 4 байта, то каждая инструкция будет занимать по 8 байт. В 64 кб можно будет разместить только 65536/8=8192 инструкций, и даже меньше в случае размещения в памяти данных.



да, действительно, сегментные регистры отсутствуют, ну или по крайней мере преподаватель мне об этом не сообщил. в процессоре вообще как бы присутствуют только регистры R1-R8 и флаги Z(ноль) и C(переполнение). и еще пролистав систему команд для этого чуда обнаружил, что отсутствуют команды перемещения в память(записи в память), есть возможность только читать из памяти в регистр.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог