реклама на сайте
подробности

 
 
> Архитектрура системы команд 8-разрядного МК, Оценка/Анализ/Архитектура 8-32 разрядного МК
vitja
сообщение Jan 16 2009, 11:15
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 61
Регистрация: 3-01-09
Пользователь №: 42 896



Передо мной поставлена задача (сам напросился) - дать предложения по архитектуре
системы команд 8-разрядного процессорного ядра для управления работой аппаратуры SOC,
совместимой с ЯВУ, удобной для программирования на ассемблере, простой в реализации
и обеспечивающей компактный программный код и малое число тактов на его выполнение.

Я, как учили в институте, сперва посмотрел, что делают другие, провел оценку того, что у них получилось по затратам кода
и тактов на его выполнение для типовых задач управления.

Потом, как учили в аспирантуре, провел анализ влияния особенностей системы команд процессора
на его эффективность rating.pdf
http://moko.ru/mc/


Затем поступил не так, как учили, и вместо того, чтобы взять за основу архитектуру известного МК,
предложил концепт "простого" 8-разрядного процессорного ядра на базе стековой архитектуры,

который позволяет обрабатывать данные до 32-разрядов и не только на стеке, но и в памяти,
задавать в байтовой команде сколь угодно длинные поля констант и адресов,
и еще некоторые рюшечки и фишечки (там же M8.zip) плюс заявка на патент ......2008.

Концепт получился приемлемый, если сравнивать с 8051, PIC, AVR и даже ARM Thumb, но не идеальный:

1. Есть сомнения в правильности методики оценки эффективности процессора,
и, соответственно, принятых решений. Возможно есть другие, которые приведут к другим решениям.

2. Из него (концепта) торчат уши PICа - страничная организация памяти, что не позволяет обеспечить линейный доступ к данным,
AVRровские регистры косвенной адресации, а не механизм адресации данных по ссылкам и пр.
Переходить на 32-разрядный формат команды не позволяет постановка задачи, а решить эти проблемы,
оставаясь в рамках 8-разрядной системы команд у меня пока не получается.

Люди добрые, посмотрите хотя бы по диагонали moko.ru/mc и помогите "бедному" разработчику, кто чем может по делу,
без ля-ля-ля, смайликов и спама, - советом, предложением, позитивной критикой и замечаниями. Не дайте загинуть концепту.

Сообщение отредактировал vitja - Jan 16 2009, 12:07
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vetal
сообщение Jan 19 2009, 11:06
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Цитата
как не система команд

В первую очередь система команд это интерфейс ядра процессора с внешним миром. Взяли микроядро AVR без декодера и творите какую угодно систему команд.
Если бы вы поставили вопрос по другому: что лучше регистровый, стековый, регистровый с плавающим окном, аккумуляторный с одной или несколькими одновременно доступных памятей данных и т.д. то можно было бы судить. А так - все процессоры умеют складывать, вычитать, прыгать, загружать/выгружать данные куда-либо и создать систему команд под незнамо какую зверушку будет очень сложно.
Go to the top of the page
 
+Quote Post
vitja
сообщение Jan 19 2009, 11:43
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 61
Регистрация: 3-01-09
Пользователь №: 42 896



Цитата(vetal @ Jan 19 2009, 14:06) *
1 В первую очередь система команд это интерфейс ядра процессора с внешним миром.
2 Взяли микроядро AVR без декодера и творите какую угодно систему команд.
3 Если бы вы поставили вопрос по другому: что лучше регистровый, стековый, регистровый с плавающим окном, аккумуляторный с одной или несколькими одновременно доступных памятей данных и т.д. то можно было бы судить. А так - все процессоры умеют складывать, вычитать, прыгать, загружать/выгружать данные куда-либо и
4 создать систему команд под незнамо какую зверушку будет очень сложно.

С Pashe не согласен/ Однако и Вы тоже/
1 Мне казалось/ что система команд это интерфейс программиста с процессором/ как я был не прав
2 см M8.zip в вывешенном каталоге/ на AVR это не похоже и на другие тоже
3 Именно я так ставлю вопрос и делаю попытку дать на него ответ/ не слушают
4 Создать систему команд для 8-разрядного МК/ сопрягаемого с транслятором/ удобного для программирования на ассемблере/
достаточно простого в аппаратной реализации
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 19 2009, 12:11
Сообщение #4


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(vitja @ Jan 19 2009, 15:43) *
2 см M8.zip в вывешенном каталоге/ на AVR это не похоже и на другие тоже

Лично я бы заморочился на следующем:
1. Разбить ОЗУ на 256-байтовые банки, в которых живут все нужные регистры, т.е все регистры, в т.ч и РС и указатель стека - отображаемые на память. При этом оставить возможность байтовой адресации всего массива .
2. Оставить один неотображаемый регистр - селектор банка, в системе команд предусмотреть команду безусловного перехода с выбором банка памяти
3. Разрядность команд оставить фиксированной, но время выполнения все равно будет очень варьировать, особенно если пытаться навернуть 32 разрядную арифметику при 8 разрядной ШД. При всей абсурдности затеи с 32-разр арифметикой, получим выигрыш в компактности кода.
Go to the top of the page
 
+Quote Post
vitja
сообщение Jan 20 2009, 08:29
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 61
Регистрация: 3-01-09
Пользователь №: 42 896



Цитата(_Pasha @ Jan 19 2009, 15:11) *
Лично я бы заморочился на следующем:
1. Разбить ОЗУ на 256-байтовые банки, в которых живут все нужные регистры, т.е все регистры, в т.ч и РС и указатель стека - отображаемые на память. При этом оставить возможность байтовой адресации всего массива .
2. Оставить один неотображаемый регистр - селектор банка, в системе команд предусмотреть команду безусловного перехода с выбором банка памяти
3. Разрядность команд оставить фиксированной, но время выполнения все равно будет очень варьировать, особенно если пытаться навернуть 32 разрядную арифметику при 8 разрядной ШД. При всей абсурдности затеи с 32-разр арифметикой, получим выигрыш в компактности кода.

Вчера весь день потерял на ненужные препирательства, достали.
Поэтому пропустил Ваши предложения.
По ним видно, что Вы единственный, кто ознакомился с M8.ZIP и
отметил непохожесть предлагаемой системы команд по сравнению с известными серийными 8-разрядными МК.
Из предложений остановлюсь, пока, на последнем.
Каждое принимаемое решение определяется ожидаемым результатом с учетом последствий принятого решения.
Я хотел добиться компактного кода – поэтому выбрал байтовую систему команд, 16-разрядная увеличивает объем кода по моим прикидкам в 1.22 раза (это один из результатов анализа rating.doc и писался он для целей оценки не конкретных моделей МК – заблуждение, а для оценки влияния архитектурных решений в системе команд МК и выбора наиболее оптимальных, а для этого нужны количественные, а не качественные оценки, пусть такие какие получились).
Далее, если выбрана байтовая система команд, то одноадресная как в 8051 Или другая.
Я выбрал стековую. Однако в нее ввел префиксную команду задания операнда, что позволило в рамках стековой архитектуры реализовать двух-адресные команды обработки данных (пересылка, унарные операции и модификация данных) и тем самым обеспечить сокращение числа команд до 0.73 по сравнению с 8051 (по моим прикидкам).
Выбор стековой архитектуры обусловлен еще и тем, что она хорошо сопрягается с трансляторами ЯВУ. Вспомним промежуточный P-код или Java байт-код, на который я ориентировался.
Переход на фиксированную длину 16-разрядов – это путь повторения AVR, его можно Чуть-чуть улучшить, но не радикально.
Форум не позволяет изъяснится подробно и доходчиво. Но, если есть понимание, то много слов не надо.
А 32-разрядность введена/ что бы посягнуть 8-разрядным ядром в область применения 32-разрядных МК/ а также иметь в системе команд возможность дальнейшего развития/
Пока. Об остальном подумаю.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Jan 20 2009, 09:50
Сообщение #6


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(vitja @ Jan 20 2009, 11:29) *
Выбор стековой архитектуры обусловлен еще и тем, что она хорошо сопрягается с трансляторами ЯВУ. Вспомним промежуточный P-код или Java байт-код, на который я ориентировался.


Я бы сказал, эффективность работы трансляторов ЯВУ максимальна на архитектуре с небольшим количеством регистров, вернее, с небольшим объемом сохранения контекста процесса. А уж за счет чего это можно сделать - операций память-память, регистровых файлов -  это другой вопрос.

На примере того же АВР и Си видим, что до сих пор идет бурное развитие средств оптимизации, потому что эта регистровая модель немного не вписывается в сложившиеся технологии генерации кода.

Цитата
Переход на фиксированную длину 16-разрядов – это путь повторения AVR

Имхо, проще и дешевле. Думается, что при введении команд (не псевдокоманд!), "каскадирующих" арифметику до 16/32 разрядов, может этот Ваш коэффициент 1,22  опять опустить ниже плинтуса smile.gif Но это так - пальцем в небо.

И еще, можно АВР допилить до нужной кондиции так : разрешить операндам [Y+d] [Z+d] участвовать не только в операциях Load/Store. 

>>поток сознания иссяк smile.gif
Go to the top of the page
 
+Quote Post
vitja
сообщение Jan 21 2009, 17:43
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 61
Регистрация: 3-01-09
Пользователь №: 42 896



Цитата(_Pasha @ Jan 20 2009, 12:50) *
можно АВР допилить до нужной кондиции так : разрешить операндам [Y+d] [Z+d] участвовать не только в операциях Load/Store. 
>>поток сознания иссяк smile.gif

Чищусь дальше (отвечаю на пропущенное)
1. В АВР нельзя. Они называют себя РИСКом, где по определению "команды обработки данных и комады загрузки/выгрузки регистров
разделены". Остальное - это конвейер и разделение шин доступа к командам и данным. Однако об этом лучше не писать мне, а прочитать.

Да не иссякнет поток сознания. Успехов



Цитата(zltigo @ Jan 21 2009, 17:36) *
Moderator:
Поддерживаю.
To:vitja приведите свой "стиль" к человеческому. Считайте это устным замечанием. 

Сперва початимся.
"Все страннее и страннее" сказала Алиса. Я добавлю от себя - в обсуждении технических вопросов.
1. О русском языке
Транзакция - умное слово, означает обмен данными, включая чтение данных из памяти и запись данных в память ЭВМ
Бабло - деньги. Произошло из блатного жаргона, употребляют неформалы, маргиналы...
На конференции употреблено впервые 20.01.2009 в 22.00
Я это слово, только процитировал без указания автора. Вы еще Ж... пропустили у некоторых.
Поэтому какие замечания... Только к знакам пунктуации.
Да. Иногда приходится писать из под УБУНТУ, где все кнопки перепутаны.
2 Из жизни - Рецензент обязан написать - "есть отдельные стилистические неточности".

3. О человеческом языке - эсперанто я не знаю, поэтому говорю на русском (опять занесло - больше не буду)

Сообщение отредактировал vitja - Jan 21 2009, 18:07
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vitja   Архитектрура системы команд 8-разрядного МК   Jan 16 2009, 11:15
- - mikesm   Позитивная критика. Во первых верный адрес файла h...   Jan 16 2009, 12:00
|- - vitja   Цитата(mikesm @ Jan 16 2009, 15:00) Ссылк...   Jan 16 2009, 12:54
|- - vitja   Цитата(mikesm @ Jan 16 2009, 15:00) ...не...   Jan 16 2009, 22:49
- - vetal   ЦитатаМое мнение, что во все этом большую роль игр...   Jan 17 2009, 00:27
|- - vitja   Цитата(vetal @ Jan 17 2009, 03:27) 1 Сист...   Jan 17 2009, 05:16
- - @Ark   Цитата(vitja @ Jan 17 2009, 01:49) Что сч...   Jan 17 2009, 01:58
|- - vitja   Цитата(@Ark @ Jan 17 2009, 04:58) Наверно...   Jan 17 2009, 06:26
- - @Ark   Цитата(vitja @ Jan 17 2009, 09:26) ...   Jan 17 2009, 11:39
|- - vitja   Цитата(@Ark @ Jan 17 2009, 14:39) " ...   Jan 17 2009, 12:09
|- - mikesm   Цитата(vitja @ Jan 17 2009, 15:09) 1. Не ...   Jan 17 2009, 13:31
|- - vitja   Цитата(mikesm @ Jan 17 2009, 16:31) Профе...   Jan 17 2009, 14:30
|- - mikesm   Цитата(vitja @ Jan 17 2009, 17:30) По п.А...   Jan 17 2009, 15:06
- - @Ark   Цитата(vitja @ Jan 17 2009, 17:30) Робята...   Jan 17 2009, 16:16
|- - vitja   Цитата(@Ark @ Jan 17 2009, 19:16) 1. по м...   Jan 17 2009, 22:09
- - vitja   Цитата(vitja @ Jan 16 2009, 14:15) Передо...   Jan 18 2009, 06:06
- - vvvv   Второй день, тем более выходной это не так много. ...   Jan 18 2009, 08:16
|- - zltigo   Цитата(vvvv @ Jan 18 2009, 10:16) а у Вас...   Jan 18 2009, 09:20
|- - vitja   Цитата(zltigo @ Jan 18 2009, 12:20) Как с...   Jan 18 2009, 11:35
|- - zltigo   Цитата(vitja @ Jan 18 2009, 12:59) Мне хо...   Jan 18 2009, 11:41
|- - vitja   Цитата(zltigo @ Jan 18 2009, 14:41) Ведет...   Jan 18 2009, 13:40
|- - zltigo   Цитата(vitja @ Jan 18 2009, 15:40) Посмот...   Jan 18 2009, 18:02
|- - vitja   Цитата(zltigo @ Jan 18 2009, 21:02) ........   Jan 18 2009, 18:54
|- - zltigo   Цитата(vitja @ Jan 18 2009, 20:54) Про So...   Jan 18 2009, 19:34
|- - vitja   Цитата(zltigo @ Jan 18 2009, 22:34) ...Ва...   Jan 19 2009, 07:41
|- - zltigo   Цитата(vitja @ Jan 19 2009, 09:41) 1. Все...   Jan 19 2009, 08:05
|- - MrYuran   Цитата(vitja @ Jan 19 2009, 10:41) - Крут...   Jan 19 2009, 08:34
||- - zltigo   Цитата(MrYuran @ Jan 19 2009, 10:34) Вот ...   Jan 19 2009, 09:01
||- - vitja   Цитата(MrYuran @ Jan 19 2009, 11:34) MSP4...   Jan 19 2009, 09:53
|||- - MrYuran   Цитата(vitja @ Jan 19 2009, 12:53) - орга...   Jan 19 2009, 10:09
||||- - vitja   Цитата(MrYuran @ Jan 19 2009, 13:09) Межд...   Jan 19 2009, 10:41
||||- - vitja   Цитата(MrYuran @ Jan 19 2009, 13:09) о ве...   Jan 20 2009, 02:37
||||- - Mahagam   Цитата(vitja @ Jan 20 2009, 06:37) В оцен...   Jan 20 2009, 09:57
||||- - vitja   Цитата(Mahagam @ Jan 20 2009, 12:57) 1///...   Jan 20 2009, 16:43
||||- - GetSmart   Цитата(vitja @ Jan 20 2009, 22:43) Обеспе...   Jan 20 2009, 17:05
|||||- - vitja   Цитата(GetSmart @ Jan 20 2009, 20:05) рос...   Jan 21 2009, 13:14
|||||- - Mahagam   Цитата(vitja @ Jan 21 2009, 16:14) Ваши у...   Jan 21 2009, 14:04
||||||- - zltigo   Цитата(Mahagam @ Jan 21 2009, 16:04) осно...   Jan 21 2009, 14:36
|||||- - GetSmart   Цитата(vitja @ Jan 21 2009, 19:14) Продол...   Jan 21 2009, 14:28
||||- - Mahagam   Цитата(vitja @ Jan 20 2009, 20:43) Как чи...   Jan 20 2009, 17:25
|||- - GetSmart   Цитата(vitja @ Jan 19 2009, 15:53) 5/ В о...   Jan 19 2009, 10:43
|||- - vitja   Цитата(GetSmart @ Jan 19 2009, 13:43) 430...   Jan 19 2009, 11:13
|||- - GetSmart   Цитата(vitja @ Jan 19 2009, 17:13) Мне ка...   Jan 19 2009, 11:21
||- - vitja   Цитата(MrYuran @ Jan 19 2009, 11:34) M430...   Jan 19 2009, 11:33
|- - _3m   Цитата(vitja @ Jan 19 2009, 10:41) Просил...   Jan 19 2009, 11:36
|- - vitja   Цитата(_3m @ Jan 19 2009, 14:36) ////Ниче...   Jan 19 2009, 12:11
|- - Mahagam   Цитата(_3m @ Jan 19 2009, 15:36) Ваши утв...   Jan 19 2009, 12:47
- - GetSmart   RISC - отстой Грядёт эпоха сверхдлинных CISC по п...   Jan 18 2009, 09:35
|- - MrYuran   Цитата(GetSmart @ Jan 18 2009, 12:35) RIS...   Jan 18 2009, 10:30
- - vvvv   Ну все верно, Вы говорите, что рынок занимают, что...   Jan 18 2009, 14:25
|- - vitja   Цитата(vvvv @ Jan 18 2009, 17:25) ... Ну ...   Jan 18 2009, 17:39
|- - GetSmart   Цитата(vitja @ Jan 18 2009, 23:39) Из PC ...   Jan 18 2009, 18:22
|- - vitja   Цитата(GetSmart @ Jan 18 2009, 21:22) 1) ...   Jan 18 2009, 19:42
- - vetal   ЦитатаЕсли Вам не нравятся 8-разрядные МК, то .......   Jan 18 2009, 14:36
- - vetal   Цитатасовершенно непонятные (неадекватные) цифры в...   Jan 18 2009, 19:01
|- - vitja   Цитата(vetal @ Jan 18 2009, 22:01) Создай...   Jan 19 2009, 08:12
- - lepert   По поводу симулятора, этим уже занимался Кнут, все...   Jan 18 2009, 19:39
|- - vitja   Цитата(lepert @ Jan 18 2009, 22:39) По по...   Jan 20 2009, 13:44
- - vetal   Цитата... выбору способа обработки – регистры, пам...   Jan 19 2009, 08:30
|- - vitja   Цитата(vetal @ Jan 19 2009, 11:30) ////си...   Jan 19 2009, 10:55
|- - _Pasha   Цитата(vetal @ Jan 19 2009, 15:06) регист...   Jan 19 2009, 11:23
- - Rst7   ЦитатаТолько дополнение по поводу клонирования ......   Jan 19 2009, 11:45
- - Mahagam   ага, мусье vitja перебрался сюда с хобота, где его...   Jan 19 2009, 12:07
|- - vitja   Цитата(Mahagam @ Jan 19 2009, 15:07) 1///...   Jan 19 2009, 12:31
|- - GetSmart   Цитата(vitja @ Jan 19 2009, 18:31) 3 AVR ...   Jan 19 2009, 12:48
||- - vitja   Цитата(GetSmart @ Jan 19 2009, 15:48) Тео...   Jan 19 2009, 13:12
||- - _Pasha   Цитата(vitja @ Jan 19 2009, 17:12) Мульти...   Jan 19 2009, 13:16
||- - Mahagam   Цитата(vitja @ Jan 19 2009, 17:12) Это пр...   Jan 19 2009, 13:49
||- - vitja   Цитата(Mahagam @ Jan 19 2009, 16:49) ну и...   Jan 19 2009, 14:38
||- - GetSmart   Цитата(vitja @ Jan 19 2009, 20:38) В кажд...   Jan 19 2009, 14:54
||- - Mahagam   Цитата(vitja @ Jan 19 2009, 18:38) Только...   Jan 19 2009, 15:00
||- - vitja   Цитата(Mahagam @ Jan 19 2009, 18:00) 1 пр...   Jan 19 2009, 18:02
||- - Mahagam   Цитата(vitja @ Jan 19 2009, 22:02) 1. Я т...   Jan 19 2009, 18:30
||- - GetSmart   Цитата(Mahagam @ Jan 20 2009, 00:30) ника...   Jan 19 2009, 18:56
||- - vitja   Цитата(Mahagam @ Jan 19 2009, 21:30) в МК...   Jan 19 2009, 19:22
||- - vitja   Цитата(Mahagam @ Jan 19 2009, 21:30) нужн...   Jan 20 2009, 06:27
|- - Mahagam   Цитата(vitja @ Jan 19 2009, 16:31) 2 Inte...   Jan 19 2009, 12:57
|- - MrYuran   Цитата(vitja @ Jan 19 2009, 15:31) AVR с ...   Jan 19 2009, 13:14
|- - vitja   Цитата(MrYuran @ Jan 19 2009, 16:14) Шуле...   Jan 19 2009, 13:54
|- - Mahagam   Цитата(vitja @ Jan 19 2009, 17:54) Не AVR...   Jan 19 2009, 14:25
|- - vitja   Цитата(Mahagam @ Jan 19 2009, 17:25) 1 //...   Jan 19 2009, 15:15
- - Mahagam   vitja давайте вы не будете словоблудить когда по с...   Jan 19 2009, 15:58
|- - vitja   Цитата(Mahagam @ Jan 19 2009, 18:58) vitj...   Jan 19 2009, 18:54
|- - Mahagam   Цитата(vitja @ Jan 19 2009, 22:54) 1. Как...   Jan 19 2009, 22:34
- - Leka   Это смотрели? http://www.ultratechnology.com/chips...   Jan 20 2009, 09:39
|- - vitja   Цитата(Leka @ Jan 20 2009, 12:39) Это смо...   Jan 20 2009, 11:19
- - Leka   Зачем ходить по чужим граблям? Пример(Кнут): MIX -...   Jan 20 2009, 17:31
- - en1gma   не уж то тоже присоединиться на хоботе не вышло, т...   Jan 20 2009, 18:22
- - Leka   Кнут: "Тем не менее, нужно признать, что в на...   Jan 20 2009, 18:29
- - vitja   Цитата(Leka @ Jan 20 2009, 21:29) Эльбрус...   Jan 21 2009, 07:58
2 страниц V   1 2 >


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 13th August 2025 - 23:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01601 секунд с 7
ELECTRONIX ©2004-2016