[image]

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

Перенос из темы «Что первично, софт или хард? :)»
 
1 2 3 4 5 6 7 22
+
-
edit
 

Balancer

администратор
★★★★★
AidarM> Т.е. логическая схемка в центре и вправду XOR на 4х И-НЕ. :)

О! Точно! Я именно такую и делал когда-то. А сейчас не вспомнил :)
   3.0.103.0.10
+
-
edit
 

Kuznets

Клерк-старожил
★☆
AidarM>> Т.е. логическая схемка в центре и вправду XOR на 4х И-НЕ. :)
Balancer> О! Точно! Я именно такую и делал когда-то. А сейчас не вспомнил :)

на 4 и-не можно и триггер собрать.
   3.0.103.0.10

Anika

координатор
★★☆
Kuznets> на 4 и-не можно и триггер собрать.
Это смотря какой.
Если RS-триггер - на него хватит и двух.
А вот насчет D-триггера - сомневаюсь.
   

Mishka

модератор
★★★
Kuznets>> на 4 и-не можно и триггер собрать.
Anika> Это смотря какой.
Anika> Если RS-триггер - на него хватит и двух.
Anika> А вот насчет D-триггера - сомневаюсь.

Ладно, проектировщики — а соберите-ка мне на такой логике хотя бы 8 битное сложение, потом вычитание, потому умножение (результат 16 битный), а потом деление. :) Хочу на схемки посмотреть. Только без софта, ручками.
   3.0.53.0.5
+
-
edit
 

Balancer

администратор
★★★★★
Anika> А вот насчет D-триггера - сомневаюсь.

Можно :) Как раз на 4-х.
   
+
-
edit
 

Balancer

администратор
★★★★★
Mishka> Ладно, проектировщики — а соберите-ка мне на такой логике хотя бы 8 битное сложение

Сложение, как раз, несложно, но на мелкой логике - весьма муторно :)

В процессоре самое громоздкое - это дешифратор команд. Даже в случае VLIW.
   
RU Balancer #10.06.2009 10:01  @Balancer#10.06.2009 09:55
+
-
edit
 

Balancer

администратор
★★★★★
Anika>> А вот насчет D-триггера - сомневаюсь.
Balancer> Можно :) Как раз на 4-х.

Хотя, ковыряюсь сейчас в своей памяти - нет... Вроде, на одной ЛА3 не собрать. На одной ЛА3 собирается делитель пополам на логике D-триггера, вроде, только.
   
RU Серокой #10.06.2009 10:04  @Mishka#10.06.2009 09:47
+
-
edit
 

Серокой

координатор
★★★★
Mishka> Ладно, проектировщики — а соберите-ка мне на такой логике хотя бы

Да занимались таким на профильных предметах... Если сложение-вычитание с последовательным переносом - вообще не вопрос.
   
RU Balancer #10.06.2009 10:09  @Серокой#10.06.2009 10:04
+
-
edit
 

Balancer

администратор
★★★★★
Серокой> Да занимались таким на профильных предметах... Если сложение-вычитание с последовательным переносом - вообще не вопрос.

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

Для реализации последовательного переноса - по 5 логических элементов на сумматор, ЕМНИП. 40 элементов на 8 бит. Вот что там в потрохах параллельного суммирования - уже не помню. Я их рассматривал только на уровне готовых блоков.
   
+
-
edit
 

Kuznets

Клерк-старожил
★☆
Mishka> Ладно, проектировщики — а соберите-ка мне на такой логике хотя бы 8 битное сложение, потом вычитание, потому умножение (результат 16 битный), а потом деление. :) Хочу на схемки посмотреть. Только без софта, ручками.

в музее есть имхо и на транзисторах, не то что на микросхемах..
===
в 1968 г. в короткие сроки в НИИ «Циклон» были созда­ны две модели электронных клавишных машин: «Электроника ДД» и «Электроника 68». В одну ЭКВМ* шло сразу около 400 транзисторов КТ-315 плюс 700 диодов и 1400 резисторов и конденсаторов.
===
   3.0.103.0.10
LT Bredonosec #10.06.2009 11:13  @Kuznets#10.06.2009 11:04
+
-
edit
 
Kuznets> в музее есть имхо и на транзисторах, не то что на микросхемах..
Kuznets> ===
Kuznets> ... В одну ЭКВМ* шло сразу около 400 транзисторов КТ-315 ...
- ага, тож вспомнил - КТ315 как раз для цифры считался хорош, бо по параметрам скорости переключения удовлетворял :) Толь к высокочастотным причисляли, толь как похоже обзывали )

Что-то счетчикоподобное сам на них лепить пытался ))
   7.07.0
RU Balancer #10.06.2009 11:14  @Bredonosec#10.06.2009 11:13
+
-
edit
 

Balancer

администратор
★★★★★
Bredonosec> Что-то счетчикоподобное сам на них лепить пытался ))

А чем 155ЛА3 не подходила? :)

...

Да и ИЕ2/ИЕ5 не были дефицитом. Не говоря уже про ТМ2.

...

КТ315 был хорош для управления аналоговой частью.
   
+
-
edit
 

pokos

аксакал

Balancer> Можно :) Как раз на 4-х.
Нельзя. На 4-х от силы Т-триггер с запоминающими кондючками.
   6.06.0

Kuznets

Клерк-старожил
★☆
Kuznets>> на 4 и-не можно и триггер собрать.
Anika> Это смотря какой.
Anika> Если RS-триггер - на него хватит и двух.
Anika> А вот насчет D-триггера - сомневаюсь.

   3.0.103.0.10

pokos

аксакал

Kuznets> http://dfe3300.karelia.ru/koi/posob/log_basis/img8.gif
Дык, это статический D-триггер, не считается.
   6.06.0

Kuznets

Клерк-старожил
★☆
pokos> Дык, это статический D-триггер, не считается.

тогда прекратить безобразие и использовать ТМ2 :)
   3.0.103.0.10
+
-
edit
 

Mishka

модератор
★★★
Balancer> Сложение, как раз, несложно, но на мелкой логике - весьма муторно :)

Сложение — это только начало. Потом попробуй деление (или умножение для начала).

Balancer> В процессоре самое громоздкое - это дешифратор команд. Даже в случае VLIW.
Не, не самое. :) Комбинаций много, но, не той сложности, как с хорошей арифметикой (если взять ещё плавающую точку) — нет. Когда для Самсона делали проц 16 (а потом 32), инженеры не даром все операции умножения и деления переложили на программистов (микрокод). :)
   6.06.0
+
-
edit
 

Balancer

администратор
★★★★★
Mishka> Сложение — это только начало. Потом попробуй деление (или умножение для начала).

И ты много знаешь восьмибиток с умножением и делением? Даже среди 16-биток полно процессоров без этих операций :)

Mishka> Не, не самое. :) Комбинаций много, но, не той сложности, как с хорошей арифметикой (если взять ещё плавающую точку) — нет.

А плавучка - до 486-х это вообще отдельные сопроцессоры. Да и в 486-х тоже, только на кристалле :)
   
RU Серокой #10.06.2009 19:51  @Mishka#10.06.2009 19:17
+
-
edit
 

Серокой

координатор
★★★★
Mishka> если взять ещё плавающую точку
Для плавающей запятой ( :P ) есть давно отработанное дерево Уоллеса. )

Mishka> инженеры не даром все операции умножения и деления переложили на программистов (микрокод). :)
Ну, для CISC может это и нормально, RISC так не извращается. )
   
+
-
edit
 

Kuznets

Клерк-старожил
★☆
Mishka> Сложение — это только начало. Потом попробуй деление (или умножение для начала).

умножение - пзу с таблицами выборки плюс один-два х-разрядных сумматора ;)
аппаратное деление также есть в арм каких-то.
   3.0.103.0.10

AidarM

аксакал
★★
Mishka> Когда для Самсона делали проц 16 (а потом 32), инженеры не даром все операции умножения и деления переложили на программистов (микрокод). :)

А в чем качественная сложность? Вот у К1801ВМ1 не было команд умножения и деления, а написать соотв. программульки легко. В них были циклы не длиннее разрядности, внутри циклов были сдвиги, сложения(вычитания) и сравнения. Т.е. заранее понятно, что составленная "в лоб" схема будет работать гораздо дольше и будет гораздо жирнее, чем схема сложения. И ЕМНИП команда MUL у 8086 реально работала в десятки раз медленнее команды ADD, о чем писалось в мануалах. ИМХО это чтобы люди где могли, обходились сдвигами или хотя бы несколькими сложениями.

Муторно, но ИМХО из-за количества, а не качества. Все операции, участвующие при умножении/делении так или иначе нужны и сами по себе. Т.е. логические схемы этих операций так и так надо делать и оптимизировать. А уж потом из них как минимум первый рабочий вариант делать.

Можно стараться делать схемку так, чтобы она умножала на минимальном кол-ве транзисторов, а можно так, чтобы за минимальное число тактов. Любопытно, какой вариант был приоритетнее у проектировщиков неизвестного мне Самсона? ИМХО 1й. :D
   3.0.103.0.10
Это сообщение редактировалось 10.06.2009 в 21:26
+
-
edit
 

Mishka

модератор
★★★
Balancer> И ты много знаешь восьмибиток с умножением и делением? Даже среди 16-биток полно процессоров без этих операций :)

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

Balancer> А плавучка - до 486-х это вообще отдельные сопроцессоры. Да и в 486-х тоже, только на кристалле :)

И почему так получилось? :P
   6.06.0
+
-
edit
 

Balancer

администратор
★★★★★
Mishka> Вот и попробуй спроектировать такой. Тогда будет понятна разница между железом и софтом.

Э... Я не берусь проектировать процессор с умножением в АЛУ. Это выше моих навыков :) Об этом я с самого начала почти сказал.

Balancer>> А плавучка - до 486-х это вообще отдельные сопроцессоры. Да и в 486-х тоже, только на кристалле :)
Mishka> И почему так получилось? :P

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

...

Или я тебя не понимаю, или ты мне пытаешься сказать, как сложно разрабатывать железо. Так я-то об этом тут и говорю :)
   
+
-
edit
 

Mishka

модератор
★★★
Mishka>> Сложение — это только начало. Потом попробуй деление (или умножение для начала).
Kuznets> умножение - пзу с таблицами выборки плюс один-два х-разрядных сумматора ;)
Kuznets> аппаратное деление также есть в арм каких-то.

Я предлагаю спроектировать, а не показать, что есть. И подумать, почему даже в современных процах это отдают на откуп программёрам (микрокод). Ну и в АРМ тоже не чисто железное, ЕМНИП.
   6.06.0
US Mishka #10.06.2009 21:42  @Серокой#10.06.2009 19:51
+
-
edit
 

Mishka

модератор
★★★
Серокой> Для плавающей запятой ( :P ) есть давно отработанное дерево Уоллеса. )

Которое отработанно больше математиками, а не разработчиками железа. :P

Серокой> Ну, для CISC может это и нормально, RISC так не извращается. )
Ага, эти идут с сопроцессорами, как правило. :)
   6.06.0
1 2 3 4 5 6 7 22

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