"Современный" Недо процессор реализуемый на FPGA

Публичный форум для http://www.nedopc.org/nedopc

Moderator: Shaos

User avatar
He3HauKo
Senior
Posts: 176
Joined: 09 Aug 2012 11:20
Location: 95.135.174.189

"Современный" Недо процессор реализуемый на FPGA

Post by He3HauKo »

В связи с бушующим морем О'сознания в необходимости продвигаться вперед в ногу со временем и не забивать "Попытки" наших предшественников, которые построили много разновидностей ПК для домашнего использования и реализации. А также множеству "Тем" открытых на форуме с вопросом о улучшении и создании новых "HOME BUILD PC".
Прошу всех к предложению и обсуждению построению "пока" теоретического процессора, для повторения на "ПЛИС".

Хочу увидеть в ºтой теме просто фантазии и возможно их конструктивное решение. Никакой привязанности и совместимости к существующим архитектурам, кроме их явно преимущественных особенностей НЕТ!!!
Хочу стать всезнайкой ;-)
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: "Современный" Недо процессор реализуемый на FP

Post by Lavr »

He3HauKo wrote:Прошу всех к предложению и обсуждению построению "пока" теоретического процессора, для повторения на "ПЛИС".
Хочу увидеть в ºтой теме просто фантазии и возможно их конструктивное решение. Никакой привязанности и совместимости к существующим архитектурам, кроме их явно преимущественных особенностей НЕТ!!!
Эх ты какой! :) Кто бы знал! Я сам для себя архитектуры фантазирую,
в определённых рамках...

И то пока ничего выдающегося не придумал... окромя пары мелочей.
Потому и читаю подробно про разные типы процев... в том числе и древних...
iLavr
User avatar
He3HauKo
Senior
Posts: 176
Joined: 09 Aug 2012 11:20
Location: 95.135.174.189

Re: "Современный" Недо процессор реализуемый на FP

Post by He3HauKo »

Lavr wrote:Потому и читаю подробно про разные типы процев... в том числе и древних...
Так же читаю про архитектуры, особенно используемые в современных процах.
Очень заинтересовало внедрение нескольких исполнительных модулей, что свою очередь позволит исполнять несколько на зависимых команд одновременно.
Правда также хочется и выполнения команды за один такт(для самых простых команд) а так же разновидность и гибкость команд.
Возможность использовать любой регистр как "аккумулятор" и тд и тп
Хочу стать всезнайкой ;-)
KolAnVi
Fanat
Posts: 79
Joined: 27 May 2011 04:25
Location: Perm

Post by KolAnVi »

Было ли такое где-нибудь...
Конечно. Все новое - хорошо забытое...
Last edited by KolAnVi on 14 Oct 2013 08:39, edited 1 time in total.
vinxru
Retired
Posts: 587
Joined: 27 Mar 2013 04:55
Location: 62.192.229.16

Post by vinxru »

Дак любой современный процессор так работает. Команда из памяти на лету превращается во внутренние команды (микрокод), и они выполняются параллельно и иногда в произвольном порядке.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

KolAnVi wrote:Было ли такое где-нибудь:
...
Что-то мне это напоминает как здесь, так и в одном другом топике на форуме, попытку
"впрячь в одну телегу коня и трепетную лань"...

Объясню: процессор появился как устройство, способное заменить любое другое
цифровое устройство, но отличающееся тем, что функциональность его определяет
программа, и при массовом выпуске процессор становится очень дешев.

Цифровой алгоритм любой сложности можно реализовать и без всякого процессора
в заказных специализированных БИС, причем выполнят они свою функцию быстрее и
лучше процесора, т.к. в ряде мест могут работать асинхронно, чего процессор себе
пока позволить не может...
Но подобные БИС дороги и для производства их все же желательна немаленькая партия.

Теперь мы думаем - а что, если процессору не выполнять программу, а согласно программе
конфигурировать отдельные свои блоки так, чтобы они быстро выполнили нужную
операцию над данными... потом - снова реконфигурация и т.д.

А будет ли это в таком случае процессор в привычном понимании этого термина?
iLavr
vinxru
Retired
Posts: 587
Joined: 27 Mar 2013 04:55
Location: 62.192.229.16

Post by vinxru »

Lavr wrote:А будет ли это в таком случае процессор в привычном понимании этого термина?
А процессор это и так набор блоков, которые коммутируются между собой по программе из памяти. В X86 группы команды типа

mov eax, ebx
mov ecx, edx

push eax
pop ebx

выполняются параллельно, потому что хитрая логика хитро коммутирует. В первом случае напрямую регистры eax-ebx, ecx-edx, потому что в процессоре три общие шины (три конвеера)
Last edited by vinxru on 14 Oct 2013 06:48, edited 3 times in total.
vinxru
Retired
Posts: 587
Joined: 27 Mar 2013 04:55
Location: 62.192.229.16

Post by vinxru »

"В мае 2011 фирмой Altera была выпущена, по технологии 28 нм, самая большая в мире микросхема, состоящая из 3,9 млрд транзисторов."

И все эти транзисторы можно заставить выполнять скажем умножение.

В процессоре же 90% транзисторов уходит под кеш.

ИМХО и еще раз ИМХО лишь в этом преимущество ПЛИС. Больше транзисторов выполняют полезную работу. Это точка зрения программиста, который смотрит на ПЛИС и Верилог как на процессор и Си.

На прохождение каждого логического элемента тратится время. 100 элементов, 100 единиц времени будет потрачено. Это как такты процессора.

Хотя, конечно, ПЛИС может работать как 100 независимых устройств, каждое на максимальной скорости, а процессор не может. Лишь бы ножек и ресурсов хватило.
KolAnVi
Fanat
Posts: 79
Joined: 27 May 2011 04:25
Location: Perm

Post by KolAnVi »

vinxru wrote:Дак любой современный процессор так работает...
Процессор выполняет подобные действия по своему СТРОГО ЗАДАННОМУ АЛГОРИТМУ. Научившись его изменять, получаем возможность тратить ресурсы ОПТИМАЛЬНО. При этом также уменьшается роль кэша.
На прохождение каждого логического элемента тратится время. 100 элементов, 100 единиц времени будет потрачено. Это как такты процессора
Такты рассчитаны на самого медленного участника. В асинхронной схеме не надо будет ждать каждого, а выждать когда на выходе последнего процессы устаканятся. Больше одного такта, скорее всего, но точно не 100
KolAnVi
Fanat
Posts: 79
Joined: 27 May 2011 04:25
Location: Perm

Post by KolAnVi »

Lavr wrote:А будет ли это в таком случае процессор в привычном понимании этого термина?
Почему нет? Снаружи - черный ящик, подключен к памяти, программу берет из памяти, данные берет из памяти, записывает в память.
Вычислитель. Кроме него никто. Как он там считает - если что считать однозначно задается внешней программой - его дело, нет?
В данном случае способ задания алгоритма немного другой, не напрямую.
KolAnVi
Fanat
Posts: 79
Joined: 27 May 2011 04:25
Location: Perm

Post by KolAnVi »

Потокостроитель
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

vinxru wrote:
Lavr wrote:А будет ли это в таком случае процессор в привычном понимании этого термина?
А процессор это и так набор блоков, которые коммутируются между собой по программе из памяти.
Ты меня немного не так понял, либо мы говорим о разном...
Процессор сейчас выполняет строго детерминированный набор команд.

В этом плане - он ничуть не умнее музыкальной шкатулки с программным валиком
(утрирую конечно).

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

Хотя... как говорил Дэн Сяо Пин - "не важно, как мы назовём кошку, лишь бы она
ловила мышей"
...
iLavr
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Про реконфигурируемость в соседней теме было, а тут вроде как изначально речь шла про процессор в FPGA...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24080
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Если под "современностью" процессора понимается способность запускать Linux, то существует опенсорцный OpenRISC:

http://s-macke.github.io/jor1k/

http://opencores.org/or1k/Main_Page

http://en.wikipedia.org/wiki/OpenRISC
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
He3HauKo
Senior
Posts: 176
Joined: 09 Aug 2012 11:20
Location: 95.135.174.189

Post by He3HauKo »

Shaos wrote:Если под "современностью" процессора понимается способность запускать Linux, то существует опенсорцный OpenRISC:
Нет, имелось виду использовать разработки прошедших лет в процессоро строении а также доступности ресурсов для реализации.
И возможность запускать Linux скорее как побочный эффект :wink:

ЗЫ. опенсорцный OpenRISC - уже изучен!
Хочу стать всезнайкой ;-)