Hoe het bouwen van een 8-bits Computer (14 / 18 stap)

Stap 14: Wilkes


Nu is het deel waar u welke commando's u wilt dat uw computer beslist te kunnen. Ik gaf mijn computer 6 unieke bewerkingen die het zou geven de programmering basisfuncties die ik nodig zou hebben. De opdrachten die u in uw computer zal program zijn zogenaamde assembler. Montage is een van de vroegste programmeertalen en nog steeds kan worden gebruikt op computers vandaag. Opdrachten in de taal omvatten de accumulator, toevoegen, verplaatsen, uitvoeren en opslaan van variabelen te laden. Elke opdracht heeft zijn eigen 4-bits OP code in deze 8-bits computer. De opdrachten die ik koos voor mijn computer zijn:

NOP: Geen operatie. (0000)
LDA: Laad de accu met de waarde op dit adres. (0001)
Toevoegen: De waarde op het opgegeven adres toevoegen aan de waarde in de accumulator. (0010)
SUB: Aftrekken van de waarde op het opgegeven adres van de waarde in de accumulator. (0011)
STO: Opslaan van de accumulator inhoud op het opgegeven adres. (0100)
OUT: Opslaan van de accumulator inhoud in het register van de uitvoer, zodat de operator kunt zien. (0101)
JMP: Ga naar een bepaalde instructie in het geheugen op het opgegeven adres. (0110)
HLT: Stoppen de werking van de computer. (0111)

Om te bepalen welke controle moeten woorden worden verstuurd voor elk OP die je moet weten wat stukjes moeten actief tijdens elke T-staat. Voor mijn computer heb ik de bits georganiseerd als volgt (een onderstreping geeft een actieve-low bit):

CE-CO J MI RO II IO OI BI EO SU AI AO RI HLT X

CE - graaf inschakelen (maakt het programma-item klok input)
CO - klok uit inschakelen
J - jump inschakelen
MI - MAR Input
RO - programmageheugen uit
II - instructie register in
IO - instructie register uit
OI - Output registreren in
BI - B register in
EO - ALU uitvoer inschakelen
SU - aftrekken
AI - Accumulator in
AO - Accumulator uitvoer inschakelen
RI - programmageheugen in
HLT - Halt
X - niet gebruikt

Hier zijn wat stukjes moet actief voor elke T-staat voor een bepaalde instructie, alsmede het adres waarnaar zij in het besturingselement ROM worden moeten:

Ophalen:
0: CO, MI - het instructieregister uitgangen in de MAR
1: CE - de teller is ingeschakeld voor de volgende klok pulse
2: RO, II - de geadresseerde byte is output van de RAM in het instructie-register

NOP:
3: X
4: X
5: X

LDA:
6: IO, MI - het adres in het register van de instructie wordt overgebracht naar de MAR (laagste vier stukjes)
7: RO, AI - de geadresseerde byte is output uit het geheugen in de accumulator
8: X

TOEVOEGEN:
9: IO, MI - het adres in het register van de instructie wordt overgebracht naar de MAR (laagste vier stukjes)
10: RO, BI - de geadresseerde byte is output uit het geheugen in de accumulator
11: EO, AI - de som van de buffertank en het B-register in de accu wordt geladen

SUB:
12: IO, MI - het adres in het register van de instructie wordt overgebracht naar de MAR (laagste vier stukjes)
13: RO, BI - de geadresseerde byte is output uit het geheugen in de accumulator
14: AI, SU, EO - het verschil van de buffertank en het B-register in de accu wordt geladen

STO:
15: IO, MI - het adres in het register van de instructie wordt overgebracht naar de MAR (laagste vier stukjes)
16: AO, RO, RI - de accumulator uitgangen in het programmageheugen op de geadresseerde locatie (RO en RI hebben om actief te zijn voor een schrijven op de chip die ik gebruikte)
17: X

UIT:
18: OI, AO - de accumulator uitgangen in het register van de uitvoer
19: X
20: X

JMP:
21: J, IO - het register van de instructie laadt het programma-item met de laagste vier stukjes
22: X
23: X

HLT:
24: HLT - een halt toe te roepen-signaal wordt verzonden naar de klok
25: X
26: X

Uw OP-ROM bevat veelvouden van drie op elke locatie in het geheugen. Dit is natuurlijk omdat elke cyclus drie staten van de uitvoering duurt. Daarom zullen de geadresseerde gegevens voor uw OP-ROM:
0 - 3
1 - 6
2 - 9
3 - 12
4 - 15
5 - 18
6 - 21
7 - 24

Om uw keuze van chip program hebt u vele verschillende opties. Je zou kunnen kopen een EEPROM en EPROM programmeur, maar ze meestal een aanzienlijke hoeveelheid geld kosten. Ik bouwde een breadboard programmeur voor mijn ROM die wordt beheerd door de draden bewegen en de controle van het schrijven en lezen inschakelen pinnen door drukknoppen. Later ik het proces vereenvoudigd en een Arduino-programmeur specifiek ontworpen voor mijn NVRAM. Ik zal de programmacode koppelen als het kan eenvoudig worden aangepast naar programma bijna elke parallelle geheugen chip die u zou gebruiken voor dit project.

Gerelateerde Artikelen

Hoe het bouwen van een "Goedkope" Gaming Computer

Hoe het bouwen van een "Goedkope" Gaming Computer

u ooit zijn geïnteresseerd in het verkrijgen betrokken bij PC gaming, maar terughoudend om te laten vallen $2000 + op een top van de lijn gaming rig? PC gaming is echt een magische wereld met veel meer aanpassingsmogelijkheden, betere prestaties en g
Hoe het bouwen van een computer

Hoe het bouwen van een computer

In dit Instructable zal ik uitleggen hoe het bouwen van een computer. Voor een normale computer (een die niet watergekoelde is) zal u deze onderdelen nodig:Zaak moederbordCompatibel met moederbord CPUHeatsink voor CPURAM compatibel met moederbordHard
Hoe het bouwen van een roterende Laptop Mobile staan

Hoe het bouwen van een roterende Laptop Mobile staan

de laatste tijd de meeste van mijn werk is gedaan op mijn laptop en proberen om alles te houden samen (laptop, printer, scanner, draagbare aandrijving en diverse andere benodigde accessoires) ik moet een werkstation waarop ik kan rollen rond het huis
Scout Project: Hoe het bouwen van een Trebuchet

Scout Project: Hoe het bouwen van een Trebuchet

dus voor welke reden dan ook, de voorpagina van mijn Instructable is leeg... na mij schrijven (in mijn mening) een vrij koele opening... Damnation! Nou... laten we proberen dit weer hè?Nou... Welkom bij de tweede aflevering van mijn Scout projecten..
Hoe het bouwen van een figuurframe

Hoe het bouwen van een figuurframe

hoe het bouwen van een high-end houten fotolijst aangepast aan een grote olieverf op doek. Awesome art door Emily Keyishian.Stap 1: Controleer of het verwerven van kunst Iets briljant maken, of iemand die heeft en is bereid om het te verkopen aan u v
Hoe het bouwen van een 1 deel gebonden zand schimmel

Hoe het bouwen van een 1 deel gebonden zand schimmel

dit is hoe het bouwen van een gekleefde 1 deel zand mal voor het gieten van metaal. Ik maakte dit op Techshop. www.techshop.WSStap 1: Stap 1: Maak een patroon Eerste stap in het creëren van een gekleefde zand schimmel is het creëren van een patroon t
Hoe het bouwen van een zitten rijden arcade kast

Hoe het bouwen van een zitten rijden arcade kast

voor de show en tell vandaag ik een instructable die bracht zal aantonen hoe het bouwen van een arcade stijl zitten rijden game kabinet. Spelen alle van de oude school-favorieten zoals Uit uitgevoerd of vul uw "Need for Speed" de meest recente x
Hoe het bouwen van een speelgoed doos

Hoe het bouwen van een speelgoed doos

met Kerstmis bijna op ons, we konden worden denken over de bouw van een doos speelgoed om effectief doden twee vliegen in één klap. Voor elke ouder zijn enkele van de grootste uitdagingen met Kerstmis weten wat er onder de boom en ook waar het speelg
Hoe het bouwen van een aangepaste "bed of nails" tester voor uw 3D-printer elektronica

Hoe het bouwen van een aangepaste "bed of nails" tester voor uw 3D-printer elektronica

Als u een heleboel PCB (Printed Circuit Board) zijn productie, wil je een soort van QA-om ervoor te zorgen dat uw planken zijn functioneel en zonder gebreken. De meest populaire methode voor het testen van in-circuit is het gebruik van een bed van sp
Hoe het bouwen van een pergola: awesome maken van de grond af.

Hoe het bouwen van een pergola: awesome maken van de grond af.

Als je hebt grote achtertuin landscaping ideeën, dan hoe het bouwen van een pergola - die rotsen - moet worden op uw lijst. Deze pergola is een één-van-een-kinder met een multifunctionele ruimte voor zithoek en serveren. Wij hopen dat u love it zo ve
Hoe het bouwen van een goedkope werkbank voor houtbewerking met behulp van een mal van Kreg HD, met VIDEO tutorial

Hoe het bouwen van een goedkope werkbank voor houtbewerking met behulp van een mal van Kreg HD, met VIDEO tutorial

Gratis plannen zijn ook hierna beschikbaar in Imperial en Metric.Stap 1: Zie volledige Video Tutorial Video hier.Warren uit één hout Tools toont hoe het bouwen van een goedkope en makkelijke eiland houtbewerking werkbank met hond gaatjes, gewrichten
Hoe het bouwen van een roker vat

Hoe het bouwen van een roker vat

Dit is mijn eerste Instructable dus niet lachen.Hopelijk tegen het einde van dit zal u zitten kundig voor het bouwen van uw eigen BBQ roker uit enkele vaten.  Ik denk dat deze roker heet een offset trommel roker.  Mee kan u vlees en voedingsmiddelen
PT. 1 hoe het bouwen van een wiel van de pottenbakkers met een loopband motor!

PT. 1 hoe het bouwen van een wiel van de pottenbakkers met een loopband motor!

Deze tutorial is pt 1.  de snelle versie van hoe het bouwen van een pottenbakkers wiel met behulp van onderdelen uit de stapel van schroot en delen van een loopband van $10.  Ik heb gezocht hoog en laag op het web naar informatie over dit onderwerp,
Hoe het bouwen van een eenvoudige water raket

Hoe het bouwen van een eenvoudige water raket

Welkom bij dit instructable!Voor een schoolproject of gewoon voor de lol, is bouwen en lanceren van uw eigen water rocket een uitdagende maar geweldige ervaring. In deze tutorial laten we u hoe te beginnen en hoe te bouwen van je eigen, eenvoudige wa