Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 20:02

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Доступ к данным в стековом процессоре
СообщениеДобавлено: Вт фев 10, 2009 11:06 
Не в сети

Зарегистрирован: Сб янв 24, 2009 10:06
Сообщения: 96
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
«доступ к данным в стековом процессоре» это подтема из HARd// по системе команд стекового 8-разрядного МК М8 http://www.moko.ru/mc/ »
******Преамбула
Единственная задача МК – обработка данных. Данные бывают входными, выходными, константами, переменными состояния системы и промежуточными. Кроме этого данные бывают локальными, глобальными и структурированными и прочими….
******Коллизия
Модель памяти Форта ограничена стеками вычисления, возвратов и ОЗУ. К ОЗУ доступ осуществляется через стек с использованием известных функций. Прямого доступа к ПЗУ (константам) в Форте нет.
Как быть в системе команд стекового процессора для обеспечения эффективного доступа к данным?
За неимением места ниже об этом написано очень кратко.
****** Фабула
Имеется модель памяти стекового 8-разрядного МК, содержащая:
– ОЗУ,
- ПЗУ
- стек вычислений
- стек возвратов
- данные в ОЗУ.
******Кульминация
Для выше указанной модели в системе команд 8-разрядного стекового процессора М8 предлагаются следующие способы адресации данных (указаны мнемоники адресации):
___На стеке данных:
«пусто» - верхушка стека данных (ADD s+s - s)
К – катый элемент стека данных (3 ADD 3s+s - 3s)
@ - косвенно ОЗУ через верхушку стека данных (s - (s))
К @ - косвенно ОЗУ через катый элемент стека данных (- (3s))
___На стеке возвратов:
R - верхушка стека возвратов
К – катый элемент стека возвратов
@R+ - косвенно из ПЗУ через верхушку стека возвратов с постинкрементом
К @R+ - косвенно из ПЗУ через катый элемент стека возвратов с постинкрементом
___В ОЗУ:
Pi – итый элемент страницы ОЗУ 8 байт
К Pi – итый элемент страницы ОЗУ 128 байт
К К Pi – итый элемент страницы ОЗУ 2 Кбайт
(К К) @Pi - косвенно через итый элемент страницы ОЗУ (универсально но медленно?????)
Прим. Можно реализовать более общий механизм адресации локальных данных – через регистр указатель фрейма (базы) и смещения относительно него (для 8-разрядного МК достаточно прямой страничной адресации – примеры ПИК. 1876ВЕ1 и др.)
____@# - абсолютная адресация???
____# - непосредственная адресация.
____Прим. Все указанные способы адресации являются полями байтовых команд загрузки выгрузки стека или байтовых префиксов адреса операнда источника-приемника в байтовых команд обработки данных. Длина данных задается в байт-коде команды от 1 до 4 байт.
Префикс адреса задает адрес операнда приемника для следующей стековой байтовой команды обработки данных

****** Развязка
Примеры машинных команд М8 обработки данных…и их длина в байтах:
2 swapd – обмен 4-мя байтами между верхушкой и третьим элементом стека – 2 байта
P1 swap – обмен байтами между верхушкой стека и ОЗУ (Р1 - префикс адреса элемента в текущей странице ОЗУ) – 2 байта
@ldw - косвенная загрузка в стек 2 байт по адресу на верхушке стека – 1 байт
3 @ld - косвенная загрузка байта в стек по адресу третьего элемента стека – 2 байта
R 3 @ldw - косвенная загрузка слова в стек возвратов по адресу из третьего элемента стека
(K) R (K) addw ; RK+SK > RK - от 2 байт
Ldw# input P4ldw add @ stP3 ; P3=input(P4) – 7 байт (для пересылки 32-разрядного данного команда stP3 меняется на stdP3)
@R+ К stwP3 – загрузка слова из ПЗУ в ячейку ОЗУ РК3.
Прим. К… и R… Pi… @ через пробел – это префиксы адреса (байтовые команды).

*****Эпилог
Получили разнообразные способы доступа к данным (в т.ч. в стеках и ПЗУ) , а также форматы команд (от 0 адресных до 1 и 2 адресных).
Однако в этом надо разбираться …..
В том числе и в мнемонике, что бы была нагляднее и интуитивно понятнее?????


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 10, 2009 20:24 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
architector писал(а):
Модель памяти Форта ограничена стеками вычисления, возвратов и ОЗУ. К ОЗУ доступ осуществляется через стек с использованием известных функций. Прямого доступа к ПЗУ (константам) в Форте нет.

о-ой. Неужели это про ZX-Spectrum?!


architector писал(а):
Имеется модель памяти стекового 8-разрядного МК, содержащая:
– ОЗУ,
- ПЗУ
- стек вычислений
- стек возвратов
- данные в ОЗУ.

эт-та... а почему таймеры и параллельные порты забыты?
(ведь, если ПЗУ и стеки к модели памяти приписаны, то и таймеры с портами надо к этой модели приписывать! И ШИМЫ, ШИМЫ не забыть приписать!)

architector писал(а):
Примеры машинных команд М8 обработки данных…и их длина в байтах:


А диаметр сферического коня-то не указан!

architector писал(а):
Получили разнообразные способы доступа к данным (в т.ч. в стеках и ПЗУ) , а также форматы команд (от 0 адресных до 1 и 2 адресных).


Накладную, плиз, в студию! По всей форме, с росписями и печатями, подтверждающими "получение".

architector писал(а):
Однако в этом надо разбираться …..
В том числе и в мнемонике, что бы была нагляднее и интуитивно понятнее?????


"разруха - она в головах" (с)...

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 10, 2009 20:36 
Не в сети
Аватара пользователя

Зарегистрирован: Вт ноя 06, 2007 21:23
Сообщения: 227
Откуда: Екатеринбург
Благодарил (а): 4 раз.
Поблагодарили: 7 раз.
architector писал(а):
Прямого доступа к ПЗУ (константам) в Форте нет.

Не понял, а замена константы в непосредственное значение???
architector писал(а):
Единственная задача МК – обработка данных

Не понял, а как на счет выработки сигналов управления без обработки данных по уже ранее готовой программе???
architector писал(а):
******Кульминация
Для выше указанной модели в системе команд 8-разрядного стекового процессора М8 предлагаются следующие способы адресации данных (указаны мнемоники адресации):
___На стеке данных:
«пусто» - верхушка стека данных (ADD s+s - s)
К – катый элемент стека данных (3 ADD 3s+s - 3s)
@ - косвенно ОЗУ через верхушку стека данных (s - (s))
К @ - косвенно ОЗУ через катый элемент стека данных (- (3s))
___На стеке возвратов:
R - верхушка стека возвратов
К – катый элемент стека возвратов
@R+ - косвенно из ПЗУ через верхушку стека возвратов с постинкрементом
К @R+ - косвенно из ПЗУ через катый элемент стека возвратов с постинкрементом
___В ОЗУ:
Pi – итый элемент страницы ОЗУ 8 байт
К Pi – итый элемент страницы ОЗУ 128 байт
К К Pi – итый элемент страницы ОЗУ 2 Кбайт
(К К) @Pi - косвенно через итый элемент страницы ОЗУ (универсально но медленно?????)
Прим. Можно реализовать более общий механизм адресации локальных данных – через регистр указатель фрейма (базы) и смещения относительно него (для 8-разрядного МК достаточно прямой страничной адресации – примеры ПИК. 1876ВЕ1 и др.)
____@# - абсолютная адресация???
____# - непосредственная адресация.
____Прим. Все указанные способы адресации являются полями байтовых команд загрузки выгрузки стека или байтовых префиксов адреса операнда источника-приемника в байтовых команд обработки данных. Длина данных задается в байт-коде команды от 1 до 4 байт.
Префикс адреса задает адрес операнда приемника для следующей стековой байтовой команды обработки данных

давайте посомотрим описание контроллера ST7, в чем разница???
architector писал(а):
Получили разнообразные способы доступа к данным (в т.ч. в стеках и ПЗУ) , а также форматы команд (от 0 адресных до 1 и 2 адресных).
Однако в этом надо разбираться …..
В том числе и в мнемонике, что бы была нагляднее и интуитивно понятнее?????

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 10, 2009 22:14 
Не в сети

Зарегистрирован: Сб янв 24, 2009 10:06
Сообщения: 96
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
WingLion писал(а):
эт-та... а почему таймеры и параллельные порты забыты?
....А диаметр сферического коня-то не указан!
...."разруха - она в головах" (с)...

WingLionу. Вы как образованный человек знаете, что говорил уважаемый мною профессор Ф.Ф.Преображенский о «разрухе». Если нет, тогда цитирую «Если я, вместо того чтобы оперировать, каждый вечер начну у себя в квартире петь хором… ходя в уборную, начну, извините меня за выражение мочиться мимо унитаза… то получится разруха». Могу также процитировать Вам его совет «... лупить себя по затылку! И вот, когда он вылупит из себя всякие галлюцинации.....». Я добавлю от себя, что тогда Вы будете писать точнее и «диаметр сферического коня-то не указывать».
Это написано не администратору, а образованному человеку.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 10, 2009 22:23 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
****** Ночь
****** улица
****** фонарь
****** аптека


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 10, 2009 22:27 
Не в сети
Аватара пользователя

Зарегистрирован: Вт ноя 06, 2007 21:23
Сообщения: 227
Откуда: Екатеринбург
Благодарил (а): 4 раз.
Поблагодарили: 7 раз.
architector писал(а):
WingLion писал(а):
эт-та... а почему таймеры и параллельные порты забыты?
....А диаметр сферического коня-то не указан!
...."разруха - она в головах" (с)...

WingLionу. Вы как образованный человек знаете, что говорил уважаемый мною профессор Ф.Ф.Преображенский о «разрухе». Если нет, тогда цитирую «Если я, вместо того чтобы оперировать, каждый вечер начну у себя в квартире петь хором… ходя в уборную, начну, извините меня за выражение мочиться мимо унитаза… то получится разруха». Могу также процитировать Вам его совет «... лупить себя по затылку! И вот, когда он вылупит из себя всякие галлюцинации.....». Я добавлю от себя, что тогда Вы будете писать точнее и «диаметр сферического коня-то не указывать».
Это написано не администратору, а образованному человеку.

А по серьезней можно, товарищ Архитектор, к науке относится?! А-то профсоюз недоволен...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вт фев 10, 2009 22:33 
Не в сети

Зарегистрирован: Сб янв 24, 2009 10:06
Сообщения: 96
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Alexander писал(а):
....е понял??? Не понял, а как на счет выработки сигналов управления без обработки данных по уже ранее готовой программе???
.....давайте посомотрим описание контроллера ST7, в чем разница???
.....или все-таки ограничимся 0-адресной, чтоб оно называлось стековой архитектурой.

1. Напишите программу для программатора без использования данных (таймера, счетчиков и прочего....).
Или вы на кулачках все сделаете. Ваше право.
2. Посмотрите внимательнее описание контроллера ST7 и обнаружите разницу.
3. Это Вы можете ограничится ограниченной 0-адресной архитектурой. Я так не могу.....поэтому ввел адресные префиксы для стековых команд.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 11, 2009 01:08 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
architector писал(а):
*****Эпилог
Получили разнообразные способы доступа к данным (в т.ч. в стеках и ПЗУ) , а также форматы команд (от 0 адресных до 1 и 2 адресных).
Однако в этом надо разбираться …..
В том числе и в мнемонике, что бы была нагляднее и интуитивно понятнее?????

Получили, надо признаться, дикую мешанину схемотехнических приемов, временных диаграмм и "острых углов". Проектирование можно вести от кремния, или от программной модели. Чего делается-то? Нуль-операндный стековый процессор или 2 (3) адресная машинка на регистровом файле с ортогональной системой команд? Или некая помесь того и другого? Если помесь, то надо очень и очень тщательно разбираться, почему именно такие команды убираем, а такие оставляем.

Желательно все-таки и за другими ветками форума следить. Хотя бы для того, чтобы не пытаться "ошарашить" людей идеей изготовления процессора. Современные средства прототипирования, надо сказать, очень существенно продвигают заинтересовавшихся людей по пути понимания процессоростроения. Именно поэтому высказываемые Вами идеи, мягко говоря, энтузиазма не вызывают. Просто потому, что это все наглядно проверяется за недельку вечерних посиделок за бесплатным САПРом.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 11, 2009 01:23 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
architector писал(а):
Это написано не администратору, а образованному человеку.


Администратора можно было и не упоминать.

А речь вот о чем. Представьте себе человека, который про ваш M8, что говорится, ни ухом ни рылом, "не знает и знать не хочет" (не будем уточнять почему).
И вот он заходит в тему и видит, "амбула фамбула кульминамбула", прямо план детективного романа, а по заявленой теме, извините, нуль - и натуральный, и комплексный.
И вот, четко обозначив в первых пунктах жирными буквами: "Я ничегошеньки о форте не знаю!" вы делаете вывод:

architector писал(а):
Однако в этом надо разбираться …..
В том числе и в мнемонике, что бы была нагляднее и интуитивно понятнее?????


И что после этого хочется сказать? - А хочется только заржать и спросить, - А зачем вы все это написали не разобравшись?

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 11, 2009 17:40 
Не в сети
Аватара пользователя

Зарегистрирован: Чт июл 20, 2006 11:31
Сообщения: 2168
Откуда: Екб
Благодарил (а): 0 раз.
Поблагодарили: 41 раз.
Хищник писал(а):
Чего делается-то? Нуль-операндный стековый процессор или 2 (3) адресная машинка на регистровом файле с ортогональной системой команд? Или некая помесь того и другого? Если помесь, то надо очень и очень тщательно разбираться, почему именно такие команды убираем, а такие оставляем.

Помесь она и есть в реальных стековых процессорах. Классический стек LIFO кроме команд DUP и DROP ничего не понимает.
Аппаратный стек данных это не LIFO и требует адресации к составляющим его регистрам(пусть в командах).
Потому при тщательном выборе команд и некотором дополнительном напряге при проектировании управляющей части регистровый
файл может с пользой вписаться в архитектуру процессора.
А насчет САПР - это да, надо осваивать и применять, толку от этого будет больше, чем от обсуждения на форуме.

_________________
С уважением, chess


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 11, 2009 18:10 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
chess писал(а):
Помесь она и есть в реальных стековых процессорах. Классический стек LIFO кроме команд DUP и DROP ничего не понимает.
Аппаратный стек данных это не LIFO и требует адресации к составляющим его регистрам(пусть в командах).

Аппаратный стек данных может давать доступ к двум верхним ячейкам, и реализовать таким образом приемлемую по функциональности форт-машину. А вот адресация регистров стека, определяемая кодом команды - это огромный камень в огород технолога. Потому что для стека физическое расположение операндов следующей команды известно сразу после модификации указателя глубины (причем хоть бы и bypass-ом передавать их в индексные регистры), а для произвольно адресуемого регистрового файла надо еще дождаться доползания кода команды
chess писал(а):
Потому при тщательном выборе команд и некотором дополнительном напряге при проектировании управляющей части регистровый

"Некотором дополнительном" - слишком оптимистичная оценка. Напряг принципиальный.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 11, 2009 19:50 
Не в сети

Зарегистрирован: Сб янв 24, 2009 10:06
Сообщения: 96
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Хищник писал(а):
Получили, надо признаться, дикую мешанину ... Или некая помесь? Если помесь, то надо очень и очень тщательно разбираться, почему именно такие команды убираем, а такие оставляем.
Желательно все-таки и за другими ветками форума следить. Хотя бы для того, чтобы не пытаться "ошарашить" людей идеей изготовления процессора.

1. Уважаемый, разбирайтесь, убирайте и прибавляйте, а если "помесь", то в чем конкретно, надеюсь не в ..
2. За форумом слежу, но и "шарашить" буду, ..... иногда///


Последний раз редактировалось architector Ср фев 11, 2009 22:08, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 11, 2009 20:05 
Не в сети

Зарегистрирован: Сб янв 24, 2009 10:06
Сообщения: 96
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
WingLion писал(а):
[ни ухом ни рылом,
....И после этого хочется ...... только заржать

Уважаемый, мы на Форуме, а не в свинарнике и даже не на конюшне....., хотя, где Вы есть ....


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 11, 2009 20:17 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
architector писал(а):
1. Уважаемый, разбирайтесь, убирайте и прибавляйте, а если "помесь", то в чем конкретно, надеюсь не в ..

А оно особого любопытства у меня уже не вызывает. В чем "помесь", я уже отмечал - нет сквозной концепции от программной модели до RTL. Есть "провалы", когда в угоду неочевидным выгодам прикладного программиста вся аппаратная архитектура ставится на уши, причем происходит это довольно сумбурно, в процессе обсуждения. Если просто размышлять о процессоре - это одно. Если действительно планировать его разработку - совершенно другое. И мне сильно интересно, кто же будет RTL-то писать, в реально сложившейся ситуации? :) Только не абстрактно, а конкретно, с фамилиями. И чтобы реально существующий и "организационно доступный" человек подтвердил, "да, я в принципе согласен на основе выданной мне информации написать RTL либо структурное описание процессора для прогона его через ASIC CAD".
architector писал(а):
2. За форумом слежу, но и "шарашить" буду, ..... иногда, иначе скучно....с...с с .....

Увы, я ошарашен скорее "в минус".


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 11, 2009 20:19 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
architector писал(а):
Уважаемый, мы на Форуме, а не в свинарнике и даже не на конюшне....., хотя, где Вы есть ....

Могу подсказать - в НИИ, где он успешно использует софт-процессоры в ПЛИС. Подчеркну - не размышляет, а использует. Все, паровоз ушел, в определенных кругах сказать "я придумал процессор" примерно то же самое, что заявить "я написал Программу! На Бейсике!!!". И Ч Т О?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB