nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 27 Apr 2024 10:07



Reply to topic  [ 68 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
самодельный многозадачный процессор 
Author Message
Online
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22601
Location: Silicon Valley
Reply with quote
Post 
MM wrote:
Насчет "расписывать процессор по конвееру" - это гораздо более сложный процесс я упомянул, следует понимать как "при максимальной тактовой частоте логики" - т.е. фазное управление в принципе не рассматривается. Реально это фантастически сложный процесс - Интел его делала усилием десятка яйцеголовых ручками за 2-3 года на камешек. Однако, результат - на максимальной ( тактовой ) частоте конвееризованный процессор показывает не менее, чем 2-х кратный прирост на классических смесях команд ( при линейной подаче команд - соответственно степени конвееризации ).
Первым конвеерным был 486 - но я могу ошибаться. Не конвеерным был 386DX - 7 тактов на рег-рег.
Апофеоз одноядерности в Интел - 8-параллельный Т(итаниум) - до 3-х подряд идущих ветвлений без потери крейсерской скорости - думается, со временем и господа из Израиля сцапают этот рецепт ( разработчики Коре-дуля ).
*
Насчет хитрости с экономией ПЗУ - не я разработчик, я просто привел пример - не стоит упускать из внимания, что готово было в 1988 г. - т.е. начали свистать с оригинала году так в 1983. К тому же я привел законченный вариант - 200 нс РФка - её не обойти ( напрямую ).
Были, конечно, и масочные ТТЛШ ПЗУ - с временами менее 60 нс,
но мне такие конструктивы не извесны ( т.е. готовые умножители 12 бит ).
*
Вот клянчил у Ю.Л. Отрохова ТО на его камень 1013ВМ1 - хрен дал
( официально ). И даже не счел нужным ( он ) упомянуть, что полно камушков без "К" - по этому и не дает ТО ( официально ) :
http://forum.ixbt.com/topic.cgi?id=64:3394-153 ( Иванов И.И. = MM )


Говорят, что 6502 уже имел в себе примитивный конвеер - иначе бы он не смог на частоте 1 МГц уделывать по математике Z80 работающий на 3.5 МГц...

_________________
:dj: https://mastodon.social/@Shaos


25 Mar 2014 16:54
Profile WWW
Banned
User avatar

Joined: 04 Jan 2013 10:09
Posts: 397
Location: 95.24.178.158
Reply with quote
Post 
А что мы в данном случае подразумеваем под словом "конвеер"?
А то:
Quote:
В 8086/8088 применена конвейерная архитектура. Конвейер повышает производительность процессора
за счет сокращения времени его простоя. Конвейер BIU в МП 8086 хранит до 6 байт, а 8088- до 4 байт.

Что тогда значит эта фраза?
MM wrote:
Первым конвеерным был 486 - но я могу ошибаться. Не конвеерным был 386DX - 7 тактов на рег-рег.

В старших процессорах Intell к конвейеру добавили еще и кеши.


26 Mar 2014 15:53
Profile
Doomed

Joined: 10 Mar 2012 16:21
Posts: 598
Location: РФ
Reply with quote
Post 
Stan wrote:
А что мы в данном случае подразумеваем под словом "конвеер"?
А то:
Quote:
В 8086/8088 применена конвейерная архитектура. Конвейер повышает производительность процессора
за счет сокращения времени его простоя. Конвейер BIU в МП 8086 хранит до 6 байт, а 8088- до 4 байт.

Что тогда значит эта фраза?
MM wrote:
Первым конвеерным был 486 - но я могу ошибаться. Не конвеерным был 386DX - 7 тактов на рег-рег.

В старших процессорах Intell к конвейеру добавили еще и кеши.
Коллега очевидно в своём понимании изволил употребить термин "конвеер".
Ничего страшного, раз всё разъяснилось, не будем цепляться к терминологическому разночтению, надеюсь.. :no:
А если не ограничиваться процессорами на одном кристалле, то надо отметить, что конвеер был и в некоторых "больших"( размером с зал которые ) машинах
MM wrote:
*
Насчет хитрости с экономией ПЗУ - не я разработчик, я просто привел пример - не стоит упускать из внимания, что готово было в 1988 г.* - т.е. начали свистать с оригинала году так в 1983. К тому же я привел законченный вариант - 200 нс РФка - её не обойти ( напрямую ).
Были, конечно, и масочные ТТЛШ ПЗУ - с временами менее 60 нс,
но мне такие конструктивы не извесны ( т.е. готовые умножители 12 бит ).
*
Ну вот, получается Вы косвенно обозвали того разработчика ваятелем НЕрационального решения. :oops: ( шучу :D )
Как я уже говорил :
petrenko wrote:
Уж не обессудьте, коллега, но решение не самое рациональное.. :(

Я ещё учась в школе запросто перемножал два двоичных 12-битных без-знаковых числа за те же 200нс при помощи ПЗУ-шек организованных как 8192*24 и ещё четырёх ИМС средней степени интеграции ( в "нашем" смысле средней - в "буржуинском" они считаются мелкой логикой )
( Не подумайте никоим образом, что хвастаю, ибо кроме меня так же умели делать, пожалуй, не менее десятка тысяч советских инженеров - дело то сие вполне заурядное, если школьные формулы знать... ) :rotate:
*_А я как раз в том году и узнал формулу. :idea:
Могу сообщить, ежели, так сказать, "по просьбам трудящихся".. :wink:
И даже блок-схему такого быстрого "математического сопроцессора", пожалуй, ... если все дружно спросят .... пока я добрый ... :dj:


26 Mar 2014 16:26
Profile
Banned
User avatar

Joined: 04 Jan 2013 10:09
Posts: 397
Location: 95.24.178.158
Reply with quote
Post 
petrenko wrote:
Коллега очевидно в своём понимании изволил употребить термин "конвеер".
Ничего страшного, раз всё разъяснилось, не будем цепляться к терминологическому разночтению, надеюсь.. :no:

Ну объясните мне тогда, раз у Вас всё разъяснилось, что имел в виду этот коллега, и что потом вот этот:
Shaos wrote:
Говорят, что 6502 уже имел в себе примитивный конвеер

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


26 Mar 2014 16:41
Profile
Doomed

Joined: 10 Mar 2012 16:21
Posts: 598
Location: РФ
Reply with quote
Post 
Да тоже всё просто. ( Надеюсь коллега "MM" не будет в обиде и ругать меня за разглашение. ) Он из экситона. А ещё я случайно с ним не так давно встретился и немножко разговаривал.
Так вот я обратил внимание, что ( видимо от среды общения по работе и не только ) у коллеги по многим вопросам своеобразный - как бы так поточнее сказать ... - контекст восприятия, что ли. В том числе и трактовка некоторых терминов. Ничего особо плохого в этом нет, но вот иногда, увы, приводит к недопониманию. :( В данном случае коллега для присвоения частичке схемы звания "конвеер" выдвинул весьма завышенные требования по сравнению с, например, пониманием "конвеера" той же фирмой "Intel". :-?

В конце концов - действительно - кто то скажет - "ну всего то шесть регистров", кто то обзовёт буфером, а вот в оригинале - как Вы изволили совершенно верно заметить - фирма назвала сие конвеером.

Или вот недавно я пытался разобраться в работе процессора из мелкой логики одной древней машинки. Там КОП после прочтения из ОЗУ сначала защёлкивается в регистре команд, а через tзадерж. сие, преобразованное в микрокод защёлкивается в регистре микрокоманды.
Вопрос - можно ли сие обозвать, ну например "примитивным конвеером" ? ( Честно говоря я не знаю, у меня нет однозначного ответа... )
И что обзывать конвеером, а что - нет ?
Два регистра - это конвеер ?
А три ?
( Ну четыре уж точно можно - ведь в 8088 их четыре :rotate: )

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


Ой, чуть не забыл - ведь T.S. просил подробнее за многофазную синхронизацию сказать..
Это просто : допустим у нас есть лог.элементы с задержками по 25нс
И нам приходится для обработки данных выстраивать лог.элементы в 4 "слоя". Соответственно общая задержка составит 100нс и обработанные данные будут выдаваться в темпе 10`000`000 "кусочков данных"/сек.
Но мы можем сделать каждый "слой" тактируемым отдельной фазой синхро ( со скважностью 4) и тогда несмотря на то, что общая задержка осталась 100нс (- но это только для самого первго "кусочка данных"-) темп выдачи составит уже 40`000`000 "кусочков данных"/сек.
Вот в чём преимущество многофазной синхронизации.
Выглядят синхросигналы при этом примерно так :
_П___П___П_
__П___П___П
___П___П___
П___П___П__


26 Mar 2014 18:23
Profile
Writer

Joined: 27 Feb 2014 05:15
Posts: 23
Location: 93.123.183.154
Reply with quote
Post 
похоже меня подталкивают к добавлению конвейера, я об этом думал, но точно не для версии 1.0, скорее для дальнейших доработок, если они будут

Quote:
Ой, чуть не забыл - ведь T.S. просил подробнее за многофазную синхронизацию сказать..
Это просто : допустим у нас есть лог.элементы с задержками по 25нс
И нам приходится для обработки данных выстраивать лог.элементы в 4 "слоя". Соответственно общая задержка составит 100нс и обработанные данные будут выдаваться в темпе 10`000`000 "кусочков данных"/сек.
Но мы можем сделать каждый "слой" тактируемым отдельной фазой синхро ( со скважностью 4) и тогда несмотря на то, что общая задержка осталась 100нс (- но это только для самого первго "кусочка данных"-) темп выдачи составит уже 40`000`000 "кусочков данных"/сек.


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

а так я пока стремлюсь сделать правильный (с моей точки зрения) самопальный процессор, на минимуме правильных (опять же с моей точки зрения) микросхем

правильными чипами для фан проектов считаю честную логику, а не ПЛМ-ы и зашитые в ПЗУ таблицы умножения


26 Mar 2014 21:43
Profile
Doomed

Joined: 10 Mar 2012 16:21
Posts: 598
Location: РФ
Reply with quote
Post 
Увы, не во всех случаях одну~две 556рт1 можно заменить на множество 531ла19 и/или 531ле7 :no:
Но во многих случаях в принципе можно..

( А ещё можно делать самому ПЗУ из одного или нескольких дешифраторов типа ид3 ( смотря сколько адресов ) и огромного количества диодов.. А что - видел ПЗУ в одной "малой" ЭВМ именно так выполненное.. :rotate: Веселуха .... ещё та. :dj: )


27 Mar 2014 13:08
Profile
Banned
User avatar

Joined: 02 Feb 2014 08:29
Posts: 102
Location: Павловский Посад
Reply with quote
Post 
Уважаемый господин petrenko, я не состою в штате Экситона уже более 20 лет, и я с Вами вообще никогда не встречался лично - только по переписке.
Далее замечу, что Иванов И.И. - это псевдоним.
Лично я не разрабатывал ни БК10, ни БК11 - т.к. тогда был студентом и присуствовал в качестве практиканта на Э.


28 Mar 2014 10:12
Profile WWW
Doomed

Joined: 10 Mar 2012 16:21
Posts: 598
Location: РФ
Reply with quote
Post 
Вы меня забыли... :(
Мы всё таки виделись.
И не так давно.
Я вместе с товарищем приезжал к Вам. :idea:

Впрочем неважно.
Quote:
я не состою в штате Экситона уже более 20 лет
Среди творческих работников как и среди .. ( .. впрочем тоже неважно, не будем о не касающихся наших тем людях ) "бывших" не бывает ! :rotate:

Так или иначе, но формула вообще из школьного курса математики !
ВСЕ инженеры обязаны знать ! ( или их надо увольнять ни секунды не раздумывая )

Ну так что - где "просьбы трудящихся" ? Формулу написать ?


28 Mar 2014 13:03
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
petrenko wrote:
Так или иначе, но формула вообще из школьного курса математики !
ВСЕ инженеры обязаны знать ! ( или их надо увольнять ни секунды не раздумывая )
Ну так что - где "просьбы трудящихся" ? Формулу написать ?

Я что-то не пойму, о чем Вы так экспрессивно митингуете... :(
Ни здесь, ни постами выше. Какая формула *, о которой Вы в какой-то год узнали?

_________________
iLavr


28 Mar 2014 15:38
Profile
God

Joined: 02 Jan 2006 02:28
Posts: 1390
Location: Abakan
Reply with quote
Post 
Lavr, разные формулы есть, в том числе на умножение. С другой стороны категорически не соглашусь насчёт "каждый инженер должен знать". Слишком околоспецифическая область.
Навскидку предположу, что в современных процессорах дофига математики делается табличками. Хотя бы ради регулярности структур на кристалле.


28 Mar 2014 20:24
Profile
Banned
User avatar

Joined: 02 Feb 2014 08:29
Posts: 102
Location: Павловский Посад
Reply with quote
Post 
Насчет конвеера - видимо, я не упомянул, что именно "конвеера АЛУ" - а так всякие забеги вперед и у 1801ВМ2 есть. В маленьких процессорах используются 2 тактовые линейки - прямой импульс и инверсный ( в упомянутом ВМ2 - вообще сдвинутый на 1/4 от главного такта ).
*
Вообще, конечно, командированных призжает к нам много - всё возможно.
*
По теме - а если взять боольшое многоразрядное СОЗУ, да подсоединить некотрые входы адресов к некотрым добавочным выходам данных - не получится ли нечто, похожее на примитивный 8-разрядный процессор ( пусть с 8-битным адресом ) ?
( О контенте микропрограммы этого монстрика скромно промолчу ).
( Первоначальную запись данных в СОЗУ вынесем за скобки ).
*
Многозадачность процессора обычно обеспечивается программно -
это всего лишь работа со стеком ( ядра ОС ).
Если аппаратно - можно просто предусмотреть группы РОН и призраков - и регистрик - переключатель этого дела. Отмечу так же, что 16 бит адреса - маловато будет ...


29 Mar 2014 02:43
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
jdigreze wrote:
Lavr, разные формулы есть, в том числе на умножение.

Так, может быть, мы их и знаем, а г-н petrenko разводит словесного туману,
что "за ним и леса не видать..." :lol:

_________________
iLavr


29 Mar 2014 05:03
Profile
Doomed

Joined: 10 Mar 2012 16:21
Posts: 598
Location: РФ
Reply with quote
Post 
Lavr wrote:
petrenko wrote:
Так или иначе, но формула вообще из школьного курса математики !
Ну так что - где "просьбы трудящихся" ? Формулу написать ?

Я что-то не пойму, о чем Вы так экспрессивно митингуете... :(
Ни здесь, ни постами выше. Какая формула *, о которой Вы в какой-то год узнали?
"По просьбам трудящихся" пишу формулу :
(А-Б)*(А+Б)==А^2-Б^2
Настолько просто, что никто не вспомнил... :D

А теперь как это поможет аппаратно.
Возьмём к примеру 16-битные беззнаковые два числа X и Y
{ ( А==X+Y ) & ( Б==Y-X ) }=>{ (X+Y)-(Y-X)==2*X ; (X+Y)+(Y-X)==2*Y }=>{4*X*Y==А^2-Б^2}
Не запутались ещё ?
Так в чём же выигрыш ( спросят возможно некоторые ) ?
Сколько входов ПЗУ треба для двух перемножаемых 16-битных беззнаковых чисел ?
Правильно, 32 входа. Очень доступная в 80-ые годы ПЗУ-шка, не так ли ? :-?
А сколько входов треба для одного возводимого в квадрат 16-битного беззнакового числа ?
Вдвое меньше - 16
Тоже многовато, но уже полегче.
А теперь обратим внимание, что функция ^2 регулярная и возможно поддаётся декомпозиции. :wink:
Дальше объяснять ?
Или уже и так всё ясно ?

( И напомню, что доступность ИМС MPY16 в СССР в 80-ые была просто замечательной ... :no: )


29 Mar 2014 22:23
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
petrenko wrote:
А теперь обратим внимание, что функция ^2 регулярная и возможно поддаётся декомпозиции. :wink:
Дальше объяснять ? Или уже и так всё ясно ?

Конечно, продолжайте, с этого места. А то Вы вечно норовите сказать "А" и не договорить "Б".
"Зогатки во тьме..."? (с) :wink:

_________________
iLavr


30 Mar 2014 00:01
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 68 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 55 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.