Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вт апр 23, 2024 21:07

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 54 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: самый простой процессор
СообщениеДобавлено: Сб фев 07, 2009 21:31 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
собственно, хочется обсудить следующие темы:
1) какой должен быть самый простой процессор (архитектура)
2) система команд самого простого процессора, как точка осчета мощности команды для сравнения других архитектур между собой
3) размер самого простого процессора с точки зрения количества логических элементов на его реализацию
4) оптимальная разрядность данных: какова она?

сразу хочется сказать, чтобы Машину Тьюринга не предлагали - мы ведем речь о машинах с небольшим количеством ресурсов.
Да, речь не идет о стековых процессорах! То есть можно с ними сравнивать, но, понятно, что уже сам стек достаточно сложное устройство, усложняющее процессор (в любом случае значительно увеличивающее количество логических элементов)

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
сразу хочется предложить свой вариант:

мне кажется, что самый простой процессор должен уметь выполнять кортежи: то есть работать с минимальной мнемонической единицей, используемой компиляторами: источник-a источник-б команда назначение.

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

Где же у нас будет проигрыш? А проигрыш в работе с памятью: практически при каждой команде будет происходить обращение к памяти данных и к паямяти команд. А это значит, что выгодно для такого процессора использовать Гарвардскую архитектуру с разделенными памятью команд и данных.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

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

Команда представляет собой байт, в котором 4 бита - источник, 4 бита - приемник и все.
Все остальные действия производятся вместе с пересылкой.
4 бита - источник - 8 регистров, 8 ячеек памяти, адресуемых регистрами. При выборке из памяти содержимое регистра-адреса инкременируется или нет, в зависимости от установки регистра-состояния.
аналогично с приемником, только при записи в память происходит/непроисходит декремент регистра.
логика/арифметика работа с устройствами - через отмапленые в память ALU и порты.

До реализации дело не дошло, потому что идея сия жила у меня в голове до того, как начал с ПЛИС-ами работать.
А на рассыпухе что-то такое собрать - попросту не хватало возможностей.

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
собственно хочется дополнить, что речь идет о б\м классическом процессоре (однопоточном), на котором можно решать общие задачи, например задачи управления (то есть область задач микроконтроллеров), а не специализированном, который "может только пересылать данные).
То есть АЛУ процессора мы не собираемся урезать.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

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

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


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
WingLion писал(а):
хм... тогда слова 'самый простой' в первом посте лишние.

ну, не совсем так. Речь о самом простом, на который можно положить код, компилируемый типичным маинстримовским компилятором.
но при этом эффективность работы проца не важна.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Кстати, еще одна идейка 'простого' процессора - использование памяти для регистров. т.е. регистры процессора - находятся в памяти, к которой о обращается по фиксированным адресам. То есть, даже указатель PC - в памяти.
Плюс в том, что переключение задачи происходит простой перезаписью базового адреса блока регистров, и таких блоков может быть сколько угодно (сколько в память влезет). сам базовый адрес - тоже в памяти по адресу 0000h
Минус в том, что любая операция - это целая группа обращений к памяти.
Другой плюс - простота реализации - на ПЛИС-е я такое когда-то пробовал, получилось ~150 LE на процессор.

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


Последний раз редактировалось WingLion Сб фев 07, 2009 22:26, всего редактировалось 1 раз.

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

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Кстати, не знаю, в тему ли, но существует упрощённая машина Тьюринга :)
http://ru.wikipedia.org/wiki/%D0%9C%D1% ... 0%BD%D0%B0

_________________
понимаю некоторую бестолковость некоторых вопросов


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
WingLion писал(а):
Кстати, еще одна идейка 'простого' процессора - использование памяти для регистров. т.е. регистры процессора - находятся в памяти, к которой о обращается по фиксированным адресам.

гм, но это фактически уже не регистры, а ячейки памяти. И то, что ты описал, как раз есть то, что я описал во втором сообщении данного топика.

WingLion писал(а):
Плюс в том, что переключение задачи происходит простой перезаписью базового адреса блока регистров, и таких блоков может быть сколько угодно (сколько в память влезет).

а вот базовый регистр уже лишний, тут я проще предложил.

WingLion писал(а):
Минус в том, что любая операция - это целая группа обращений к памяти.

именно! это и есть главная проблема самого-простого процессора(в предложенной трактовке процессора).

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
вопрос писал(а):
Кстати, не знаю, в тему ли, но существует упрощённая машина Тьюринга

нет, Тьюринг не в тему.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

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


Базовый адрес для регистров в памяти так или иначе присустствует (даже, если он равен нулю - Нуль - есть базовый адрес)


mOleg писал(а):
именно! это и есть главная проблема самого-простого процессора


а я не думаю, что это проблема. Ну, получается, что одна команда за 8 тактов (обращений к памяти) исполняется.
Это ведь не проблема, особенно, если у нас память достаточно скоростная, а предельная скорость от процессора не требуется.

п.с. Вот только от стековости сего монстра не уйти.

Регистры представляют собой указатели на стеки. Один стек - стек данных, один стек - стек возвратов, еще один стек - фактически простоадресуемая программа (с него команды только снимаются, и при необходимости модифицируется указатель стека - aka PC)

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


Последний раз редактировалось WingLion Сб фев 07, 2009 22:48, всего редактировалось 1 раз.

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

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
WingLion писал(а):
mOleg писал(а):а вот базовый регистр уже лишний, тут я проще предложил.
Базовый адрес для регистров в памяти так или иначе присустствует (даже, если он равен нулю - Нуль - есть базовый адрес)

он вообще не нужен! достаточно всего двух регистров и памяти!

WingLion писал(а):
mOleg писал(а):именно! это и есть главная проблема самого-простого процессора
а я не думаю, что это проблема. Ну, получается, что одна команда за 8 тактов (обращений к памяти) исполняется.
Это ведь не проблема, особенно, если у нас память достаточно скоростная, а предельная скорость от процессора не требуется.

это еще какая проблема, потому и всякие RISCи, CISCи, MISCи и другие архитектуры есть.

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


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

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


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

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


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

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
mOleg писал(а):
это еще какая проблема, потому и всякие RISCи, CISCи, MISCи и другие архитектуры есть.


хм... а идея в чем тогда? Все xISC-и порвать?

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


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

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

1. выбрать из памяти PC mem(0) -> RA
2. выбрать команду mem(pc) -> RCMD
3. записать в память модифицированный PC RA+1 ->mem(0)
---
и т.д.

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


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

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


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

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


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

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