Áramkörök

8 bites számítógép építése: 18 lépés (képekkel)

Hogyan is működik a K-POP???

Hogyan is működik a K-POP???

Tartalomjegyzék:

Anonim

Egy 8 bites TTL számítógép építése ijesztő és bonyolult feladat, vagy legalábbis nekem történt, amikor elkezdtem utazni, hogy megértsem egy alap CPU architektúráját. Amikor a CPU-t lefelé juttatja, akkor a műveletek meglehetősen egyszerűek, ha megismerik az összes folyamat alapját. A projekt célja, hogy segítsen mindenkinek, aki érdeklődik a saját számítógépük építésében és a folyamathoz kapcsolódó csodálatos tudás megszerzésében. Ne félj próbálni, csak tanulhatsz.
Ez a projekt az elektronika alapjainak leírásával kezdődik. Ezután a bináris és a logikai logika alapjait ismertetjük. Végül a Malvino szövegében leírtak szerint az egyszerű-lehetséges számítógép különböző részeinek (néhány módosítással) funkciójához lépünk. Digitális számítógépes elektronika . Ez azt jelenti, hogy az Instructable végterméke egy olyan számítógép lesz, amely egyedi utasításkészlettel programozható. Ez a projekt a számítógép tervezési szempontjait is magával hozza, és a saját számítógépének felépítésének útmutatójaként szolgál. Ennek oka, hogy számos módon lehet megközelíteni ezt a projektet. Ha már megértettük a logikai logikát és a bináris működés, hagyja szabadon a projekt húsát. Remélem, hogy mindenki élvezi és kap valamit egy ilyen építményből, tudom, hogy biztos voltam.
Ehhez a projekthez szüksége lesz:
1.) Áramellátás
2.) Táblázatok + sok vezeték
3.) LED-ek a kimenethez
4.) Különböző logikai IC-k (később tárgyaltak)
5.) Szabad idő
6.) A hajlandóság és a tanulási hibák
7.) Sok türelem
Nem kötelező (de nagyon hasznos):
1.) Oszcilloszkóp
2.) Digitális multiméter
3.) EEPROM programozó
4.) Sonic csavarhúzó
Hasznos linkek ehhez a projekthez:
Digitális számítógépes elektronika:
http://www.amazon.com/Digital-computer-electronics-Albert-Malvino/dp/007039861
TTL szakácskönyv: http://www.amazon.com/TTL-Cookbook-Understanding-Transistor-Transistor-Integrated/dp/B0049UUV38

kellékek:

1. lépés: Mi a számítógép?

Ez nagyon egyszerűsített kérdésnek tűnhet, amelyre nem kell válaszolni, amikor valójában egy kérdés, hogy sokan nem tudják a valódi választ. A számítógépek sokkal hosszabbak, mint a tranzisztor mechanikai és elméleti formában. A számítógép tényleges meghatározását egy nagyon intelligens személy gondolta fel Alan Turing nevével. Leírt egy gépet, amelyet Turing gépnek neveztek. Minden olyan számítógépet, amelyet ma használunk, a számítógéptől vagy a mobiltelefontól, amelyet ezt a szuperszámítógépre olvas, mindegyik Turing gépként lehet besorolni a legegyszerűbb szinten.
Mi az a Turing gép? A Turing gép 4 részből áll: a szalagból, a fejből, az asztalról és az állami nyilvántartásból. Egy ilyen gép működésének vizualizálásához először el kell képzelni, hogy a filmszalag minden irányban végtelenül terjed. Most képzeljük el, hogy a filmszalag minden cellája csak egy meghatározott szimbólumkészletet tartalmazhat (mint egy ábécé). Ebben a példában képzeljük el, hogy mindegyik cellában csak "0" vagy "1" lehet. Ezeket a sejteket végtelen mennyiségű idő alatt átírhatjuk, de az információkat véglegesen addig tartják, amíg meg nem változtatják őket. A Turing-gép fejének nevezett része a cellákhoz szimbólumokat írhat, valamint egy adott egész szám (teljes szám) által a filmszalagon lévő pozíciót növelheti vagy csökkentheti. A következő rész az a táblázat, amely egy adott utasításkészletet tartalmaz a fejnek a végrehajtásra, mint például a "jobb 4 cellák mozgatása" és a "beállított cellák 1" -re. A Turing Machine negyedik és utolsó része az államregiszter, amelynek célja a gép aktuális állapotának megtartása. Az állapot magában foglalja a kazettán lévő utasításokat és az aktuális adatokat.
Ilyen egyszerű a számítógép működése. Amikor a számítógép működik, akkor valójában egy futógépként működik. Az utasítások és algoritmusok egy sorával feldolgozza a számítógépen tárolt adatokat. Az ebben az Instructable-ban leírt számítógép egy nagyon egyszerű számítógép-modell, de még mindig olyan módon működik, amellyel olyan utasításokat készíthet, amelyeket követni és végrehajtani.
Hasznos Linkek:
Wikipédia a Turing gépeken:
http://en.wikipedia.org/wiki/Turing_machine

2. lépés: Bevezetés az elektronikába

A 8 bites számítógép építése előtt rendkívül hasznos, hogy megragadják a villamos energia és az analóg áramkör elemi tulajdonságait. Vannak alkatrészek a számítógépen, amelyet építeni fog analóg komponensekre. Számos elektronikai önálló tanítási útmutató áll rendelkezésre a minimális költségért, ami az elektrotechnika összeomlását eredményezi. Én személy szerint találtam Elektronikus öntanítási útmutató Harry Kybet és Earl Boysen csodálatos könyve az analóg elektronika világának kezelésére.
Elektronikus öntanítási útmutató : http://www.amazon.com/Electronics-Self-Teaching-Guide-Teaching-Guides/dp/0470289619/
Közös összetevők:
Ellenállás - Az áramot ohmban mérik.
A kondenzátor - tárolók töltése lehet poláris vagy nem poláris (poláris, ami azt jelenti, hogy a munkához megfelelő irányba kell helyezni). A faradokban mérve.
Dióda - Csak lehetővé teszi, hogy az áram egy irányba áramoljon, és egy bizonyos feszültségben elszakad, ha rossz irányba helyezi.
Tranzisztor - Egy jelenlegi kapu, amelyet egy harmadik tű vezérel, amely közvetítőként működik. Sokféle tranzisztor létezik, de itt fogunk beszélni a BJT (bipoláris csomópont tranzisztorról), amely két típusból áll: NPN és PNP.

Az áram, a feszültség és az ellenállás egy áramkörben kézzel jár. A három kapcsolat az Ohm törvényével fejezhető ki: V = IR. Más szavakkal, a feszültség megegyezik az amperekben mért árammal az ozmában mért ellenállással. Az Ohm törvénye az elektronika egyik legfontosabb képlete, és érdemes megismerni a fejed tetejét.
Az Ohm törvényének alkalmazásához ismernie kell az áramkör ellenállását. Az ellenállás értékének megkereséséhez használja a színkódot. Az ellenállás színkódja a látható spektrumon alapul, és sokféle divatban tárolható. Azok számára, akik nem törődnek azzal, hogy emlékezzenek rá, rengeteg olyan eszköz létezik, amelyek segítenek megtalálni az ellenállás megfelelő értékét. Ahhoz, hogy egy áramkör teljes ellenállását kiszámítsuk, két képletre van szükség két különböző ellenállás-konfigurációhoz: sorozat és párhuzamos. Az első sorozatban az ellenállás követi a másikat, míg párhuzamosan egymás mellett működnek. A sorozat nagyon egyszerű:
Ellenállások sorozatban: R (összesen) = R (1) + R (2) +. . . + R (N)
Ez azt jelenti, hogy csak meg kell adnod az ellenállások értékeit.
Ellenállások párhuzamosan: R (összesen) = 1 / {1 / R (1) + 1 / R (2) +. . . + 1 / R (N)}
Jó eszköz az ellenállás megtalálására a színkódból: http://www.csgnetwork.com/resistcolcalc.html
Az ellenállások képletét könnyebb megérteni párhuzamosan, ha úgy gondolja, hogy az ellenállók együtt dolgoznak, mint két ember, akik együtt dolgoznak egy projekten. Ugyanezt a képletet használják a szóhibáknál, ahol megadják azt a sebességet, amellyel a két személy működik, és meg kell találnia, hogy milyen gyorsan befejeződik a projektük, ha a munka együtt történik.
Annak megállapításához, hogy mennyi áramot kapunk egy adott komponensnek adott ellenállási értékkel, egyszerűen csatlakoztatná az ellenállás- és feszültségértékeket az Ohm törvényeihez, és megoldaná az I-et. Például:
Egy fény áramkörben van, és két 1K (ezer ohm) ellenállás párhuzamosan kerül elhelyezésre. 9 voltos tápegységgel mennyi áramot szállít a fény?
1.) Számítsa ki az R-t (összesen):
R (összesen) = 1 / (1/1000 + 1/1000) = 1 / (2/1000) = 1000/2 = 500 ohm
2.) Számítsa ki az Ohm törvénye szerinti áramot:
9 = I * 500
I = 9/500 = 0,018 A = 18 mA (milliampi)
A feszültséget szabályozó áramkörben ellenállásokat is elhelyezhet. Ezt feszültségelosztónak nevezik, és két ellenállásból áll. A két ellenállás feszültsége a csomóponton van. A jobb ötletért nézd meg a csatolt képet. Ebben az elrendezésben a feszültségkimenet képlete:
V (out) = V (forrás) * R (2) / {R (1) + R (2)}
A kondenzátorok hasznosak lesznek a számítógépen az óra kialakításával. Az óra egyszerűen egy áramkör, amely állandó sebességgel be- és kikapcsol. Csakúgy, mint az ellenállások, a kondenzátorok két képlettel rendelkeznek mind a sorozat, mind a párhuzamos konfigurációk teljes értékének megtalálásához.
Sorozat: C (összesen) = 1 / {1 / C (1) + 1 / C (2) +. . . + 1 / C (N)}
Párhuzamos: C (teljes) = C (1) + C (2) +. . . + C (N)

Az a sebesség, amellyel a kondenzátor töltése függ, az áramkör ellenállása a kondenzátor előtt (vagy után), valamint a kapacitása. A kondenzátor töltését időállandókban mérjük. A kondenzátor teljes feltöltéséhez vagy kisütéséhez 5 időállandó van. A kondenzátor időállandójának másodpercekben történő megállapítására szolgáló képlet:
T (állandó) = Ellenállás * Kapacitás
A diódák egyszerűen működnek, és hasznosak, ha TTL számítógépet építenek. Csak egy irányba engednek áramot áramolni. Amikor a helyes irányba helyezik őket, akkor az úgynevezett előre elfogadott. Amikor megfordulnak, egy bizonyos feszültségre bomlanak. Amikor egy dióda működik az árammal szemben, fordított irányú.
A Tranzisztor úgy működik, mint egy áram által működtetett szelep. A BJT-nek három csapja van: a kollektor, a kibocsátó és az alap. Az egyszerűség kedvéért ebben a lépésben leírok egy NPN-tranzisztort, amelyben az áram áramlik a kollektorból az emitterbe. Az alapra alkalmazott áram szabályozza, hogy az áram a gyűjtőtől az emitterig terjed. A tranzisztorok ideálisak számos alkalmazásra, mivel képesek egy jel erősítésére. Ez azért van, mert a tranzisztor alján alkalmazott áram lényegesen kisebb lehet, mint a szabályozott áram. Ezt az áramerősség-növekedést a tranzisztor vagy a béta aktuális nyereségének nevezik. A béta képlete:
Béta = áram (gyűjtő) / áram (alap)
Amikor egy tranzisztor teljesen be van kapcsolva, azt mondják, hogy telített. A logikai tranzisztor olyan, amely telített vagy kikapcsolt állapotban van, és soha nincs közöttük. Ez az a fajta tranzisztor, amellyel leginkább a digitális elektronika foglalkozik. A tranzisztorok alkotják a számítógép működéséhez szükséges logikai kapukat. Ezeket később ismertetjük.
Hasznos Linkek:
http://en.wikipedia.org/wiki/Resistor
http://en.wikipedia.org/wiki/Capacitor
http://en.wikipedia.org/wiki/Diode
http://en.wikipedia.org/wiki/Transistor

3. lépés: Bináris számok

Ma már egy tízszer alapuló világszámozási rendszerhez szoktunk szokni. Ezzel azt értem, hogy nincs számunk a számrendszerünkben, amely tíz értéket ér, és így a számrendszerünk tíz.
Gondoljunk a számrendszerünkre, mint kilométeróra. A kilométer-számláló a legalacsonyabb számtól a legmagasabb számig számít, majd a következő rotort sorrendben kényszeríti az egyik hely előrehaladására. Például:
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
1 0 <- Hajtsa végre a következő számjegyet
A bináris két alap, ami azt jelenti, hogy csak két számmal rendelkezik, és nincs 2. számjegye. A bináris csak a 0 és 1 számokkal, vagy "ki" és "be". A bináris számításhoz egyszerűen alkalmazza a kilométer-számlálót:
0001b - 1
0010b - 2
0011b - 3
0100b - 4
0101b - 5
0110b - 6
0111b - 7
1000b - 8
stb. . .
Számrendszerünk egy másik tényezője is, amely tíz alapja; ahogy a számjegyeknél magasabbra lépünk, a számok súlya tízes erővel nő. Például 1 = 10 ^ 0, 10 = 10 ^ 1, 100 = 10 ^ 2, stb. . . Binárisan a dolgok természetesen két alap, és mint ilyen, minden egymást követő szám egy másik két hatalom. 1b = 1 = 2 ^ 0, 10b = 2 = 2 ^ 1, 100b = 4 = 2 ^ 2, stb. . .
A decimális számok binárisvá történő konvertálásához egy egyszerű trükk, amely kettős dabbel néven ismert, ami sokkal egyszerűbbé teszi a folyamatot:
Mondjuk, hogy 13-at szeretnénk bináris számra konvertálni, elkezdjük osztani a 13-at kettővel, és írjuk le a maradékot. Ezután közvetlenül a fölé írja le az eredményül kapott számot a fennmaradó rész nélkül (ebben az esetben 6), és osztja azt kettővel, és írja le a maradékot az előző fölé. Ezt a folyamatot addig folytatja, amíg el nem éri az 1 vagy a 0 értéket.
1/2 = 0 R1 <Olvassa felülről lefelé. Az eredmény 1101 vagy 2 ^ 0 + 0 + 2 ^ 2 + 2 ^ 3 = 1 + 0 + 4 + 8 = 13. Ezt bináris szónak nevezik.
3/2 = 1 R1 <
6/2 = 3 R0 <
13/2 = 6 R1 <
A hexadecimálisot gyakran használják binárisan. A hexadecimális alap 16, és tartalmazza a 0-9 és a-f számokat. Egy hexadecimális számot használunk az egyik nibble vagy négy bit adat leírására. Egy bit egy vagy két bináris. A nibble 0-tól 15-ig (0000-tól 1111-ig) számolhat, mielőtt a következő bit a következő nibble-ban van. Két nibbles együtt egy bájt vagy 8 bit. Mivel az első szám 2 ^ 0, az utolsó szám súlyozott 2 ^ 7. Ezért a bájt bárhol a 0 és 255 közötti tartományban lehet. Ahhoz, hogy a 00101110 (46 tizedes) bájt hexadecimálisan fejezzük ki, először a két niblinget 0010-re és 1110-re különítjük el. az egyik értéke E (vagy 14 tizedes). Ezért a hexadecimális 00101110 bájt 2E lesz.
Hasznos Linkek:
http://en.wikipedia.org/wiki/Binary_numeral_system
http://en.wikipedia.org/wiki/Hexadecimal

4. lépés: Logikai kapuk

Egy számítógép több ezer logikai kapuból áll, amelyek bizonyos funkciók végrehajtására vannak kialakítva. A logikai kapu egy olyan komponens a digitális elektronikában, amelynek kimenete a bemeneteinek állapotától függ. A legtöbb logikai kapu két bemenettel és egy kimenettel rendelkezik. A digitális elektronika döntéshozói a logikai kapukra gondolnak. A digitális elektronikában használt hat fő logikai kapu:
ÉS A kapu: A kimenet magas, ha minden akkor van, ha a bemenete magas.
VAGY Kapu: A kimenet magas, ha bármelyik bemenete magas.
NOT Gate: Csak egy bemenet van. A kimenet magas, ha a bemenet alacsony.
NAND Gate: A kimenet magas, kivéve, ha az összes bemenete magas.
NOR Gate: A kimenet magas, ha egyik bemenete sem magas.
XOR-kapu: A kimenet magas, ha páratlan számú bemenet magas.

Tri-State Buffer: Egy harmadik logikai jel által vezérelt puffer.
Fontos most megemlíteni a nagy "1" jel és az alacsony "0" jel közötti különbséget. A magas jel lehet a pozitív feszültséghez való csatlakozás, vagy lebegő bemenet lehet. A lebegő bemenet olyan, amely nem kapcsolódik semmilyen kimenethez. Egy lebegő bemenetre példa egy olyan, amely egyáltalán nem csatlakozik, vagy olyan, amely nincs csatlakoztatva egy 3 állapotú puffer kimenetéhez. Alacsony jel van jelen, ha egy bemenet földön van.
A logikai kapuk egymásba táplálhatók, hogy szinte bármilyen elképzelhető funkciót hozzanak létre. Például két NOR kaput lehet behelyezni egymásba, hogy egy bit adatot tároljon egy RS_NOR reteszben, miközben az áramellátást az áramkörbe tápláljuk.

5. lépés: Bináris számlálás (a programszámláló)

A számítógép egyik legfontosabb része a programszámláló. A programszámláló biztosítja a számítógép számára a végrehajtandó utasítás aktuális címét. Ahhoz azonban, hogy a programszámláló működjön, binárisan kell számítania. Ehhez használják a JK flip flopsot. A flip-flop egy logikai kapu elrendezése, amely egy bitet tárol (mint a logikai kapuk lépésében leírt RS_NOR retesz). A JK flip-flop megváltoztatja állapotát, amikor az óra impulzus bemenete magas, majd ismét alacsony (a J és K bemeneteknek is magasnak kell lenniük). Más szavakkal, ha egy JK flip flop az óraimpulzus eső élét állítja, az állapota "0" -ról "1" -re vagy "1" -ről "0" -ra változik.
Ha egy JK flip flop kimenetét egy másikhoz csatlakoztatja, és a kaszkádba lép, az eredmény egy bináris számláló, amely úgy működik, mint egy kilométer számláló. Ez azért van, mert mivel az első JK flip flop a sorrendben magas, majd alacsony, akkor a következő sorozatot indítja el. Az óra frekvenciája (hányszor bekapcsol és kikapcsol egy másodpercet) felére csökken a JK flip flop minden egymást követő hozzáadásával. Ezért nevezzük a JK flip-flopot divide-by-two áramkörnek is. A négy JK flip flopra kapott minta 0000, 0001, 0010, 0011, 0100 lesz. . .
Az ebben az Instructable-ban leírt egyszerű számítógép esetében azonban van még néhány funkció, amire szüksége van ahhoz, hogy a számítógép működjön. Annak érdekében, hogy a számítógép képes legyen újraindítani a programot, szüksége van arra, hogy nullára állítsa be az összes kimenetet. A programszámlálónak képesnek kell lennie egy bináris szó betöltésére a JMP op kódhoz, amely lehetővé teszi a számítógép számára, hogy egy bizonyos utasításra ugorjon. A cél eléréséhez logikai kapukat használnak. Szerencsére a bináris számlálók kényelmesen zsetonokba kerülnek az összes szükséges funkcióval.

6. lépés: Regisztrálások

regiszter:

A nyilvántartások lehetnek a számítógép legfontosabb részei. A regiszter ideiglenesen tárolja az értéket a számítógép működése során. Az ebben az Instructable-ban leírt 8 bites számítógépnek két regisztere van az ALU-hoz csatlakoztatva, egy regiszter az aktuális utasítás tárolásához és egy regiszter a számítógép kimenetéhez.

A chiptől függően a regiszter 2 vagy 3 vezérlőcsapral rendelkezik. Az általunk használt regisztereknek két vezérlőcsapja van: a kimeneti engedélyezés és a bemenet engedélyezése (mindkettő aktív, ha alacsony). Amikor a kimenet engedélyező csapja földre van kapcsolva, az aktuálisan tárolt bináris szó kerül a kimeneti csapokba. Amikor a bemeneti csap a földre van kapcsolva, a bemeneti csapokon lévő bináris szó betöltődik a regiszterbe.

Példa a nyilvántartás számítógépen történő használatára az ALU-n lévő akkumulátor (matematikai műveleteket végző aritmetikai logikai egység). Az akkumulátor olyan, mint az ALU kimenetét tároló számítógép karcolódása. Az akkumulátor az ALU első bemenete. A B regiszter a második bemenet. Az adagoláshoz az első érték az akkumulátorba kerül. Ezután az első értékhez hozzáadandó második érték betöltődik a B regiszterbe. Az akkumulátor és a B regiszter kimenetei nyitva vannak, és folyamatosan táplálják az ALU-t. A hozzáadás utolsó lépése a művelet kimenetének átvitele az akkumulátorba.

A regiszterek mindegyike a busznak nevezett megosztott adatvonalon működik. A busz a vezetékek egy csoportja, amely a CPU architektúrájával azonos. Ez tényleg a ló elhelyezését teszi lehetővé, mielőtt a kocsi figyelembe veszi a busz szélességét a CPU architektúra meghatározó mérése. Mivel a digitális 1 pozitív feszültséget jelent, és 0 jelentése földelés, lehetetlen lenne, ha az összes regiszter ugyanazt a buszt használná anélkül, hogy megadná nekik azt a képességet, hogy szelektíven csatlakozhassanak és leváltsanak a buszról. Szerencsére nekünk van egy harmadik és egy 1 és 0 közötti állapot, ami ambivalens az aktuális imputálással, amely erre nagyszerűen működik. Adja meg a háromállapotú puffert: egy chipet, amely lehetővé teszi, hogy szelektíven csatlakoztassa a vezetékek csoportjait egy buszhoz. Ezek közül a három állapotú pufferek használatával minden nyilvántartást és chipet a teljes számítógépen kell kommunikálni, ugyanazokkal a vezetékekkel, mint egy busz. A számítógépem esetében ez egy 8-vezetékes széles sávtartó rés, amely a kenyérvágódeszka alsó csapjait fedezte. Kísérletezzen a buszokkal, mivel az összes információt a számítógépből egy darabról darabra szállítják, a hibás busz hibás adatokat jelenthet, amelyek a sorban hullanak.

7. lépés: Az ALU

A számítógép ALU (aritmetikai logikai egysége) a matematikai műveleteket végrehajtó rész. Az SAP számítógépen csak két funkcióval kell rendelkeznie: hozzáadás és kivonás. A bináris munkákhoz való hozzáadás és kivonás nagyon hasonlít az addícióhoz és a kivonáshoz a decimális számokban, például:
1 <- Carry 1 1 <- Carry Bits
05 0101
+05 +0101
10 1010
Bináris hozzáadásához szükségünk van a teljes betöltőre. Egy teljes betöltő hatékonyan hozzáad egy másik binárisot egy másikhoz egy hordozóval és végrehajtással. A teljes összeadó hordozója olyan, mint egy harmadik bemenet az addíciós folyamathoz. Ezeket használják, hogy több teljes adót láncoljanak össze. A teljes összeadó végrehajtása akkor történik, ha van egy pár pár az addíciós folyamatban. A teljes adder végrehajtása a hordozóba kerül, hogy több bináris bitet adjon hozzá. Ahhoz, hogy egy teljes összeadót építsünk, két XOR-kapu, két AND-kapu és egy OR-kapu szükséges.
A bináris kivonáshoz számot kell konvertálnunk a negatív partnernek, és hozzá kell adnunk azt a számhoz, amelyet kivonunk. Ehhez a 2-es bókot használjuk. A 2-es bajnokság egy bináris szavának az egyes biteket invertálva (minden 0-ban 1-re és 1-ről 0-ra változik) és az egyik hozzáadása.
5 = 0101, -5 = 1010+1 = 1011
Nem használt -> 1 1
10 1010
+(-5) +1011
5 0101
A bitek inverziójának vezérléséhez egy XOR-kaput használunk egy normálisan alacsony bemenettel. Egy átlagosan alacsony bemenettel a kimenet megegyezik a másik bemenettel. Ha a vezérlő bemenetet magasra állítja, fordítsa meg a másik bemenetet. Ha ezt az inverziót egy kicsit elküldjük a teljes aders hordozójához küldött bithez, akkor az kivonási művelet az eredmény.

8. lépés: Memória és RAM programozása

A számítógép programmemóriája tárolja a végrehajtandó utasításokat. Ez is olyan RAM-ként fog működni, amely értékeket tárolhat a számítógép működése közben. A program memóriája három fő részből áll: a memóriából, a memória címjegyzékből (MAR) és a multiplexerből. A memória egy chip, amely 16 bájt tárolással rendelkezik. Van egy négybites cím, amely a memóriába kerül, amely azt mondja, hogy mit kell olvasnia vagy írni. A MAR tárolja az olvasandó vagy írható bájt aktuális címét a memóriából. Folyamatosan betölti a memória chipet, kivéve, ha a számítógép a programozási állapotban van. A multiplexer lehetõvé teszi, hogy két bemenet között válasszon ki egy kimenetet. A számítógépemben használt multiplexer lehetővé teszi, hogy két négybites bemenet közül választhat (a MAR és a kézi bevitel). Amikor a számítógép programozási állapotban van, a kézi cím a memóriába kerül, és lehetővé teszi a bájtok programozását a számítógép memóriájába a megadott címen.

9. lépés: Utasítás-nyilvántartás

A számítógép utasításregisztere tárolja az aktuális utasítást, valamint egy címet, amelyre az utasítás működik. Nagyon egyszerű összetevő, nagyon fontos céllal. A számítógép működése során egy adott cím tartalmát a memóriában továbbítja az utasításregiszterbe. A számítógépemben a legközelebbi csomópontok az OP kód vagy az aktuális utasítás, amelyet végre kell hajtani. A megfelelő négy bit, vagy a legalacsonyabb négy bit adja meg a számítógépnek, hogy melyik címet kell használni a művelethez. Az első négy bit folyamatosan adagolja az OP kódot a vezérlő mátrixba, amely megmondja a számítógépnek, hogy mit kell tennie egy adott utasításhoz. A jobb oldali négy bit visszaadja a számítógépet úgy, hogy a címet át lehet vinni a MAR vagy a program számlálóba.

10. lépés: Kimeneti regiszter

Ha a számítógépnek csak a busz kimenetét kellett az üzemeltetőnek táplálnia, a leolvasás kevéssé érthető. Ezért van egy kimeneti regiszter, amelynek célja a kimenetre szánt értékek tárolása. A számítógép kimenete egyszerű LED-ek lehetnek, amelyek nyers bináris megjelenítést mutatnak, vagy egy olyan kijelző, amely a hét szegmenses kijelzőn megjelenő aktuális számokat jeleníti meg. Mindez attól függ, hogy mennyi munkát szeretne a számítógépbe helyezni. Számítógépemhez néhány IV-9 orosz Numitron csövet használok a számítógépem kimenetéhez, egy Arduino-val együtt, hogy a binárisról a decimálisra konvertáljam.

11. lépés: Óra

A számítógép minden részének teljesen szinkronizálva kell lennie ahhoz, hogy megfelelően működjön. Ehhez a számítógépnek órára vagy áramkörre van szüksége, amelynek kimenete állandó sebességgel be- és kikapcsol. Ennek legegyszerűbb módja az 555 időzítő használata. Az 555-ös időzítő egy rendkívül népszerű időzítő, amelyet a számítógép háborús megjelenésének korai szakaszában találtak. Az 555-ös áramkör megépítéséhez tudnia kell, hogyan működik.
A számítógép órájának kezdetben viszonylag lassúnak kell lennie. 1 Hz, vagy egy ciklus másodpercenként jó kezdőérték. Ez lehetővé teszi, hogy megtekinthesse a számítógép működését és ellenőrizze a hibákat. Az 555-ös chipnek két ellenállásra és kondenzátorra van szüksége. A két ellenállás határozza meg, hogy a magas és az alacsony impulzusok mennyi ideig, valamint az általános frekvencián. A kondenzátor megváltoztatja mindkét impulzus hosszát. Ha nincs tapasztalata 555 időzítővel, javaslom kísérletezni velük.
Hasznos Linkek:
http://en.wikipedia.org/wiki/555_timer_IC

12. lépés: Építészet

Ez az a lépés, ahol minden együtt jön. Itt az ideje, hogy megtervezze a számítógép architektúráját. Az architektúra az, hogy miként szervezik meg a számítógép regisztereit és különböző összetevőit. A tervezési szempont teljes mértékben rajtad múlik, bár segít megtartani egy célt (amit akarsz, hogy a számítógéped legyen), és egy modellt, amiből ki akarsz lépni. Ha az enyém után szeretné megtervezni a számítógépét, teljesen rendben van. Módosítottam az SAP-1 architektúráját Digitális számítógépes elektronika a 8 bites számítógépem.
Az egyik tervezési szempont, amelyet mindig szem előtt kell tartani, hogy az adatok a számítógép különböző összetevői között kerülnek átadásra. A leggyakoribb módszer az, hogy a számítógépen lévő összes adat egy közös "busz" legyen. A regiszterek, az ALU, a programszámláló és a RAM összes bemenete és kimenete a számítógép buszjához csatlakozik. A vezetékek a legkevésbé szignifikáns bitből (1) a legnagyobb bitté (128) vannak elrendezve.
A buszhoz csatlakoztatott összes kimenetet teljesen le kell kapcsolni, miközben inaktívak, vagy összeolvadnak egymással, és hibás kimenetet eredményeznek. Ehhez a Tri-state puffereket használjuk bizonyos alapértelmezett elemek kimenetének vezérlésére, mint például az akkumulátor, az ALU és a tényleges programbevitel a számítógép programozásához.

13. lépés: Ellenőrző mátrix

A számítógép vezérlő mátrixa minden egyes részt megmondja, hogy mikor kell bevinni a bemeneti és kimeneti értékét. A számítógépen minden művelet több állapota van. Ezeket az állapotokat egy számlálónak nevezzük. A gyűrűszámlálónak csak egy kicsit magasnak kell lennie, és a kimeneteit egymás után ciklikusan végzi. Például, ha egy csengőszámláló 4 kimenettel rendelkezik, akkor először az első kimenete lesz aktív. A következő óraimpulzusnál a második kimenet magas (és az első alacsony). A következő órajel-impulzus tovább növeli a bit egy kimenetet. Ezeket a lépéseket T állapotnak nevezik. Ebben az Instructable-ban a számítógép 6 T állapotot használ egy parancs működtetéséhez. Az első három T-állapot az, amit nevezési ciklusnak nevezünk, amelyben az aktuális utasítás beolvasásra kerül és az utasításregiszterbe kerül. A programszámlálót is növeli. A három T-állapot második csoportja attól függ, hogy az OP-kód melyik vezérlő mátrixba kerül az utasításregiszterből. A T állapotok a következők:
T1: A programszámláló tartalma a memóriacímtárba kerül. (Címállomás)
T
2: A programszámláló egyvel növekszik. (Növekvő állapot)
T3: A címtár bájtja a programmemóriában az utasításregiszterbe kerül. (Memóriaállapot)
T4: Attól függ, hogy melyik parancsot hajtja végre.
T5: Attól függ, hogy melyik parancsot hajtja végre.
T6: Attól függ, hogy melyik parancsot hajtja végre.
A vezérlő mátrix létrehozásának két fő módja van: diszkrét logika és ROM-ok használata. A ROM módszer a legegyszerűbb és leghatékonyabb. A diszkrét logika használatával egy olyan hatalmas logikai vázlatot tervezünk, amely a megfelelő vezérlőszavakat adja ki a számítógéphez egy OP kódbemenet alapján. A ROM csak olvasható memóriát jelent. A ROM-ok több típusát is figyelembe vehetik az építéshez. A számítógépemnél eredetileg EEPROM-ot használtam (elektronikusan törölhető programozható ROM), majd az EEPROM chipek írása után az NVRAM (nem illékony véletlen hozzáférésű memória) -re váltottam. Nem ajánlom az NVRAM-ot, mivel ez véletlen hozzáférésű memóriára és nem állandó tárolásra szolgál. Véleményem szerint az EEPROM a leghatékonyabb megoldás.
A vezérlő mátrixnak három ROM-chipje lesz, amelyek mindegyike legalább 32 címmel rendelkezik 8 bites tárolóval (valamint az időzítő és számláló elemekkel). A vezérlő mátrixból küldött bináris szót vezérlő ROM-nak nevezik, és tartalmazza az összes vezérlőbitet a számítógép minden összetevőjéhez. Biztosak vagyunk benne, hogy megszervezzük a vezérlőbiteket és ismerjük a rendet. Ha nincs művelet, olyan vezérlő szót szeretne, amely a számítógép minden részét inaktívvá teszi (kivéve természetesen az órát). Az ebben az Instructableban leírt számítógép vezérlőszava 16 bit hosszú, és a vezérlő ROM két chipjében van tárolva. A vezérlő ROM chipek első három címe a vezérlési szavakat tartalmazza a letöltési ciklusban. A chip többi címe a vezérlőszavakat három OP párban tartja az egyes OP-kódoknál. A harmadik ROM chip a memóriahelyet tartalmazza az egyes OP-kódokhoz tartozó vezérlési szavak sorrendjének megkezdéséhez, és maga az OP-kód foglalkozik. Például a számítógépemen, ha megadja a vezérlőt, az 0110 OP kód bináris 21-et fog kiadni, amely a JMP parancs elindításának címe. Van egy 8 bites számláló az OP ROM és a vezérlő ROM között, amely 0-2-ről számol (első három T-állapot), majd a harmadik T-állapotban az OP-ROM által kiadott cím és a T1 Az állapot újra törli a számlálót. A vezérlő mátrix gyűrű- és bináris számlálóját az óraimpulzus inverziója vezérli úgy, hogy a vezérlőszavak jelenjenek meg, amikor az emelkedő óraimpulzus a számítógép elemeire megy. A teljes folyamat a következő:
1.) A T1 állapot 0-ra törli a számlálót, a 0-on tárolt vezérlőszó elküldésre kerül
2.) Az óra magas és a cím állapota megtörténik
3.) Az óra alacsony, és a vezérlő számláló lépések és az 1. vezérlőszó kerül elküldésre
4.) Az óra magas, és a növekményes ciklus megtörténik
5.) Az óra alacsony, és a vezérlőszámláló 2-re növekszik, a 2-es vezérlőszót elküldi
6.) Az óra magas és a memória állapota megtörténik, és az OP kód megérkezik az utasításregiszterbe, a T3 is aktív, ami azt jelenti, hogy a következő alacsony órás impulzuson az OP vezérlő címe betöltődik
7.) Az óra alacsony, és betölti a számlálót az adott OP-kód három vezérlőszava első címének címével
8.) T4, T5 és T6 végrehajtja az OP kódot
9.) A T1 visszaállítja a számlálót, a folyamat addig folytatódik, amíg meg nem érkezik egy HLT OP. A HLT parancs megállítja az órát.

14. lépés: Mikroprogramozás

Most az a rész, ahol eldöntheti, hogy melyik parancsot kívánja a számítógépnek. 6 egyedi műveletet adtam a számítógépről, amely megadta volna az alapvető programozási funkciókat, amelyekre szükségem lenne. Azok a parancsok, amelyeket a számítógépre programozni fognak, az összeszerelési nyelv. A közgyűlés az egyik legkorábbi programozási nyelv, és ma is használható számítógépeken. A nyelvi parancsok tartalmazzák az akkumulátor betöltését, a változók hozzáadását, mozgatását, küldését és tárolását. Ebben a 8 bites számítógépen minden parancsnak saját 4 bites OP kódja van. A számítógépemhez kiválasztott parancsok a következők:
NOP: Nincs művelet. (0000)
LDA: Töltse be az akkumulátort a megadott értékre. (0001)
ADD: Adja meg a megadott címen az értéket az akkumulátorban lévő értékhez. (0010)
SUB: Kivonja az értéket a megadott címen az akkumulátorban lévő értékből. (0011)
STO: Tárolja az akkumulátor tartalmát a megadott címen. (0100)
OUT: Az akkumulátor tartalmát a kimeneti regiszterben tárolja, hogy az üzemeltető láthassa azt. (0101)
JMP: Ugrás egy bizonyos utasításra a memóriában a megadott címre. (0110)
HLT: Állítsa le a számítógép működését. (0111)
Annak megállapításához, hogy milyen vezérlőszavakat kell küldeni az egyes OP-knak, tudnia kell, hogy milyen biteknek kell lenniük minden T állapotban. Számítógépemre a biteket a következőképpen rendeztem (egy aláhúzás egy aktív-alacsony bitet jelöl):
CE CO J MI RO II IO OI BI EO SU AI AO RI HLT X
CE - Számlálás engedélyezése (engedélyezi a program számláló órabemenetét)
CO - Clock out engedélyezés
J - Ugrás engedélyezése
MI - MAR bemenet
RO - A memória tárolása
II - Utasítás-nyilvántartás
IO - Utasítás regisztrálása
OI - Kimeneti regiszter
BI - B regisztrál
Az EO - ALU kimenet lehetővé teszi
SU - Kivonás
AI - Akkumulátor
Az AO - Akkumulátor kimenet lehetővé teszi
RI - A program memóriája
HLT - Halt
X - Nem használt
Íme, milyen biteknek kell aktívnak lennie az egyes utasításokhoz tartozó T állapotoknál, valamint a vezérlő ROM-ban lévő címnek:
lekérése:
0: CO, MI - A program számláló kimenete a MAR
1: CE - A számláló engedélyezve van a következő óra impulzusra
2: RO, II - A címzett bájt a RAM-ról az utasításregiszterbe kerül
NOP:
3: X
4: X
5: X
LDA:
6: IO, MI - Az utasításregiszterben lévő cím átkerül a MAR-be (legalacsonyabb négy bit)
7: RO, AI - A címzett bájt a memóriából az akkumulátorba kerül
8: X
ADD:
9: IO, MI - Az utasításregiszterben lévő cím átkerül a MAR-be (legalacsonyabb négy bit)
10: RO, BI - A címzett bájt a memóriából az akkumulátorba kerül
11: EO, AI - Az akkumulátor és a B regiszter összege az akkumulátorba kerül
ALATTI:
12: IO, MI - Az utasításregiszterben lévő cím átkerül a MAR-be (legalacsonyabb négy bit)
13: RO, BI - A címzett bájt a memóriából az akkumulátorba kerül
14: AI, SU, EO - Az akkumulátor és a B regiszter közötti különbség az akkumulátorba kerül
STO:
15: IO, MI - Az utasításregiszterben lévő cím átkerül a MAR-be (legalacsonyabb négy bit)
16: AO, RO, RI - Az akkumulátor a program memóriájába kerül a címzett helyre (RO és RI-nek aktívnak kell lennie a használt chipen való íráshoz)
17: X
KI:
18: OI, AO - Az akkumulátor a kimeneti regiszterbe kerül
19: X
20: X
JMP:
21: J, IO - Az utasításregiszter betölti a programszámlálót a legkisebb négy bitjével
22: X
23: X
HLT:
24: HLT - A leállási jel az órára kerül
25: X
26: X
Az OP-ROM három memóriát tartalmaz minden memóriahelyen. Ez természetesen azért van, mert minden ciklus három végrehajtási állapotot vesz igénybe. Ezért az OP-ROM címzett adatai a következők:
0 - 3
1 - 6
2 - 9
3 - 12
4 - 15
5 - 18
6 - 21
7 - 24
A chip kiválasztásához számos különböző lehetőség áll rendelkezésre. Lehet vásárolni egy EEPROM és EPROM programozót, de ezek általában jelentős összegű pénzbe kerülnek. A ROM-ra egy kenyérsütő-programozót építettem, amelyet a vezetékek mozgatása és az írási és olvasási engedélyező csapok vezérlése nyomógombokkal működtet. Később egyszerűsítettem a folyamatot, és kifejezetten terveztem egy Arduino programozót az NVRAM számára. A kódot csatolom, mivel könnyen módosítható úgy, hogy szinte minden olyan párhuzamos memória chipet programozzon, amelyet ehhez a projekthez használnánk.

15. lépés: Alkatrészek vásárlása

A 8-bites számítógép építésének nagyszerű dologa, hogy a legtöbb alkatrész kevesebb, mint egy dollárba kerül, ha megvásárolja őket a megfelelő helyen. A részem 90% -át megvásároltam a Jameco Electronics-tól, és teljesen elégedett voltam a szolgáltatásaikkal. Az egyetlen alkatrész, amit valahol máshol vásároltam, a kenyérvágódeszkák és a kenyérkábel vezetékek (és a Numitron csövek). Ezek az Amazonokhoz hasonló webhelyeken sokkal olcsóbbak. Mindig győződjön meg róla, hogy a megrendelt alkatrészek megfelelőek. Minden vásárolt alkatrésznek rendelkeznie kell egy online adatlappal, amely a vásárolt elem összes funkcióját és korlátait ismerteti. Győződjön meg róla, hogy ezeket megtartotta, mivel sok adatlapot fog használni a számítógép építésében. Hogy segítsen a számítógépen, felsorolja azokat az alkatrészeket, amelyeket az enyémhez használtam:
4 bites számláló:
74161 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=74161&langId=-1&storeId=10001&productId=49664&search_type=jamecoall&catalogId=10001&ddkey=http:StoreCatalogDrillDownView
4-bites regiszter (minden egyes 8 bites regiszterhez kettőt használok):
74LS173 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=74LS173&langId=-1&storeId=10001&productId=46922&search_type=jamecoall&catalogId=10001&ddkey=http:StoreCatalogDrillDownView
2-1 multiplexer:
74LS157 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_46771_-1
16x8 RAM (kimenet megfordítása szükséges):
74189 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=74189&langId=-1&storeId=10001&productId=49883&search_type=jamecoall&catalogId=10001&ddkey=http:StoreCatalogDrillDownView
Teljes kiegészítők:
74LS283 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=74LS283&langId=-1&storeId=10001&productId=47423&search_type=all&catalogId=10001&ddkey=http:StoreCatalogDrillDownView
Tri-State Buffers:
74S244 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_910750_-1

XOR kapuk:
74LS86 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_295751_-1
ÉS Gates:
74LS08 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_295401_-1
NOR Gates:
74LS02 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_283741_-1
inverterek:
74LS04 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_283792_-1
Csengésszámláló:
CD4029 - http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=4029&langId=-1&storeId=10001&productId=12925&search_type=jamecoall&catalogId=10001&ddkey=http:StoreCatalogDrillDownView
JK Flip-Flops:
74LS10 - http://www.jameco.com/webapp/wcs/stores/servlet/Product_10001_10001_295427_-1

16. lépés: Építés

Itt van az a hely, ahol a türelem valóban bejön. Választottam egy kenyérvágódeszkát az aktuális számítógéphez, de sok más módszer is létezik (mint például a drótkötés), ami ugyanúgy működik. Ahhoz, hogy a dolgok sokkal egyszerűbbek legyek, egy blokkdiagramot adtam a számítógépem tényleges vázlataira. Nem szerepeltem azonban az alkatrészszámokat vagy a PIN-kódokat. Úgy gondolom, hogy ez egyszerűbbé és nyitottabbá teszi a dolgokat a kreativitásra. A 4 bites programszámláló kimenet, a MAR bemenet és az utasításregiszter kimenet mind a számítógép buszjának négy legkevésbé fontos bitjéhez kapcsolódnak.
A második ábra a számítógép működési végének vezérlési logikája. A vezérlők úgy vannak kialakítva, hogy a váltók lehetnek a számítógép bemenetei. Az RS_NOR reteszek a váltókapcsolók elé helyezkednek el, hogy azok visszavonják őket. A váltókapcsolók gyakran piszkos kapcsolatokkal rendelkeznek, amelyek egy be- és kikapcsolt állapotba ugrálhatnak, és több impulzust biztosítanak, mint amennyit akarnak. Flip flop hozzáadása egy váltó kimenetéhez kiküszöböli az extra impulzusokat. Ez a kézi óra opció használata esetén rendkívül hasznos lenne. Nem szeretné megfordítani a kapcsolót, és nem indítana 8 óra impulzust. Az olvasás / írás gomb az aktív bemeneti bájtot a címzett memóriába írja. Az alapértelmezett vezérlőszó bevitelének megváltoztatásával a RAM-ba két alacsony RO és RI bitre van szükség, amelyek írási ciklust kezdeményeznek. A futás / programkapcsoló megváltozik, amelyik bemenet aktív a memóriacím multiplexeren. Az 555 után a JK flip flop azt jelenti, hogy a számítógép futtatásakor ez nem indul el egy óraimpulzus közepén. Az alacsony HLT-jel megállítja az órát a kézi órában vagy az 555-ben. Végül, a futás / tiszta kapcsoló a számítógép összes tiszta csapjához van csatlakoztatva, például a regisztereken és számlálókon.

17. lépés: Programozás

Most, hogy a számítógép megtörtént, programozható, hogy utasításokat hajtson végre. Ehhez először be kell helyezni a számítógépet a programbeállításba úgy, hogy a futási / programváltó kapcsolót a programhelyre állítja. Ezután a 0-tól kezdődő és a 15-re haladó címek kiválasztásához és a szükséges adatok beillesztéséhez. Például az 5-ös elindításához és a 4-es hozzáadásához minden kimenettel a program a következő:
Cím - adatok:
0000 - 00010111 LDA 7: Töltse be az akkumulátort a 7 (5) memóriacímen tárolt értékkel
0001 - 00101000 ADD 8: A 8-as memóriacímben tárolt érték hozzáadása (4)
0010 - 01010000 OUT: Kimeneti az akkumulátort
0011 - 01100001 JMP 1: Ugrás az 1. utasításra
0100 - X
0101 - X
0110 - X
0111 - 00000101 5
1000 - 00000100 4
1001 - X
1010 - X
1011 - X
1100 - X
1101 - X
1110 - X
1111 - X

18. lépés: Tovább

Remélem, élveztem ezt az Instructable-ot, és mindenekelőtt remélem, hogy van valamit belőle. Ezt a kemény munkát hihetetlenül értékes tanulási tapasztalatnak tekintheti, amely jobban megérti az elektronikát, a számítógépeket és a programozást. Végül is valami nagyon hűvös lesz, hogy megmutassa a kemény munkát is.
Az első 8 bites számítógép felépítése után tovább léphet, és további funkciókkal bővíthető. Az ebben a számítógépben használt ALU nagyon egyszerű, és a mai ALU-k számos funkcióval rendelkeznek, mint például a bit-váltás és a logikai összehasonlítások. A másik fontos szempont a feltételes elágazás. A feltételes elágazás azt jelenti, hogy egy utasítás az ALU által beállított zászlók aktuális állapotától függ. Ezek a zászlók megváltoznak, amikor az akkumulátor tartalma negatívvá válik, vagy nulla. Ez lehetővé teszi a számítógép alkalmazásának sokkal szélesebb körű lehetőségét.
Ha bármilyen kérdése van ehhez a projekthez, nyugodtan kommentálhatja ezt az Instructable-et vagy a http://8-bitspaghetti.com weboldalamon. Sok sikert kívánok a projekthez.

3 ember készített ezt a projektet!

  • JamesP383 tette!

  • xdola tette!

  • realhet csinálta!

Készítette ezt a projektet? Ossza meg velünk!

ajánlások

  • Vintage Look Media PC egy régi laptopról

  • Digi-Comp II Replica

  • A tárgyak internete osztálya

  • A Rainbow Contest színei

  • Osztálytudományi verseny

  • Fandom verseny

173 Beszélgetések

0

AtomicFerryt

1 évvel ezelőtt

Gondolod, hogy digitális diagramot készíthetsz az alaplapra? Még soha nem használtam kenyértáblát, de mélyen érdekel a régi számítógépek.

0

FarsinHamza

1 évvel ezelőtt

Az egyik gyönyörű, taníthatatlan, amit valaha láttam …. Köszönöm türelmét … :)

0

bob491

1 évvel ezelőtt

ez egy rendkívül jól megírt és részletes oktatóeszközök és nagyon jó is. Köszönöm.

0

champ12345

1 évvel ezelőtt

kicsit összetettnek tűnik

0

mkpeker

1 évvel ezelőtt

szép építés. érdemes ellenőrizni a legegyszerűbb 4 bites ttl cpu-t (MP-4) az alapok megértéséhez:

http://www.instructables.com/id/Simplest-4-Bit-TTL-CPU/

0

mkpeker

2 évvel ezelőtt

szép projekt lehet, hogy ki szeretné nézni az enyémet;

Végül készen áll a monitor típusú operációs rendszerem (inline összeszerelővel és diszpécserrel)
Kérjük, állítsa be és próbálja meg ezt a v1.0b-t
az összes szükséges információt megtalálhatja az Efex oldalamon;

http://mkpeker.wixsite.com/efex

kérjük, küldje el nekem észrevételeit, mint a szoftver javítása
Köszönöm

0

TheMrCode

2 évvel ezelőtt

mi van, ha vezetékek helyett ledeket használ. láthatná, hol mennek a jelek

0

GeorgeW134

2 évvel ezelőtt

Hogyan programozna egy if-nyilatkozatot?

2 válasz 0

JuliaS87GeorgeW134

Válasz 2 évvel ezelőtt

Nincs szükség új opcode-ra. Amire szükséged van, az az érték, ami igaz és hamis, mint 1 és 0. Ezt az értéket az akkumulátorba tölted, és kivonjuk az 1-et. Ezután feltételes ugrást végezsz. Ha az érték 1 (igaz), a kivonás túlcsordulást és a feltételes ugrást eredményezi. Ha az érték 0 (hamis), nincs túlcsordulás és így nem ugrik.

0

calebj20GeorgeW134

Válasz 2 évvel ezelőtt

Mivel van egy regiszter (akkumulátor), amely az előző összeget tárolja az ALU-ból, akkor ellenőrizheti, hogy az eredmény negatív, pozitív vagy nulla számot ad-e meg, majd hozzáadhat egy új opcode-ot, amely ellenőrzi az állapotot és ugrik, ha a feltétel fennáll igaz.
például

A 4 - 10 = -6 -> -6 negatív, így bármelyik N 1 bitet tartalmazó ágparancs ugrik

összeszerelés: BRN RA Ez az A-ban tárolt hely negatívra kerül

bináris feltételezés, hogy az opcode 1000: 10001000

Ahol ez az opcode bontása

BR: 1000

N: 1 | 0

Z: 1 | 0

P: 1 | 0

0: 0 | 0

Ha még sokoldalúbbá szeretné tenni, akkor megpróbálhatja hozzáadni a B-nek azt a képességét, hogy beállítsa a busz értékét, majd az utolsó '0' bit lehet A vagy B esetén 0 vagy 1.

0

T0BY

2 évvel ezelőtt

Crikey, van türelmed!

0

SuperNovaa41

2 évvel ezelőtt

Van egy kérdésem. A listában szereplő összes alkatrész 2 kivételével.
a tri állapotú pufferek és a jk flip flops
Volt egy másik webhely, ugyanazzal a modellel, mint a tri állapotú pufferek
de
nem volt JK flip flop csere, nem kell-e a pontosat használni
ugyanazt a modellt használja, mint amit felsorolt, vagy más modellt használhatok? és ha igen, melyik
modellt kell használni?

0

SuperNovaa41

2 évvel ezelőtt

Hé! Tudom, hogy ez egy régebbi hozzászólás, de adhatnék nekem néhány frissített linket a Tri State Buffers és a JK Flip Flops számára? Megpróbáltam kutatni a termékeket, de nem tudom, mely modelleket használjuk. Előre is köszönöm!

0

BartH19

2 évvel ezelőtt

Érdekel, hogy egy egyszerű CPU-t készíthetek, amit egy LED-re vagy akár LCD-képernyőre írhatok. Ez a projekt számomra, vagy jobb irányba mutat-e?

Teljesen kezdő vagyok ebben. Egy ácsmester vagyok, aki megpróbál valamiféle fából készült számítógépet készíteni!

5 válasz 0

FinnW3BartH19

Válasz 2 évvel ezelőtt

Ahelyett, hogy egy CPU-t építene, építsen egy számítógépet egy fa tokkal. A számítógépek költsége meglehetősen költséges, de ténylegesen 300 dollár alatt érheti el őket. Próbálja ki ezt az oldalt: pcpartpicker.com

0

BartH19FinnW3

Válasz 2 évvel ezelőtt

Köszönet érte. Remélem, vannak olyan részek, amelyek elég vékonyak. Azt akarom, hogy olyan legyen, mint egy szavak számológépe. Megnézem a linket: D

0

KyleF45BartH19

Válasz 2 évvel ezelőtt

Ha minden, amire szüksége van, számológépként működik, érdemes megnézni a Raspberry Pi-t. Ez sokkal kisebb és olcsóbb lesz, Pi pedig olyan, mint egy telefon mérete.

0

KyleF45KyleF45

Válasz 2 évvel ezelőtt

Most, hogy erre gondolok, a Pi elég sok mindent tud csinálni, amit egy teljes asztali számítógép képes, csak sokkal kisebb. Valószínűleg valamilyen szoftvert használhat.

0

BartH19KyleF45

Válasz 2 évvel ezelőtt

Köszönjük a választ: D

Nem sokkal az eredeti megjegyzésem után ténylegesen találtam ezt a fickót: http: //www.etsy.com/shop/writeotron? Ref = unav_lis …

Egy újnál dolgozunk együtt. Ez egy Pi!

0

bharathis

2 évvel ezelőtt

Csodálatos és bátorító engem, hogy készítsek egyet a sajátomról.

biztos, hogy megnyomom a "Megtettem". Folyamatban vagyok, hogy építsem. hee hee fantasztikus digitális elektronikáját