Dette er et innlegg relatert til byggingen av RC2014, se introduksjon, og vil mer eller mindre være mine egne notater relatert til denne spesifikke modulen.
ROM
ROM, eller uten forkortelsen - Read Only Memory, er ofte den eneste formen for permanent lagring av data på digitale kretser. Den dataen man lagret var i utgangspunktet det vi i dag refererer til som et operativsystem, med andre ord den grunnleggende programvaren som var nødvendig for å utføre selv de mest grunnleggende funksjoner slik som å lese inn inndata fra et tastatur og så vise dette på en skjerm.
Vel å merke så var det ikke alle av de opprinnelige datamaskinene som hadde noen form for programvare tilgjengelig, flere av dem slik som eksempelvis Cosmac ELF var avhengig av at brukeren manuelt programmerte den ved bruk av fysiske brytere på forsiden av den - mye blod, svette og tårer der bare for å få et enkelt lys til å blinke. RC2014 kommer heldigvis med NASCOM Basic installert ROM, modulens dokumentasjon tilgjengelig på http://rc2014.co.uk/modules/switchable-rom/.
Adressering
Var i utgangspunktet litt usikker på hvor denne skulle plasseres innenfor minnet, se RC2014 Memory Map, ettersom modulen har jumpere for konfigurering innenfor et 64K adresser-rom. Sett fra prosessoren og operativsystemet (Basic) sin side så er ROM alltid plassert på adressene fra $0000 til $1FFF - jumperne på modulen lar deg avgjøre hvilket 8K vindu innenfor EPROM-modulen (standard er 27C512, det vil si 64KB) som man er i stand til å se.Binær adresse (x = don't care) |
---|
000x xxxx xxxx xxxx |
Implementasjonen av denne logikken utnytter det faktum at for å signalisere til ROM at den skal svare på "henvendelsen" (husk at bare en brikke kan være aktiv på bussen til ethvert tidspunkt) slik den er nå så må CE (Chip Enable-pin på EPROM-brikken) dras til jord, den gjør dette ved å detektere hvorvidt adresse-linjene A15-13 har positiv spenning ved bruk av et sett med OR-gater (74HCT32).
Husker absolutt ingenting av det jeg lærte om boolsk algebra fra videregående, så for å forstå hvordan denne logikken fungerte fremfor å dra frem mattebøkene (har denne boken fortsatt, nederst i en veldig stor stabel) så fant det enklere å bare simulere den isteden ved bruk av Logic Gate Simulator:
Husker absolutt ingenting av det jeg lærte om boolsk algebra fra videregående, så for å forstå hvordan denne logikken fungerte fremfor å dra frem mattebøkene (har denne boken fortsatt, nederst i en veldig stor stabel) så fant det enklere å bare simulere den isteden ved bruk av Logic Gate Simulator:
Ingen kommentarer:
Legg inn en kommentar