Magnus_K bygger interaktiv tavla - ett stort kärnminne
Postat: 29 maj 2015, 02:08:59
För ett drygt halvår sedan hörde jag talas om något som kallades "kärnminne" för första gången. Det diskuterades i en väldigt ambitiös tråd av TomasL med den nuvarande rubriken microDisCray, Diskret ECL-baserad Dator, nu med rendering.
Tyckte det lät intressant men förstod inte så mycket mer än att det verkade vara pilligt att göra själv.
Under lite lediga stunder så har jag haft tid att läsa mer samt att jag nyligen(!) fann en fantastisk tråd på forumet av nablaman med rubriken Bygga eget kärnminne.
Lite grovt kan man säga att man sparar en 1:a eller 0:a per toroid genom att välja magnetfältets rotationsriktining i varje kärna.
För att göra en läsning av en kärna så lägger man på en känd ström genom korsande X/Y-tråd och om sense-ledningen känner av ändring av rotationsriktningen så innehöll kärnan det motsatta värdet. Om magnetfältet inte ändrade riktning så innebär det "värdet" du försökte ge kärnan innehöll den redan.
Väldigt slarvigt skrivet men jag rekommenderar att läsa länken nedan om ni finner detta intressant.
Mer information och länkar om hur ett kärnminne fungerar finns i ovan nämnda trådan men personligen anser jag att denna sida förklarar det bäst. Det är också utifrån denna sidan jag kommer jobba samt att jag fått mycket bra information/material från nablaman.
Efter ett par genomläsningar var jag fast, mitt fantasiprojekt kan bli verkligt!
Så, dags att bli kreativa.
Mitt slutgiltiga mål kommer att vara en tavla. Inte en tavla av ett gammalt inramat minne utan en "interaktiv" tavla där det ska finnas möjlighet att plugga in ett egentillverkat interface och nyttja minnesutrymmet i tavlan.
Det här är en idé som fortfarande gror men jag väljer att göra tavlan i fullstorlek från början och sen kommer alla kärnminnesarrayer vara moduler man löder fast på lediga positioner för att utöka minnet.
Initiellt är tanken att tavlan ska hålla ett fotografi men detta kan ändras under tidens gång. Målet är dock att uppnå ca 150k - 200k bitar.
Första delmålet var att tillverka ett minnesarray som prototyp. Delvis för kommunikation men också för storleksberäkning.
Here we go:
Kärnorna är ca 1 mm i ytterdiameter och beslutade mig för att göra en 256 bits array först. Bara att plocka upp med pincett och trä 16 kärnor per X-tråd.
Tillverkade en mindre bra virningsrigg.
16 kärnor på 16 trådar. Dags att börja vira.
En bit på väg. Eller nej, det ordet får man använda med försiktighet i den här tråden.
Så, alla X-trådar på plats. Otroligt svårt att få till bra spänn på tråden.
Första Y-tråden igenom. Pappret på plats för att ge lite kontrast.
Här har jag lagt upp en liten filmsnutt hur det såg ut när jag fått upp lite fart på Y-tråds-trädandet.
Äntligen klart med X/Y, bara sense kvar... Ryggskott och huvudvärk.
Arrayen bortklippt för att få ner storleken. Tanken var från början att använda hela kortet som ett slags prototypkort men tog ett senare beslut att göra ett nytt kort till en riktigt kompakt array. Mer info följer.
Så. Så här ser det ut i skrivandets stund. Nästa steg blir att tejpa upp arrayen på bordet och börja väva sense-linan.
Då jag ändå är på väg att beställa några andra kort från OSHPark så ska jag cadda upp ett simpelt kort där jag kan montera denna array på som även blir lämplig att använda direkt på ett breadboard.
Stora bilden tagen med mobilen och den lilla med USB-mikroskopet. Minnets fysiska storlek är nu ca 20x20mm.
Det här kommer bli bra!
Tyckte det lät intressant men förstod inte så mycket mer än att det verkade vara pilligt att göra själv.
Under lite lediga stunder så har jag haft tid att läsa mer samt att jag nyligen(!) fann en fantastisk tråd på forumet av nablaman med rubriken Bygga eget kärnminne.
Lite grovt kan man säga att man sparar en 1:a eller 0:a per toroid genom att välja magnetfältets rotationsriktining i varje kärna.
För att göra en läsning av en kärna så lägger man på en känd ström genom korsande X/Y-tråd och om sense-ledningen känner av ändring av rotationsriktningen så innehöll kärnan det motsatta värdet. Om magnetfältet inte ändrade riktning så innebär det "värdet" du försökte ge kärnan innehöll den redan.
Väldigt slarvigt skrivet men jag rekommenderar att läsa länken nedan om ni finner detta intressant.
Mer information och länkar om hur ett kärnminne fungerar finns i ovan nämnda trådan men personligen anser jag att denna sida förklarar det bäst. Det är också utifrån denna sidan jag kommer jobba samt att jag fått mycket bra information/material från nablaman.
Efter ett par genomläsningar var jag fast, mitt fantasiprojekt kan bli verkligt!
Så, dags att bli kreativa.
Mitt slutgiltiga mål kommer att vara en tavla. Inte en tavla av ett gammalt inramat minne utan en "interaktiv" tavla där det ska finnas möjlighet att plugga in ett egentillverkat interface och nyttja minnesutrymmet i tavlan.
Det här är en idé som fortfarande gror men jag väljer att göra tavlan i fullstorlek från början och sen kommer alla kärnminnesarrayer vara moduler man löder fast på lediga positioner för att utöka minnet.
Initiellt är tanken att tavlan ska hålla ett fotografi men detta kan ändras under tidens gång. Målet är dock att uppnå ca 150k - 200k bitar.
Första delmålet var att tillverka ett minnesarray som prototyp. Delvis för kommunikation men också för storleksberäkning.
Here we go:
Kärnorna är ca 1 mm i ytterdiameter och beslutade mig för att göra en 256 bits array först. Bara att plocka upp med pincett och trä 16 kärnor per X-tråd.
Tillverkade en mindre bra virningsrigg.
16 kärnor på 16 trådar. Dags att börja vira.
En bit på väg. Eller nej, det ordet får man använda med försiktighet i den här tråden.
Så, alla X-trådar på plats. Otroligt svårt att få till bra spänn på tråden.
Första Y-tråden igenom. Pappret på plats för att ge lite kontrast.
Här har jag lagt upp en liten filmsnutt hur det såg ut när jag fått upp lite fart på Y-tråds-trädandet.
Äntligen klart med X/Y, bara sense kvar... Ryggskott och huvudvärk.
Arrayen bortklippt för att få ner storleken. Tanken var från början att använda hela kortet som ett slags prototypkort men tog ett senare beslut att göra ett nytt kort till en riktigt kompakt array. Mer info följer.
Så. Så här ser det ut i skrivandets stund. Nästa steg blir att tejpa upp arrayen på bordet och börja väva sense-linan.
Då jag ändå är på väg att beställa några andra kort från OSHPark så ska jag cadda upp ett simpelt kort där jag kan montera denna array på som även blir lämplig att använda direkt på ett breadboard.
Stora bilden tagen med mobilen och den lilla med USB-mikroskopet. Minnets fysiska storlek är nu ca 20x20mm.
Det här kommer bli bra!