Автор Тема: Проект - Q4  (Прочетена 146226 пъти)

bot

  • Гост
Re: Проект - Q4
« Отговор #15 -: Dec 15, 2012, 20:50 »
 Тоя проект си го подхванал отзад напред. Преди да започнеш с "терминала" трябваше да го начертаеш на хартия и тогава да го реализираш хардуерно. Хубаво си решил 4 битов процесор, но колко инструкции ще има, колко регистъра? Като споменаваш операцията "умножение", имай предвид че това е най-трудната за реализиране в хардуерно отношение операция, затова при повечето RISK процесори тази инструкция липсва.
 Този твой процесор ще изпълнява ли някакви програми или само ще демонстрира действието на отделни инструкции?
 изтегли този файл, съдържа инструкциите на един от най-простите 8 битови процесори, разгледай ги и тогава реши дали да продължиш.
http://www.google.co.uk/url?sa=t&rct=j&q=pic+instruction+set&source=web&cd=4&ved=0CEUQFjAD&url=http%3A%2F%2Fece.wpi.edu%2F~wrm%2FCourses%2FEE2801%2FNotes%2Fee2801c00lec20.pdf&ei=78LMUObgIO-p0AXpzYH4Bg&usg=AFQjCNHjHyl7qcOgoWN47w53ITzBfHX7NQ&bvm=bv.1355325884,d.d2k&cad=rja
 на твое място бих реализирал проекта с една FPGA матрица, ако си решил да се учиш, това за теб ще е най-лесния начин да си "построиш" хардуер.
Активен

zxz

  • Напреднали
  • *****
  • Публикации: 615
  • Distribution: Linux Mint 18.2
  • Window Manager: XFCE
    • Профил
Re: Проект - Q4
« Отговор #16 -: Dec 15, 2012, 21:26 »
Еее най-сетне човек който разбира !
Много добре знам какво правя и нямам никакво намерение да се отказвам. Правя схеми и чертая още от миналата година. Процесора ми ще има  т.нар от мен ку архитектура. И ето едно описание.
Първо ще има 2 банки с памет - 16х4 бита. Едната ще с инструкциите който се подават към алу-то и другите компоненти ,а другата ще е за самия операнд. Адреса на паметта ще бъде управляван от 4 битов брояч ,който ще бъде с две посоки - нагоре и надолу. След това за АЛУ ще ползвам готовия чип 74181 тъи като има мнооого функции. Също щи имам и компаратор - 7485 който ще осъществява проверките при програмите. Към двата входа и изхода на АЛУ-то ще има 4 Д тригери който ще играят роля на акумулатори. Те от своя страна ще бъдат вързани към паметта със оп-кода . Входовете А и Б на АЛУ-то ще са вързани през тригерите и след това успоредно в паметта. От там идва Ку-то. Почти всичко съм замислил. Между другото не знаех че тия мощни процесори нямат умножение  :o ;D Знам че съм го почнал от зад напред но просто ми се правеше нещо а се чудех какво.
При мен умножението ще е така - въвежда се число от входовете и се събира със себе си определен брой пъти. Брояча ще се грижи за това. Пък и да не го направя не е голям проблем.
Поздрави,
Георги

ПП моето ще е нещо подобно на това http://www.ttlcpu.com/articles/4-bit-ttl-scratchbuilt-computer
« Последна редакция: Dec 15, 2012, 21:31 от zxz »
Активен

zxz

  • Напреднали
  • *****
  • Публикации: 615
  • Distribution: Linux Mint 18.2
  • Window Manager: XFCE
    • Профил
Re: Проект - Q4
« Отговор #17 -: Dec 15, 2012, 22:02 »
Всъщност малко се оплетох .. Сега разбра че правя процесор а не калкулатор или компютър. Всъщност доста неща отпаднаха. Регистъра мисля да е един 4-битов по-нататък ще мисля за няколко. Ще има и демултиплексор за командите.
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
Re: Проект - Q4
« Отговор #18 -: Dec 16, 2012, 00:29 »
Само да спомена, че с CMOS схемички се работи доста по-лесно от TTL 74- серията. Всички TTL 74* си имат и CMOS еквиваленти.
Активен

Perl - the only language that looks the same before and after encryption.

dev_urandom

  • Напреднали
  • *****
  • Публикации: 114
  • Distribution: Slackware
    • Профил
Re: Проект - Q4
« Отговор #19 -: Dec 16, 2012, 08:25 »
Само да спомена, че с CMOS схемички се работи доста по-лесно от TTL 74- серията. Всички TTL 74* си имат и CMOS еквиваленти.

E ... 74HC*, 74HCT* ...
Активен

zxz

  • Напреднали
  • *****
  • Публикации: 615
  • Distribution: Linux Mint 18.2
  • Window Manager: XFCE
    • Профил
Re: Проект - Q4
« Отговор #20 -: Dec 16, 2012, 11:25 »


Малко го оряза надявам се да разберете. А каква е разликата между СМОС схемите и тези които аз ползвам ? Аз едвам намирам тези по магазините. Даже АЛУ-то е руски аналог.
Активен

Mitaka

  • Гост
Re: Проект - Q4
« Отговор #21 -: Dec 16, 2012, 11:32 »

А каква е разликата между СМОС схемите и тези които аз ползвам ? Аз едвам намирам тези по магазините. Даже АЛУ-то е руски аналог.

Виж в Комет Електроникс (http://www.comet.bg).
Там имаха (почти)всичко по едно време точно от 74 серията.
Активен

zxz

  • Напреднали
  • *****
  • Публикации: 615
  • Distribution: Linux Mint 18.2
  • Window Manager: XFCE
    • Профил
Re: Проект - Q4
« Отговор #22 -: Dec 16, 2012, 11:57 »
Имам АЛУ-то, тригера, компаратора, матрицата ще я направя, буфера ще е 74241, дешифратора е или 74НС154 или 74LS138.
Активен

dev_urandom

  • Напреднали
  • *****
  • Публикации: 114
  • Distribution: Slackware
    • Профил
Re: Проект - Q4
« Отговор #23 -: Dec 16, 2012, 13:53 »
Имам АЛУ-то, тригера, компаратора, матрицата ще я направя, буфера ще е 74241, дешифратора е или 74НС154 или 74LS138.

74*154 няма нищо общо с 74*138, освен че е дешифратор
« Последна редакция: Dec 16, 2012, 13:56 от dev_urandom »
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
Re: Проект - Q4
« Отговор #24 -: Dec 16, 2012, 17:07 »
А каква е разликата между СМОС схемите и тези които аз ползвам ?

1. Ами разликата е че CMOS схемите дърпат много малко ток. Даже ако не превключват имат консумация == 0.

2. Другата разлика е, че входните нива на сработване са различни спрямо TTL-серията. При CMOS входното ниво на сработване е симетрично и е около захранването/2. при TTL не е така и не симетрично. Като цяло CMOS имат по-хубави входни и изходни нива.
3. Трета разлика е това, че CMOS имат и и много голямо входно съпротивление.
TTL NAND
CMOS NAND

74НС154 например е CMOS еквивалента на TTL 74154.
В този ред на мисли, заради входните нива не е много правилно да смесваш CMOS 74НС* елементи със 74LS* или 74xxx. Но не е чак толкова голяма грешка.

Например може да смесваш 74НС със 4000 серията.

Но пък може свободно да смесваш TTL 74xxx / 74LS* със CMOS 74НСT* Щото 74НСT* е специално създадена CMOS серия, която да има същите TTL нива.

Може да видиш и тук.
http://bg.farnell.com/logic
« Последна редакция: Dec 16, 2012, 17:19 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

zxz

  • Напреднали
  • *****
  • Публикации: 615
  • Distribution: Linux Mint 18.2
  • Window Manager: XFCE
    • Профил
Re: Проект - Q4
« Отговор #25 -: Dec 16, 2012, 17:26 »
Такам. Симулирах една схема дето направих и върви супер. Всичко е както трябва. Мисля обаче да сменя АЛУ-то със 74381 защото е по-опростено. Дешифратора ще е 7442 тригерите ще са 7475 ще има и инвертор за дешифратора най-вероятно 7404. Видях че има схема специално за умножение - 74284 мисля да я сложа. Според мен обаче точно това
3. Трета разлика е това, че CMOS имат и и много голямо входно съпротивление.
не е изобщо предимство. Трябва да слагам навсякъде резистори 330 Ом ама аз така го планирах. Ще видя какво има по магазините и ще ги купя. Може и да ползвам ЦМОС .Даже най-вероятно тях ще ползвам.

ПП Възникна обаче проблем.Тригерите 7475 ги няма в ЦМОС версия. Дали ще бъдат съвместими ?
« Последна редакция: Dec 16, 2012, 17:39 от zxz »
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3395
    • Профил
« Последна редакция: Dec 16, 2012, 18:20 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

Mitaka

  • Гост
Re: Проект - Q4
« Отговор #27 -: Dec 16, 2012, 18:39 »
Comet продават всичко, което го има във Farnell.
Активен

zxz

  • Напреднали
  • *****
  • Публикации: 615
  • Distribution: Linux Mint 18.2
  • Window Manager: XFCE
    • Профил
Re: Проект - Q4
« Отговор #28 -: Dec 16, 2012, 19:17 »
Оказаха се съвместими . Аз ще ги направя на цокли което не става вадя и хвърлям  :)
Активен

bot

  • Гост
Re: Проект - Q4
« Отговор #29 -: Dec 16, 2012, 20:00 »
CMOS (и всякакви други MOS) нямат голямо входно съпротивление, напротив, те са толкова чувствителни, че може да ги повредиш със статичното електричество на тялото си, затова не са много подходящи за аматьори, необходимо е специално антистатично оборудване, като заземителни гривни за ръцете, специални пластмасови подложки и торбички за компонентите и т.н. Резистори няма нужда да слагаш никъде, може би само в някои закъснителни вериги на дешифратора на инструкциите.Тази схема за умножение я разгледах, няма флаг за препълване но ако това не те бърка може да я закачиш паралелно на АЛУ-то. 4 бита ти дават точно 16 инструкции, но някои от инструкциите ще съдържат повече от една тетрада, примерно инструкцията "зареди акумулатор А с числото 16" - първата тетрада ще съдържа кода на инструкцията, а втората - числото 16, а самата операция ще се извърши най-малко за 2 такта (зависи от дешифратора на инструкциите).Като споменах дешифратор на инструкциите, това определено няма да може да се реализира с един компонент. Ако си решил да правиш микропроцесор ще ти трябва РАМ памет за данните и РОМ/ФЛАШ памет за програмата. Единия регистър на входа на АЛУ-то може да го махнеш и да работиш директно с РАМ паметта. Шината за данните и опкода коже да ги обединиш. Програмният брояч се свързва директно за адресната шина на РОМ/ФЛАШ а данновата шина се свързва през буфер (74НС125) за твоята универсална 4 битова процесорна шина и директно за дешифратора на инструкциите. Данновата шина на РАМ паметта се закача директно за единият вход на АЛУ (респективно схемата за умножение), другият вход е вързан за регистъра (да го наречем Акумулатор А) директно, който пък е свързан за универсалната шина а изхода на АЛУ-то пак през буфер е свързан за универсалната шина. Всеки буфер се управлява от дешифратора на инструкциите в зависимост от конкретната инструкция.
Активен