Просмотр полной версии : Стандартная логика - схемотехника
Прошу извинить за нетематический вопрос, но тут сидят "железячники", может быть кто-то что-то подскажет.
Вопрос: где бы подсмотреть схемы настоящих коммерческих (т.е. не упрощенные) логических элементов AND, OR, XOR, NOT, буферов и триггеров? Конкретно интересуют даже не сами схемы, а кол-во транзисторов (диодов) в каждом из отдельных логических эл-тов? Интересует в первую очередь серия 74, а также хотелось бы знать, есть ли существенная разница между кол-вом полупроводников в логическом элементе серии 74 и, скажем, 74F?
Сайтики такого (http://digital.sibsutis.ru/digital/TTL.htm) типа ты уже посещал вероятно?
http://masterelectronic.ru/spravochnik_radiodetali
Сайтики такого типа ты уже посещал вероятно?
Да, такие смотрел. Везде приводится одна и та же схема простейшего И-НЕ в качестве образца, остальные элементы нашел только упрощенные, схемы тристабильного буфера вообще не нашел.
http://masterelectronic.ru/spravochnik_radiodetali
Спасибо, уже качаю.
http://masterelectronic.ru/spravochnik_radiodetali
Однако, вещь бесполезная (для меня) - надергано из pdf'ок, ничего нового.
На первоначальные вопросы ответа пока не нашел.
На первоначальные вопросы ответа пока не нашел.
С большой долей вероятности максимум, что отыщется, это схемы похожие на указанные в посте Ewgeny7. Причины простые - типы логики отличаются технологическими улучшениями, которые невозможно описать схемотехникой - применение определенных типов изоляторов, тонких тех.процессов литографии, элементов не имеющих аналогов в дискретной электронике (например много-эмиттерный транзистор). Плюс ко всему инженерные khow-how закрытые не одним десятком патентов.
Хорошо, переформулирую вопрос: у меня есть схема, полностью состоящая из элементов стандартной логики серии 74 (в т.ч. с использованием многовходовых логических эл-тов). Как бы оценить в ней кол-во полупроводников, если эту же схему реализовывать целиком на кристалле? Оптимизацией полупроводников внутри кристалла при объединении логических эл-тов пока можно пренебречь.
Если упрощенные схемы элементов и, или, не и производных еще как-то находятся, то с тристабильным буфером (выходом) что-то совсем тяжко...
e2e4, витает вопрос... зачем забивать себе этим голову? Если есть логическая схема и необходимо в промышленных масштабах (сотни тысяч) сделать чип на ее основе, то это головная боль исполнителя - завода, пусть они и считают... если поменьше масштабы, то все это легко реализуется с помощью ПЛИС/ФПГА и опять же заданный тобой вопрос становится неактуальным.
Если упрощенные схемы элементов и, или, не и производных еще как-то находятся, то с тристабильным буфером (выходом) что-то совсем тяжко...
Ничего там с Z-состоянием сложного нет, просто выходной каскад состоит из двух транзисторов переходящих оба в запертое состояние по сигналу блокировки. Не помню названия книги со схемой каскада, дома посмотрю сообщу где искать.
e2e4, витает вопрос... зачем забивать себе этим голову?
Есть задумка в качестве хобби (и для учебной цели) сделать микропроцессор собственной (ИМХО довольно оригинальной и интересной) архитектуры. По идее, он занимает промежуточное положение между 8 и 16 битовыми МП конца 70-х годов. Подробности рассказывать пока не хочу (хотя руки чешутся запостить опрос о наборе команд - захочет ли с ним вообще работать нормальный программист :) ), а вот что хотелось бы, так это сравнить его по числу транзисторов с Z80 и 6502. Это сравнение даст возможность оценить эффективность схемной реализации, т.к. он задумывается как максимально простой при превосходящей их эффективности при реализации уже на стандартной логике (кроме команд типа LDIR, которых не предполагается, хотя судя по всему их реализация простым циклом также будет эффективней, чем на Z80)
Спешу ответить на следующий вопрос - да, в ПЛИСе реализовать проще (и скорее всего он будет первоначально в ней, а еще первоначальней - эмулироваться микроконтроллером для проверки периферии), но что действительно хочется - сделать именно на логике (сейчас уже 175 микросхем суммарно получается :) ).
Кстати вполне подойдет ответ и на обратный вопрос - сколько стандартной логики надо для реализации Z80 и 6502?
Ничего там с Z-состоянием сложного нет, просто выходной каскад состоит из двух транзисторов переходящих оба в запертое состояние по сигналу блокировки. Не помню названия книги со схемой каскада, дома посмотрю сообщу где искать.
Вот спасибо! А я что-то сам не догадался...
Z80 не строился из логических элементов, вот сравни толи 2 диода для логики И толи десяток тразюков, для того же лог. И, внутри чипа не надо входные выходные цепи, и все гораздо проще, Z состояние тож нафик не надо в чипе, и сомнительно что кто то его там юзает
вот сравни толи 2 диода для логики И толи десяток тразюков, для того же лог. И, внутри чипа не надо входные выходные цепи, и все гораздо проще.
Вот как бы это теперь адекватно сравнить? :)
В общем по теме с Z-состоянием:
Зельдин Е.А. "Цифровые интегральные микросхемы в информационно-измерительной аппаратуре" стр.54
http://narod.ru/disk/13583155000/zeldin%20cifrovuye%20integralnuye%20mikrosxemuy.pd f.html
Там по этому и сопутствующим вопросам есть что посмотреть.
---------- Post added at 09:50 ---------- Previous post was at 09:48 ----------
Еще одна статейка со схемотехникой высокоимпедансного состояния тут:
http://www.asvcorp.ru/tech/digit/part24a.html
CodeMaster
12.05.2011, 11:55
Вопрос: где бы подсмотреть схемы настоящих коммерческих (т.е. не упрощенные) логических элементов AND, OR, XOR, NOT, буферов и триггеров?
Простую логику я видел в какой-то книге (посмотрю дома) там есть несколько примеров для 155 серии пассивные элементы расписаны вплоть до номиналов.
CodeMaster
12.05.2011, 20:40
Вот эта книга "Популярные цифровые микросхемы" В.Л. Шило серия МРБ 1989
Отсканировать или сфоткать пока не могу. Там дана схемотехника базовых элементов ИС и показаны некоторые примеры отличий схем базовых элементов ТТЛ, ТТЛШ, МТТЛ и т.д.
Viktor2312
12.05.2011, 22:18
e2e4 - создать полностью на логике микропроцессор - это правильно, полностью поддерживаю.
Сам переодически задумываюсь над этим, но я предпологаю если и делать на логике микропроцессор, то тогда и все остальные компоненты нужно делать на логике. Но это, так для себя, Вы конечно можите делать как считаете нужным.
Интересен такой вопрос, тактироваться это будет от какого тактового генератора? И какой частотой?
Если есть схема, может выложите?
Также хотелось бы посмотреть хотя бы Ваши наброски структурной схемы.
sergey2b
12.05.2011, 22:34
Вот эта книга "Популярные цифровые микросхемы" В.Л. Шило серия МРБ 1989
Отсканировать или сфоткать пока не могу. Там дана схемотехника базовых элементов ИС и показаны некоторые примеры отличий схем базовых элементов ТТЛ, ТТЛШ, МТТЛ и т.д.
http://publ.lib.ru/ARCHIVES/M/''Massovaya_radiobiblioteka''/_''Massovaya_radiobiblioteka''_1100-1199_.html#1145
<Массовая радиобиблиотека>. Выпуск 1145. [Djv-ZIP]
(М.: Радио и связь, 1989)
Scan: AAW, Djvuing: Pohorsky, 2008
В.Л.Шило. Популярные цифровые микросхемы. Справочник. 2-е издание, исправленное
Viktor2312
12.05.2011, 22:55
sergey2b - спасибо за ссылку отличная книга, слышал о ней ещё с 91 года, но как-то всё не получалось обзавестись ею, а сейчас как-то некогда было искать, что бы скачать.
Об этой книге все всегда отзывались положительно ещё в далёких 90-х, когда я малолеткой только постигал азы спектрумостроения.
CodeMaster, sergey2b - спасибо!
e2e4 - создать полностью на логике микропроцессор - это правильно, полностью поддерживаю.
Гы, ну вообще-то это не правильно с точки зрения здравого смысла и современных технологий :).
У логики в виде рассыпухи есть ряд существенных недостатков:
- Как подмечено в этой теме - лишние вентили для обеспечения согласованности входов/выходов;
- Малая (по современным меркам) скорость работы - не быстрее 5...8 нс время задержки (хотя есть такой зверь как гигагерцовая логика, но я если честно не вникал). Что вполне естественно - для более быстрых применений добро пожаловать на уровень кристалла.
- Трудности с закупкой отдельных представителей семейства.
- Ограниченный набор элементов - например, если мне нужна 5-битная защелка, я вынужден ставить 8-битную, что тоже ведет к перерасходу эл-тов. Отсутствие таких элементов, как скажем 8-ми входовый ИЛИ-НЕ в ТТЛ серии, или например элементов, где часть входов была бы прямыми, а часть - инверсными.
Прочие недостатки - высокое энергопотребление, трудоемкость изготовления изделия и габариты считаю несущественными в данном конкретном случае.
Лучше всего конечно разработать сразу ASIC и заказать ее где-нибудь на заводе, но... сколько это будет стоить? Кто в России возмется? Да и оптимизировать схему на уровне транзисторов пока не очень хочется.
Сам переодически задумываюсь над этим, но я предпологаю если и делать на логике микропроцессор, то тогда и все остальные компоненты нужно делать на логике. Но это, так для себя, Вы конечно можите делать как считаете нужным.
Хотя бы проц осилить...
Интересен такой вопрос, тактироваться это будет от какого тактового генератора? И какой частотой?
Либо от тактового генератора, либо тактовый генератор встрою в схему, тогда стандартно - кварц + 2 конденсатора. На самом деле это абсолютно не принципиально.
По прикидкам максимальная частота составит 5...10 Мгц при реализации на микросхемах 74F, 1,5 такта на инструкцию (при переходах первая инструкция - 2 такта). Сравнивать производительность интересно на равных с Z80 и 6502 частотах на одинаковых задачах, т.е. на 3,5 и 2 Мгц соответственно. И сравнить сложности реализации этих трех процессоров (предлагаемый вариант - по кол-ву вентилей в полной схеме).
Если есть схема, может выложите?
Обязательно выложу... но потом :). Сырая она еще. Нет очень важной (последней) части - схем задержек для синхронизации отдельных участков процессора.
Также хотелось бы посмотреть хотя бы Ваши наброски структурной схемы.
Есть схема взаимодействия регистров, есть структурная схема передачи информации по шинам, доделываю схему принципиальную. Структурной схемы как таковой нет. Да и что там особо мудрить - шифратор (обработка служебных триггеров, состояния входов, в т.ч. тактового сигнала, текущей команды)->декодер команд (с обработкой команд условных переходов)->дешифраторы->сигналы управления->регистры/АЛУ/шины->повторить.
На самом деле все это не так важно. Гораздо интереснее было бы обсудить архитектуру и набор команд. Возможно, создам такую тему, если будет интересно.
Лучше всего конечно разработать сразу ASIC и заказать ее где-нибудь на заводе
там партии минимальные от 10к штук, даже если тебе одни чип надо плати за 10к.
Да и оптимизировать схему на уровне транзисторов пока не очень хочется.
Такое могут себе позволить только такие гиганты как Intel Sun AMD итд, ASIC делают на базовых матричных кристаллах, чипах типа хардкопи (фактически fpga где делают верхними слоями конфигурацию вместо ячеек памяти) рисунок топологии кристала для мелкосерии врятли возьмут, тем более смеху из транзюков
Оптимизацией кристала занимаются производители, это если бмк, для hardcopy это делают синтезаторы фиттеры и прочая фигня к примеру из квартуса
там партии минимальные от 10к штук, даже если тебе одни чип надо плати за 10к.
Это понятно. А порядок цены на минимальную партию и подготовку к производству случайно не знаете? Для повышения эрудиции так сказать :).
Т.е. цена за чип думаю будет в районе 10...30$. А вот сколько за подготовку к пр-ву возьмут?
---------- Post added at 23:53 ---------- Previous post was at 23:50 ----------
ASIC делают на базовых матричных кристаллах, чипах типа хардкопи (фактически fpga где делают верхними слоями конфигурацию вместо ячеек памяти)
тем более.
Viktor2312
13.05.2011, 01:32
5...8 нс время задержки
Ну на самом деле поменьше будет время распространения (задержки).
Предпочитаю пользоваться отечественной элементной базой и соответственно:
Стандартная ТТЛ логика серии К155 имеет время задержки => 10nc
Стандартная ТТЛШ логика серии К555 имеет такое же время задержки => 10nc
Да согласен К155 и К555 серия как раз имеют указанное Вами быстродействие, где-то среднее.
А вот К531 серия, тоже ТТЛШ уже время задержки => 3nc
А К500 серия так вообще => 2nc, но это ЭСЛ логика,
Есть ещё К1500 серия там частоты до 1900 МГц, но я с ней совсем не сталкивался.
Я думаю, что хорошо продуманная структура микропроцессора, на ТТЛШ логике, современной типа К1531 или К1533 будет работать так же как и микропроцессор на кристалле.
Вот сейчас не помню где видел, но у буржуев есть уже реализованный проект готовой системы на логике и графика цветная при этом.
Вобщем желаю удачи в воплощении Вашей задумки в жизнь.
И всё таки решение правильное, ведь было же указано - хобби.
А хобби - это не комерческий проект, цель которого приносить доход.
Удачи. С нетерпением буду следить за развитием и реализацией Вашей задумки...
с К531, к500, К1500 не знаком совсем. Я хочу применить исключительно DIP-корпуса, они бывают в таких?
К1531 - аналог 74F. Время задержки беру не типичное, а максимальное при нагрузке 50 пФ, от -55 до 120 С. Там получаются цифры до 12 нс.
Если что-то еще можно заменить на более быстрые серии, то самое быстрое 74181 насколько я понял бывает только в исполнении F (или AS, что одно и то же). И имеет приличные задержки. А без него никуда.
Вобщем желаю удачи в воплощении Вашей задумки в жизнь.
Спасибо!
С нетерпением буду следить за развитием и реализацией Вашей задумки...
Как будет что-то готово - обязательно выложу, оно для того и задумывалось.
Viktor2312
13.05.2011, 02:45
Я хочу применить исключительно DIP-корпуса, они бывают в таких
К531 и К500 только в DIP корпусах видел. А вот К1500 не встречал, только в справочнике читал.
К1531 - аналог 74F. Время задержки беру не типичное, а максимальное при нагрузке 50 пФ, от -55 до 120 С. Там получаются цифры до 12 нс.
12нс, что-то многовато, для К155 серии указано максимальное значение 10нс, как и К555. Лучше тогда К555 серию применить, она стандартная мало потребляет (2 мВ*А/на вентиль) и имеет очень много готовых узлов.
А вот К500 серия в DIP корпусах вся технология ЭСЛ, 2нс, потребление у неё большое (25 мВ*А/на вентиль), но она работает на частоте максимальная в районе 250МГЦ, но лучше точно смотреть на конкретную микросхему.
И имеются такие микросхемы как сдвоенный сумматор-вычитатель АЛУ на 16 операций К500ИП180, К500ИП181
Схема ускоренного переноса К500ИП179,
Куча разных логических элементов: три элемента ИЛИ-НЕ, три элемента ИЛИ-НЕ/ИЛИ.
Так же имеются преобразователи уровня К500ПУ124 и К500ПУ125.
Но больше всего подкупает частота на которой это серия может работать, так на память помоему для любой микросхемы этой серии не менее 150МГц.
Что бы добиться максимальной скорости нельзя юзать двунаправленные буферы и Z состоянием, переключение направления и вход/выход в/из Z состояния самые медленные операции. А 12нс для F это скорее всего при температуре 90 градусов и максимальной нагрузке на выходы, вместо того что бы нагружать цепь несколькими источниками надо делать мультиплексор, а что бы не ловить глюки надо по максиму юзать синхронную логику. Если архитектура не RISC можно поюзать SRAM для микрокода, количество сэкономленной логики на декодере команд и устройстве управления может с лихвой покрыть колво микрух нужных для загрузки SRAM, но это не чистая логика, можно ПЗУ но оно медленное.
CodeMaster
13.05.2011, 09:04
А вот К500 серия в DIP корпусах вся технология ЭСЛ
Она работает "под землёй" не смущает что понадобится ±5В и элементы согласования?
sergey2b
13.05.2011, 10:16
sergey2b - спасибо за ссылку отличная книга, слышал о ней ещё с 91 года, но как-то всё не получалось обзавестись ею, а сейчас как-то некогда было искать, что бы скачать.
Об этой книге все всегда отзывались положительно ещё в далёких 90-х, когда я малолеткой только постигал азы спектрумостроения.
я в начале 90 тороговал книгами по электроники, знаю большую часть книг изданных тогда
справочник один из лучиших
была еще отличная книга по асму 8080 могу дать ссылку
Это понятно. А порядок цены на минимальную партию и подготовку к производству случайно не знаете? Для повышения эрудиции так сказать
В России такую задачу к примеру зеленоградский "Ангстрем" способен осилить, и наверняка это не единственное предприятие способное не только пакетики делать.
А что до цены, по доступной информации порядка 100тыс.$ за итерацию производства (подготовка производства, изготовление кремниевой пластины). Для получения действующего образца, с надлежащим функционированием всех логических блоков необходимо 2-3 итерации, а то и больше. Плюс разработка самого кристалла (в соответствующих CAD, скорее всего недоступных нахаляву) еще откусит кусок бюджета. В общем если у вас есть ненужная вилла с несколькими акрами земли у моря, можете вложить в мечту:)
Viktor2312
13.05.2011, 11:17
я в начале 90 тороговал книгами по электроники, знаю большую часть книг изданных тогда
справочник один из лучиших
была еще отличная книга по асму 8080 могу дать ссылку
Конечно давай! Спасибо.
---------- Post added at 11:17 ---------- Previous post was at 11:00 ----------
Она работает "под землёй" не смущает что понадобится ±5В и элементы согласования?
CodeMaster Я только предложил как вариан повышения быстродействия. А решать применять её или нет будет уже е2е4. Там кстати питание просто -5,2 вольта, но может потребоваться и -2В.
CodeMaster
13.05.2011, 11:23
Я только предложил как вариан повышения быстродействия
Не, ну в принципе можно отдельные узлы конечно и на ЭСЛ построить, у неё устойчивость к помехам лучше.
Там кстати питание просто -5,2 вольта
Ну питание-то при современных технологиях не проблема, но там и сигнальные уровни в "минусе". В принципе согласователи с ТТЛ в 500-й серии есть, увеличится количество корпусов, но если проблема с быстродействием возникнет может это и будет решением.
Viktor2312
13.05.2011, 14:22
Странно тема переместилась, чтоли? Тогда не понятно почему тема посвящённая полностью железу, оказалась в разделе Software.
Странно тема переместилась, чтоли?
Да.
Тогда не понятно почему тема посвящённая полностью железу, оказалась в разделе Software
Уже обсуждалось, считай, что она не в софте, а вообще где-то между. Т.е. не обращай внимания.
А всякое "железо" неспектрумовской национальности переносится именно сюда, если не попадает под категории отечественных или зарубежных компьютеров.
Т.е. "просто электроника" живет в "Разном".
12нс, что-то многовато, для К155 серии указано максимальное значение 10нс, как и К555.
А 12нс для F это скорее всего при температуре 90 градусов и максимальной нагрузке на выходы,
Могу только сослаться на pdf'ки, например вот (http://www.labmaster.com/surplus/parts/html/939679/74f157.pdf). Значение взято при VCC = +5.0V ± 10%, Tamb = –40°C to +85°C, CL = 50pF, RL = 500W.
Для серии К155, которая аналогична серии 74 без всяких букв, значение будет в районе 27 нс (см. вот тут (http://www.datasheetcatalog.org/datasheets/120/236599_DS.pdf)).
Что бы добиться максимальной скорости нельзя юзать двунаправленные буферы и Z состоянием, переключение направления и вход/выход в/из Z состояния самые медленные операции.
Двунаправленных не использую, но как же обойтись без буферов с Z-состоянием??? Шины же...
вместо того что бы нагружать цепь несколькими источниками надо делать мультиплексор,
Который внесет свою дополнительную задержку.
Если архитектура не RISC можно поюзать SRAM для микрокода, количество сэкономленной логики на декодере команд и устройстве управления может с лихвой покрыть колво микрух нужных для загрузки SRAM, но это не чистая логика, можно ПЗУ но оно медленное.
Юзаю PROM AM27S19SA 15 нс (32х8). Такой быстрой SRAM не нашел.
А что до цены, по доступной информации порядка 100тыс.$ за итерацию производства (подготовка производства, изготовление кремниевой пластины).
Что-то нереально дорого. Это для какого техпроцесса? Мы же тут не об уровне Core-подобных процессоров говорим.
ну в принципе можно отдельные узлы конечно и на ЭСЛ построить, у неё устойчивость к помехам лучше.
Везде пишут, что наоборот - ниже за счет меньшей разницы напряжений для лог. уровней.
Нет, ЭСЛ - увольте. Да и частота - не самоцель.
---------- Post added at 14:52 ---------- Previous post was at 14:47 ----------
Для себя придумал следующее по кол-ву вентилей на лог. элемент:
NOT - 1; NAND, NOR, NXOR - 2; AND, OR, XOR - 3; каждый выход (простой, HI-Z) - 2; один бит PROM - 1. При этом выходы учитываются только те, которые идут непосредственно на пины процессора или на внутренние шины с HI-Z состоянием. Кол-во вентилей от кол-ва входов лог. элемента не зависит - скорее всего должны быть использованы многоэммитерные транзисторы на входы. Поправьте если где-то грубо соврал.
Что-то нереально дорого. Это для какого техпроцесса? Мы же тут не об уровне Core-подобных процессоров говорим.
За что купил, за то и продал, такая цифра пролетала в разговоре с разработчиками специализированных БИС, уровень интеграции сопоставим c кодером PAL. Возможно это были понты, с целью продать чип подороже, но другой информацией не располагаю.
За что купил, за то и продал, такая цифра пролетала в разговоре с разработчиками специализированных БИС, уровень интеграции сопоставим c кодером PAL. Возможно это были понты, с целью продать чип подороже, но другой информацией не располагаю.
В любом случае за информацию спасибо, однако цифра просто не поместилась в голове. ИМХО с помощью древнего аналогового искусства фотодела (:)) вполне можно создавать чипы с малой степенью интеграции (насколько я это себе представляю). Ну не стоит эта технология 100к $ за итерацию!
Может быть, имеются в виду разные вещи.
e2e4, хотелось бы таки "понюхать" вашу систему команд.
e2e4, хотелось бы таки "понюхать" вашу систему команд.
Да вот, готовлю более-менее удобный к прочтению текстик. Кроме системы команд надо регистровый файл еще описать. Вкратце идея следующая: любая команда - 8 бит. Без исключений. Операндов нет. Это сильно упрощает декодер команд, сокращает обращения к памяти и, соответственно, кол-во тактов на команду. А вот АЛУ, все регистры - 16 битные. Соответственно, надо как-то впихнуть в 256 команд все необходимое, да еще так, чтобы было не сильно хуже, чем у настоящих процессоров. Основная проблема - это загрузка 16-битной константы.
При этом, система команд - не MISC в ее стандартном понимании (стек-машина). А все-таки, более-менее классическая.
В ближайшее время выложу.
В любом случае за информацию спасибо, однако цифра просто не поместилась в голове. ИМХО с помощью древнего аналогового искусства фотодела () вполне можно создавать чипы с малой степенью интеграции (насколько я это себе представляю). Ну не стоит эта технология 100к $ за итерацию!
Ну мы же говорим не о уровне детализации и плотности 155ЛА3, а о БИС с количеством транзисторов порядка 10-100тыс на кристале в 1мм2, и скоростью переключения от 100нс и меньше. Фотодело тут слабо катируется ввиду того что это гальваника полупроводниковых материалов. Эта технология недоступна ввиду дороговизны и крупным предприятиям, вследствии того что окупаемость наступает при сериях чипа в сотни тысяч. В иных случаях применяют полузаказные маричные чипы, ПЛИС или модули (функционально завершенное устройство, по сути эволюция гибридных микросхем). Даже технология PCB продолжает оставаться дорогой для того чтобы иметь собственные производственные мощности, что уж говорить о технологиях требующих на три и более порядков тонкие процессы, сверх чистые помещения и все такое прочее. А технология требует как реальных затрат на материалы, так и очень больших амартизационных отчислений. Так что цена производства чипов приближенно близка к реальной, пусть не 100 тыс, но 10 тыс $ наверняка, иначе бы в производстве мы бы видели совершенно другую картину - жесткая логика куда приемлемее в работе программируемых контроллеров и ПЛИС.
Да вот, готовлю более-менее удобный к прочтению текстик. Кроме системы команд надо регистровый файл еще описать.
Вкратце идея следующая: любая команда - 8 бит. Без исключений. Операндов нет. Это сильно упрощает декодер команд, сокращает обращения к памяти и, соответственно, кол-во тактов на команду. А вот АЛУ, все регистры - 16 битные. Соответственно, надо как-то впихнуть в 256 команд все необходимое, да еще так, чтобы было не сильно хуже, чем у настоящих процессоров. Основная проблема - это загрузка 16-битной константы.
При этом, система команд - не MISC в ее стандартном понимании (стек-машина). А все-таки, более-менее классическая.
В ближайшее время выложу.
С интересом просмотрел вашу тему. Если дело в итоге сдвинулось хоть на миллиметр, не расскажете, что уже есть на сегодня?
В любом случае за информацию спасибо, однако цифра просто не поместилась в голове. ИМХО с помощью древнего аналогового искусства фотодела () вполне можно создавать чипы с малой степенью интеграции (насколько я это себе представляю).
Можно. Вспоминается, что когда начиналаcь известная фирма Интел, Гроув лично ходил в магазин выбирать подходящие объективы. Если нужна точная цитата, придется искать и вспоминать где именно это встретилось (быстро не нашлось, сам бы перечитал).
Ну не стоит эта технология 100к $ за итерацию!
Может быть, имеются в виду разные вещи.
"Эта технология" -- если говорить о совр. процессах -- стоит намного больше. Один набор масок может стоить миллионов 5 (я давно перестал отслеживать тему, навскидку вспоминается $2M для 65nm (могу ошибиться с нодом), все это можно быстро найти), а это лишь отдельно взятая статья расходов всего цикла.
С интересом просмотрел вашу тему.
Спасибо!
Можно. Вспоминается, что когда начиналаcь известная фирма Интел, Гроув лично ходил в магазин выбирать подходящие объективы.
Именно этот исторический период и именно команду под руководствам Энди Гроува я и имел ввиду, когда писал про фотографию и производство чипов :).
Если дело в итоге сдвинулось хоть на миллиметр, не расскажете, что уже есть на сегодня?
Дело сдвинулось, да. Во-первых, придумать-то систему команд я придумал (всего 256 команд). И загрузка 16-битной константы осуществляется за 3 команды (24 бита, 3 такта), что не хуже, чем если иметь префикс операции (8 бит) + 16-битная константа (16 бит) = те же 24 бита. Правда в моей системе команд загрузка константы возможна только в один регистр (условно назвал его аккумулятор, хотя это не аккумулятор в классической его трактовке). Когда дело оставалось за малым - всего-то нарисовать схему устройства управления и, как ее часть - декодера команд, то тут обозначился полярный пушной зверек. Во-первых, что-то около 60 сигналов управления (это после тщательной оптимизации). Во-вторых, декодер команд реально построить только на EEPROM (60/8 = около 8 EEPROM 16k x 8 = 128 кбайт прошивки), в-третьих, когда оставалось еще чуть-чуть чтобы довести дело до конца, я понял все уродство такого дизайна, и потер его нафиг.
Сейчас потихоньку (в качестве упражнения для ума) думаю над такой концепцией:
1. Длина команды = разрядности шины данных = разрядности шина адреса = разрядности АЛУ = 16 бит.
2. Команда имеет вид:
xccfmmdddaaaoobb
x - top secret :)
cc - operation execute condition
00 execute always
01 execute if FC=...
10 execute if FZ=...
11 execute if FZ=...
f - flags
0 do not alter flags
1 alter flags
mm - memory addressing
00 none
01 *aaa
10 *ddd
11 ...
oo - operation, altered flags (when f = 1)
00 OP1 ,z
01 OP2 ,z
10 OP3 ,c, z
11 OP4 ,c, z
ddd - destination = aaa - first arg OP bb - second arg.
3. Ну и набор из 7 регистров, 1 из которых - PC, другой - условно SP (условно потому, что автоматически инкрементируется при чтении, при записи - не декрементируется, это надо делать вручную). Каждый регистр может адресовать память. Присутствует механизм записи 16-битной константы за одну команду в любой регистр с использованием регистра PC. Присутствует механизм прерываний (примитивный, всего одно маскируемое прерывание). Присутствует механизм чтения/записи одного 16-битного порта ввода/вывода, который при желании с помощью внешней логики может быть отремаплен в пространство памяти. Также изначально раздельные пространства памяти программ/данных, но их также можно с помощью внешней логики объединять.
Главное - все операции донельзя примитивны и выполняются за одинаковое число тактов (в идеале - в 1, но к этому не стремлюсь, это, только лишь вопрос частоты внешнего тактового генератора), в том числе - загрузка константы и вход/выход из прерывания.
Как-то так. Пока более подробно делиться не хочу. Пишу эмулятор, в котором хочу попробовать написать простеньое приложение с рисованием линий по Брезенхаму и т.п. для того, чтобы "прочувствовать" недостатки и ограничения архитектуры.
Андрей, скажите, а есть ли у вас опыт создания электронных самоделок? Какие-то публикации, неважно где, с их описанием? Если нет, то можете немного рассказать или показать уже сделанное вами самостоятельно (пусть не с голого нуля)?
Видите ли, если вы действительно хотите сделать что-то
а) интересное с точки зрения архитектуры,
б) с профессиональной реализацией, которая не запорет достоинства последней и
в) действительно "для учебной цели" http://zx-pk.ru/showpost.php?p=384011&postcount=10 (а не для того, чтобы как-то заработать себе денег или с помощью людей из этого форума выигрышно смотреться в этой области в глазах потенциальных работодателей*), я вам предлагаю выложить все то, что у вас есть.
Смотрите: после этого ваше интеллектуальное право ни на архитектуру, ни на ее первую, пусть и бумажную, реализацию на 175 корпусах http://zx-pk.ru/showpost.php?p=384011&postcount=10 уже никто не отнимет, но по крайней мере есть шансы, что если придуманное вами (если и не в первый раз, то хотя бы во второй) имеет какой-то смысл, то оно будет реализовано грамотно и в разумные сроки. Здесь предостаточно людей и с соотв. опытом, и с профильным образованием.
Иначе ваша интересная идея-инициатива имеет неплохие шансы кончиться тем же, что и в случае с Alex-DJ и Aleksei1983. Другими словами, ничем.
-------
* это если отмести с порога тот вариант, что вы, как и Alex-DJ и Aleksei1983, просто троллите здесь вбросом мега-идей смеха ради.
Хух
AM,
Андрей, скажите, а есть ли у вас опыт создания электронных самоделок? Какие-то публикации, неважно где, с их описанием? Если нет, то можете немного рассказать или показать уже сделанное вами самостоятельно (пусть не с голого нуля)?
Я не занимаюсь "электронными самоделками". Также не ставлю целью публиковаться, и зарабатывать прочие "шашечки" и "регалии". Хотя публикация одна есть, но приводить ее не вижу смысла. Также не хочу никому ничего доказывать, поверьте, не страдаю низкой самооценкой, а также потребностью в одобрении и признании "широкой толпой". То, что я делаю, известно кругу моих коллег и близких мне людей, мне этого вполне достаточно. Но этом же форуме я занимаюсь исключительно хобби, и чтобы сразу отмести какие-то сомнения: я не профессиональных разработчик микропроцессоров, изучаю это исключительно с познавательной точки зрения, не претендую на оригинальность, мега-идеи и т.п.
Видите ли, если в аттаче к этому посту -- ваш профиль
Вы проделали некоторую работу, чтобы найти мое объявление о поиске работы 5-летней давности, неактуальное сейчас, содержащее некоторые неправильные данные, а также личную информацию. Можно попросить вас удалить на него ссылку? Я же приму меры к удалению его с того ресурса.
если вы действительно хотите сделать что-то
а) интересное с точки зрения архитектуры,
б) с профессиональной реализацией, которая не запорет достоинства последней и
Да, хочу, но прекрасно отдаю себе отчет в малореальности этой "хотелки".
(а не для того, чтобы как-то заработать себе денег или с помощью людей из этого форума выигрышно смотреться в этой области в глазах потенциальных работодателей*)
Это какие-то ваши фантазии.
я вам предлагаю выложить все то, что у вас есть.
Этого не будет по крайней мере до того момента, когда будет закончена большая часть работы. Не факт, что она вообще будет закончена. А пока я на форуме хотел уточнить некоторые вопросы, которые не требуют раскрытия полного проекта. Неблагодарное и ИМХО глупое это дело - выкладывать работу на пол пути.
Смотрите: после этого ваше интеллектуальное право ни на архитектуру, ни на ее первую, пусть и бумажную, реализацию на 175 корпусах http://zx-pk.ru/showpost.php?p=384011&postcount=10 уже никто не отнимет
175 корпусов уже давно прошедший этап. Я не ставлю задачу защиты своих интеллектуальных прав в этом проекте. А если бы ставил, то публикация на форуме - это не защита. Не хочу продолжать дальше дискуссию на тему интеллектуальной собственности - эта тема обширная, но, честно говоря, мне сейчас неинтересная.
но по крайней мере есть шансы, что если придуманное вами (если и не в первый раз, то хотя бы во второй) имеет какой-то смысл, то оно будет реализовано грамотно и в разумные сроки.
Вы слишком переоцениваете мой проект-хобби.
Здесь предостаточно людей и с соотв. опытом, и с профильным образованием.
Буду рад их помощи по конкретным вопросам, для этого и создал эту тему.
Иначе ваша интересная идея-инициатива имеет неплохие шансы кончиться тем же, что и в случае с Alex-DJ и Aleksei1983. Другими словами, ничем.
Я не знаком с людьми и идеями Alex-DJ и Aleksei1983, но вполне допускаю, что и моя идея вполне может закончиться ничем.
Спасибо.
---------- Post added at 20:17 ---------- Previous post was at 20:02 ----------
P.S. Только что увидел, что вы еще и продублировали мое объявление в приложении к своему посту в виде картинки. Знаете, это уже ни в какие ворота не лезет. С меня - жалоба модераторам, это неприемлемо.
P.S. Только что увидел, что вы еще и продублировали мое объявление в приложении к своему посту в виде картинки. Знаете, это уже ни в какие ворота не лезет. С меня - жалоба модераторам, это неприемлемо.
Андрей, если вы не прячетесь за вымышленным именем (и пишущий в этот форум -- действительно тот человек, чья анкетка находится поиском), если вы серьезно занимаетесь разработкой своей архитектуры и действительно ищете помощи с реализацией, то можно узнать почему? В конце концов, я ведь не стал цитировать анкету текстом, а сделал скриншот.
Что действительно неприемлемо в подобных форумах, да и не только в формате интернет-форумов, по большому счету, так это обращение за подобного рода помощью смеха ради. Посмотрите на форумную историю Alex-DJ и Aleksei1983 -- это только те, на которых я обратил внимание. Ваша похожа, разве что с поправкой на чуть более высокий уровень общения (местами).
Действительно занимаетесь проектированием своей архитектуры и ищете помощи с реализацией? Мой совет: тогда приложите хотя бы минимальные усилия к тому, чтобы это не выглядело как стремление так или иначе поиметь личную выгоду (в любом, неважно каком, виде: выгодное трудоустройство, некий личный бизнес и т.д. и т.п.) или троллинг от скуки или смеха ради. В противном случае желающих продолжать отвечать и как-то помогать вам на zx.pk.ru и других серьезных форумах вы вряд ли найдете.
В конце концов, я ведь не стал цитировать анкету текстом, а сделал скриншот.
Вот ещё раз такое сделаешь, улетишь отсюда навсегда. Это личные данные человека, и нечего им тут делать.
Вот ещё раз такое сделаешь, улетишь отсюда навсегда. Это личные данные человека, и нечего им тут делать.
Так, давайте для начала без "ты" (не знакомы вроде) и без этих угроз -- оставьте подобные манеры для другого места, ок?
Анкетка элементарно нашлась поиском, а любителей создавать несуществующие личности и манипулировать таким образом мнением о "себе" или выдавать себя за кого-то реального хватает с избытком. Автор, как я смотрю, давно испарился с форума как и упомянутые товарищи. Не знакомы случаем?
Orionsoft
24.11.2012, 22:22
http://zx.pk.ru/attachment.php?attachmentid=38255&d=1352800033
вот т В этой DS схема полная или нет с точки зрения топикстартера ?
Orionsoft, о, здорово! Хорошая схемка, дает наглядное представление. Чего-то я ее пропустил в даташитах TI :). Спасибо!
Viktor2312
25.11.2012, 11:57
P.S. На самом деле меня уже не очень волнует первоначальный вопрос, спасибо за интерес к моей теме, но я уже поборол желание "мериться транзисторами".
А жаль. А то на КТ315 и небольшой обвязке из резисторов, диодов и конденсаторов, получаются отличные логические элементы. Я тоже этим интересовался и у меня дошло до реализации в железе на небольшой платке стандартного логического элемента. Из которых можно строить любые другие, как простые лог элементы, так и триггеры, из которых получаются уже и счётчики и всё остальное.
Не успел отредактировать сообщение, а его уже процитировали. Я там немного ошибся, не увидел сначала самой схемы на транзисторах.
Viktor2312, это все понятно. Вопрос в другом - в реальных схемах микропроцессоров множество транзисторов можно убрать (входные/выходные каскады), заменив диодами, используя схемы с открытым коллектором для реализации ИЛИ-НЕ и т.п. Так что простая сумма кол-ва логических элементов, умноженная на среднее число транзисторов в одном логическом элементе, не дает ответа на вопрос, точнее очень сильно завышает кол-во транзисторов.
Но действительно, интерес к "счету транзисторов" немного угас. Реализовать бы хоть что-то :).
Нашел просто кладезь информации по вопросу устройства простых микропроцессоров, в основном АЛУ, но также много смежных вопросов рассмотрено: http://www.6502.org/users/dieter/index.htm
Viktor2312
25.11.2012, 12:52
Реализовать бы хоть что-то
Вы хотите сделать микропроцессор на транзисторах? Если да, то в чём проблема вперёд. Берёте за основу КТ315 и КТ361 в качестве транзисторов. Они высокочастотные 250 МГц граничная частота, значит до 80 МГц можно исполдьзовать. В качестве диодов КД521 или КД522, или ещё какие диоды Шотки, остальное резисторы и конденсаторы - обычные стандартные. Для реализации команд микропроцессора Вам потребуется ПЗУ оно запрасто реализуется на диодах.
Дальше всё стандартно, зависит от того сколько команд у вас будет чем больше тем больше диодов потребуется для реализации ПЗУ. Выбираете разрядность 8, 16, 32, 64, 128. Сколько регистров можете сами выбрать (РОН) чем больше тем проще программирование, компактнее программы будут, но увеличивается объём "железа". И так далее в таком же духе.
И не забудьте хороший вместительный шкаф купить, поместить куда-то же надо это всё.
Viktor2312
25.11.2012, 13:06
Вот к примеру реализация двух входового элемента И-НЕ (2И-НЕ). Минимальное количество диодов и транзисторов при почти максимальном качестве схемы. Можно было и уменьшить количество диодов и транзисторов в ней, но тогда будут хуже параметры элемента. В принципе он реализован по ДТЛ логике (диодно-транзисторная логика).
И даже платка под ЛУТ есть, во втором архиве.
Viktor2312, я в самом начале написал, что не хочу делать микропроцессор на транзисторах, мне была нужна информация о кол-ве транзисторов в стандартных логических элементах для того, чтобы оценить кол-во транзисторов в проекте моего микропроцессора на логике, и сравнить их кол-во с Z80, 6502, Motorola 6800, i8080 и т.п.
Простите, но все что вы написали в предпоследнем сообщении - банально и общеизвестно. Единственное, если бы я задумал делать МП на транзисторах, я бы скорее всего не стал использовать КТ315/361 - есть же нормальные импортные BC847/IRLML2402.
А вот
Дальше всё стандартно,
А вот дальше все совсем не стандартно. Во-первых, разрядность - не обязательно степень двойки (я сейчас думаю над 10-разрядным МП, меньше просто не влезают команды так, как хотелось бы), во-вторых - кол-во РОН (и вообще, почему именно РОН?) - вещь не настолько простая, как вы написали - масса тонкостей, если хочется оптимума и удобства.
Вообще есть несколько сайтов и форумов по данной тематике, поищите по ключевым словам "Homebrew CPU", если вам интересно.
За схемки - спасибо!
Я, если позволите, пока прекращу тут обсуждение (собственно, я и так уже долго молчу). Как будет что-то конкретное показать, обсудить - выложу. А пока нет конкретики для обсуждения, можно говорить только банальности, что не интересно.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot