Спроектировать процессор «на коленке». Возможно ли?

Перенос из темы «Что первично, софт или хард? :)»
 
1 7 8 9 10 11 22

pokos

аксакал

zyxman> Ну и потом сильно много регистров на риалтайме тоже плохо - сильно долго переключать контекст,...
Для того придумали механизм регистровых окон. В RISK придумали.

pokos>> Кстати, а какой процессор CISC ты имеешь в виду, если х86 не считается?
zyxman> m68k, pdp-11, (micro)vax, до-Креевские cdc, cray, правда не все а те что были на отдельных мелкосхемах (крайние креи амовской разработки уже шли на alpha, а современные на рисковых-же NEC).\
Не туда думаешь. На этих архитектурах не достичь и десятой доли производительности того же Пенька. Они вообще "не считаются". Их-то RISK уделывает вообще по всем параметрам.

zyxman> Я боюсь тебя удивить, но x86 тоже вполне юсается в задачах управления, причем это не только всем известные i186/188/клоны и i386ex, а также есть и по сути SoC с ядром програмно совместимым с x86.
Есть и не такие извращения, ты меня не удивил. Я же предлагал тебе сравнить объёмы продаж.

zyxman> Кстати, в природе существуют заводские линии, упраляемые PDP-11 и VAX :P
С Open VMS на борту. А чё ж нет?

zyxman> Вот именно что в хорошем RISC общего назначения пайплайн длинный. А однокристалки совсем не показатель.
4 уровня - это длинный? Ты вспомни, скоко в Пеньке 4-м было.

zyxman> Очередь микрокоманд далеко не у всех CISC есть.
У древних - нет. У остальных есть обязательно.

zyxman> Думаешь, от хорошей жизни VLIW практически нигде кроме embedded не применяется?..
Да ну? а какие это серваки НР не так давно с производства снял?

zyxman> Напиши, пожалуйста и русское название,
Русское название перевода "Электроника СБИС. Проектирование микроструктур." Под редакцией Н. Айнспрука. Изд. "Мир" 1989
 6.06.0

pokos

аксакал

Mishka> Гы, нам попала в руки дока, где было 192 регистра. :)
Это не SPARC ли был?
"An implementation of the IU may contain from 40 through 520 general-purpose
32-bit r registers."

Если кому интересно, во что вылились ранее упомянутые "учебные" процессоры, то вот описание:
V8.pdf

Mishka> ...Только ортогональность — это дополнительное свойство, а не определяющий признак CISC.
Именно. Дофига CISC ортогональности не имеют.

Mishka> Понятие ПО реального-времени тоже сильно меняется. Та же система управления самолётом и есть РО, а задачки там не хилые. Или радарная всякая специфика — вычисленний тонны
Ну, там они хоть векторизуются и распараллеливаются посильно.
 6.06.0
Это сообщение редактировалось 15.06.2009 в 12:12

zyxman

опытный

zyxman>> Я боюсь тебя удивить, но x86 тоже вполне юсается в задачах управления, причем это не только всем известные i186/188/клоны и i386ex, а также есть и по сути SoC с ядром програмно совместимым с x86.
pokos> Есть и не такие извращения, ты меня не удивил. Я же предлагал тебе сравнить объёмы продаж.

Ну не люблю я винду и x86, поэтому сравнивать не хочу :P
А если их убрать а также ARM которых по 2 штуки в мобилках, а также посмотреть по годам, было-бы действительно любопытно ;)

zyxman>> Кстати, в природе существуют заводские линии, упраляемые PDP-11 и VAX :P
pokos> С Open VMS на борту. А чё ж нет?

Более чем удачный пример задач управления :P

zyxman>> Вот именно что в хорошем RISC общего назначения пайплайн длинный. А однокристалки совсем не показатель.
pokos> 4 уровня - это длинный? Ты вспомни, скоко в Пеньке 4-м было.

Мы же вроде x86 не рассматриваем :D

zyxman>> Очередь микрокоманд далеко не у всех CISC есть.
pokos> У древних - нет. У остальных есть обязательно.

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

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

zyxman>> Думаешь, от хорошей жизни VLIW практически нигде кроме embedded не применяется?..
pokos> Да ну? а какие это серваки НР не так давно с производства снял?

И какие там объемы продаж? :P
называть крепостное право рабством - это просто за пределами любой логики и здравого смысла (с) Fakir Если ничего не делать то точно ничего не будет, а если делать и искать, то что-то может получиться ;)  1.5.0.61.5.0.6
Это сообщение редактировалось 16.06.2009 в 22:34

pokos

аксакал

zyxman> Мы уже знаем что у CISC в обычно меньше регистров чем у RISC, вот и длина конвейера соответственно у CISC всегда меньше.
Всё ровно наоборот.

zyxman> Суперскаляры это немножко другая история ...
Нет, это та самая история, поскольку без этого CISC и остались бы на уровне 68000.

zyxman> И какие там объемы продаж? :P
Не самые низкие в классе серверных процов, меж делом.
 6.06.0
+
-
edit
 

Wyvern-2

координатор
★★★★★
Так объясните же мне темному деду :old: чем же принципиально RISC от CISK отличается? А то не пойму никак ...

// Mishka - просьба не беспокоиться ;)
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  3.0.113.0.11
+
-
edit
 

pokos

аксакал

Wyvern-2> Так объясните же мне темному деду :old: чем же принципиально RISC от CISK отличается? А то не пойму никак ...
Колян, CISС нынче практически отсутствует, так что, разговор ни о чём.
А в былые времена оно отличалось подходом к проектированию, не более того.
 6.06.0
RU Серокой #17.06.2009 12:33  @Wyvern-2#17.06.2009 12:25
+
-
edit
 

Серокой

координатор
★★★★
Wyvern-2> чем же *принципиально RISC от CISK отличается?

В чём подвох-то? Отсутствием работы с памятью напрямую, кроме команд load и store.
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
+
-
edit
 

Wyvern-2

координатор
★★★★★
Wyvern-2>> Так объясните же мне темному деду :old: чем же принципиально RISC от CISK отличается? А то не пойму никак ...

pokos> А в былые времена оно отличалось подходом к проектированию, не более того.

Так ЧЕМ ЖЕ?
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  3.0.113.0.11
RU Balancer #17.06.2009 12:59  @Серокой#17.06.2009 12:33
+
-
edit
 

Balancer

администратор
★★★★★
Серокой> В чём подвох-то? Отсутствием работы с памятью напрямую, кроме команд load и store.

Плюс ещё принцип команда - такт :)
 
MD Wyvern-2 #17.06.2009 13:27  @Balancer#17.06.2009 12:59
+
-
edit
 

Wyvern-2

координатор
★★★★★
Серокой>> В чём подвох-то? Отсутствием работы с памятью напрямую, кроме команд load и store.
Balancer> Плюс ещё принцип команда - такт :)

Из ВСЕГО, что здесь сказано про RISC&CISC - это все следствия Следствия применения той или иной концепции ;)

Суть, сестра! Суть!?
// Забываем великие вехи (с) :old::F А они имеют важнейшее отношение к теме топика ;)
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  3.0.113.0.11

zyxman

опытный

zyxman>> Мы уже знаем что у CISC в обычно меньше регистров чем у RISC, вот и длина конвейера соответственно у CISC всегда меньше.
pokos> Всё ровно наоборот.

Что наоборот? И у кого?

zyxman>> Суперскаляры это немножко другая история ...
pokos> Нет, это та самая история, поскольку без этого CISC и остались бы на уровне 68000.

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

А нынешние CISC фактически перешли на RISC-микрокоманды (Athlon, так тот вообще настоящий RISC, спрятанный за слоем аппаратной эмуляции x86), и как раз эта RISC-оптимизация главным образом дает ускорение, а совсем не суперскалярность, потому что для суперскалярности еще нужно программу специальным образом оптимизировать, что есть не всегда возможно.
называть крепостное право рабством - это просто за пределами любой логики и здравого смысла (с) Fakir Если ничего не делать то точно ничего не будет, а если делать и искать, то что-то может получиться ;)  1.5.0.61.5.0.6
+
-
edit
 

zyxman

опытный

Серокой>>> В чём подвох-то? Отсутствием работы с памятью напрямую, кроме команд load и store.
Balancer>> Плюс ещё принцип команда - такт :)
Wyvern-2> Из ВСЕГО, что здесь сказано про RISC&CISC - это все следствия Следствия применения той или иной концепции ;)

Главное принципиальное отличие что в RISC изначально полностью отказались от микрокоманд, и изначально были с пайплайном.
называть крепостное право рабством - это просто за пределами любой логики и здравого смысла (с) Fakir Если ничего не делать то точно ничего не будет, а если делать и искать, то что-то может получиться ;)  1.5.0.61.5.0.6
+
-
edit
 

pokos

аксакал

Wyvern-2> Так ЧЕМ ЖЕ?
Я уже писал маленько.
Люди сели плотно за анализ существующего добра, которого было уже наработано немало. Особенно, программ различного толка.
Провели научный (б/п) анализ того, какие ресурсы процессора и как часто используют реальные программы.
Что наиболее тормозит реальные программы. Куда расходуются ресурсы кристалла, и насколько эти расходы оправданы.

Потом провели оптимизацию архитектуры на основе полученных данных.
В том числе, набор команд, способы их кодирования, циклограммы работы железа и т.д.
В результае родили несколько полезных новых подходов, например, те же регистровые окна.
Вот и сделали RISK.
Обратите внимание, безо всякой экзотики типа векторного ядра или многоядрёности. На существующих на тот момент технологиях среднего уровня.
И изделие уделало "большие" микропроцессоры того времени по быстродействию, простоте разработки кремния и энергопотреблению. Больше оказался только размер кода, и то не намного.
А товарищи, сделавшие ARM, показали всему миру, что у подхода блестящие рыночные перспективы.

После прочтения той книги, когда глядишь на архитектуру 8080 и его детей, складывается ощущение, что эти процессоры люди делали вообще от балды, абы как.
 6.06.0

pokos

аксакал

zyxman> Что наоборот? И у кого?
я не знаю у кого, ты предложил рассмотреть только старину глубокую типа 68000. А тогда и было, как я написал - RISK имел более короткий конвейер. Давай нынешний CISC, если найдёшь.

zyxman> А нынешние CISC фактически перешли на RISC-микрокоманды (Athlon, так тот вообще настоящий RISC, спрятанный за слоем аппаратной эмуляции x86)...
Вот и я о том же, поэтому не понятно вовсе, чего ты с чем пытаешься сравнить.
 6.06.0
Это сообщение редактировалось 17.06.2009 в 14:06
+
-
edit
 

Wyvern-2

координатор
★★★★★
Серокой>>>> В чём подвох-то? Отсутствием работы с памятью напрямую, кроме команд load и store.
Следствия применения той или иной концепции ;)
zyxman> Главное принципиальное отличие что в RISC изначально полностью отказались от микрокоманд ....

О!
CISC - команды являются ссылками на подпрограммы микрокода.
RISC - команды выполняются прямо.
Отсюда и все "прибамбасы" RISC:
-фиксированный формат команды
-только один формат адресации
-работа (внутри одной команды) только с регистрами
-соответственно, большое число регистров
-глубокий конвейер (вернее - его возможность из за равного времени исполнения большинства команд)
-одно(мало)тактное исполнение команд
-малый объем задействованных транзисторов

Но опять таки - А ЗАЧЕМ ИЗНАЧАЛЬНО делали именно CISC? Ведь RISC было проще сделать всегда? ;)
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  3.0.113.0.11

pokos

аксакал

zyxman> Главное принципиальное отличие что в RISC изначально полностью отказались от микрокоманд, ...
Это неверно. микрокоманды там, всё же, были, просто их было на порядок-другой меньше.
 6.06.0
+
-
edit
 

pokos

аксакал

Wyvern-2> Но опять таки - А ЗАЧЕМ ИЗНАЧАЛЬНО делали именно CISC? Ведь RISC было проще сделать всегда? ;)
Изначально делали то, что КАЗАЛОСЬ необходимым по примеру "больших" компов. Потом этого добра всё добавляли и добавляли в кристаллы, пока не пришла пора убавлять.
 6.06.0
+
-
edit
 

Balancer

администратор
★★★★★
zyxman> Главное принципиальное отличие что в RISC изначально полностью отказались от микрокоманд

Да, это было главным отличием.
 
+
-
edit
 

pokos

аксакал

zyxman>> Главное принципиальное отличие что в RISC изначально полностью отказались от микрокоманд
Balancer> Да, это было главным отличием.
Говорю же, не полностью, а максимально уменьшили. Прерывания, к примеру, без микрокоманд не сделать.
 6.06.0
+
-
edit
 

Wyvern-2

координатор
★★★★★
zyxman>> Главное принципиальное отличие что в RISC изначально полностью отказались от микрокоманд, ...
pokos> Это неверно. микрокоманды там, всё же, были, просто их было на порядок-другой меньше.

Не принципиально - в CISC тоже некоторые команды имели все признаки RISC ;)
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  3.0.113.0.11
+
-
edit
 

Wyvern-2

координатор
★★★★★
zyxman>>> Главное принципиальное отличие что в RISC изначально полностью отказались от микрокоманд
Balancer>> Да, это было главным отличием.
pokos> Говорю же, не полностью, а максимально уменьшили. Прерывания, к примеру, без микрокоманд не сделать.

Забыл где...вспомню потом, но прерывания ВСЕ можно сделать в операционной системе, программно ;) Или ты забыл, что в первых Писишках даже регенерация памяти была программной? :)
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  3.0.113.0.11
RU Серокой #17.06.2009 14:10  @pokos#17.06.2009 14:08
+
-
edit
 

Серокой

координатор
★★★★
pokos> Говорю же, не полностью, а максимально уменьшили. Прерывания, к примеру, без микрокоманд не сделать.

Почему? Я что-то не понимаю, наше ядро работает вообще без микрокоманд, в ядре RISC-микроконтроллера AVR тоже прерывания напрямую работают.
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
+
-
edit
 

Wyvern-2

координатор
★★★★★
Wyvern-2>> Но опять таки - А ЗАЧЕМ ИЗНАЧАЛЬНО делали именно CISC? Ведь RISC было проще сделать всегда? ;)
pokos> Изначально делали то, что КАЗАЛОСЬ необходимым по примеру "больших" компов.
А ПОЧЕМУ в "больших компах" делали именно ТАК? :)
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  3.0.113.0.11
RU Серокой #17.06.2009 14:11  @Wyvern-2#17.06.2009 14:10
+
-
edit
 

Серокой

координатор
★★★★
Wyvern-2> Забыл где...вспомню потом, но прерывания ВСЕ можно сделать в операционной системе, программно ;)

В RISC наборе команд обычно есть программное прерывание, куда ж без него. )
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
MD Wyvern-2 #17.06.2009 14:11  @Серокой#17.06.2009 14:10
+
-
edit
 

Wyvern-2

координатор
★★★★★
pokos>> Говорю же, не полностью, а максимально уменьшили. Прерывания, к примеру, без микрокоманд не сделать.
Серокой> Почему? Я что-то не понимаю, наше ядро работает вообще без микрокоманд, в ядре RISC-микроконтроллера AVR тоже прерывания напрямую работают.

...или аппаратно, вообще без микрокода :F
Жизнь коротка, путь искусства долог, удобный случай мимолетен, опыт обманчив.... Ἱπποκράτης  3.0.113.0.11
1 7 8 9 10 11 22

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru