Autor Thema: Verrückter als wir...?  (Gelesen 84656 mal)

RedEagle

  • Beiträge: 244
    • Profil anzeigen
    • RedEagle-OperatingSystem - Projekt
Gespeichert
« Antwort #20 am: 07. December 2006, 12:05 »
Ich habe vor demnächst mal ne CPU/Computer zu bauen, der in BrainFuck (oder eine an BF angelehnte sprache) programiert wird. Also wirklich nur die Fähigkeit hat, speicher zu adressieren und zu inkrementieren/Dekrementieren. Input wird dann über 8 Taster geregelt (binäre eingabe) ausgabe über ein LCD-Display

Habe mir allerdings noch nicht soo viele gedanken darum gemacht...

nooooooooos

  • Beiträge: 734
    • Profil anzeigen
Gespeichert
« Antwort #21 am: 07. December 2006, 17:13 »
Hmmm gut danke....aber ne komplexe komplette CPU wird das sicher nicht geben...

RedEagle

  • Beiträge: 244
    • Profil anzeigen
    • RedEagle-OperatingSystem - Projekt
Gespeichert
« Antwort #22 am: 07. December 2006, 20:00 »
Muss auch ein risen Teil werden, wenn man ne 64Bit CPU nur mit TTL-Bausteinen und lochrasterplatinen bauen will. Da möchte ich keine Fehler suchen :).
Und winXP mit 100MHz...

Also wer eine PC-CPU bauen möchte hat wirklich irgend wo ne schraube locker...

Ich denke, eine eigene CPU ist ähnlich wie ein eigenes OS. Mann darf sich nicht zu große ziele setzen, und sollte überlegen ob eine 8Bit-Akkuorientierte CPU nicht besser ist als eine 64Bit-Registerorientierte CPU mit FPU kompatibilität zum IA-64 - Befehlssatz.

Möche mich an dieser Stelle auch mal als E-Techniker outen. Mache gerade Ausbildung als "Staatlich geprüften Elektrotechnischen Assistenten", und werde bald Steuerungs- und Regelungstechnik Studieren.

stultus

  • Beiträge: 486
    • Profil anzeigen
Gespeichert
« Antwort #23 am: 07. December 2006, 20:29 »
hey, was spricht gegen XP mit 100 Mhz? Tiefenrekord was läuft sind 8 :P Aber stimme dir zu, zu große Ziele bringen nix. Lieber klein anfangen, bei bedarf erweitern ^^
MSN: planetconquestdm@hotmail.de
ICQ: 190-084-185

... Wayne?

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #24 am: 07. December 2006, 20:52 »
Ich halte es für unrealistisch, eine allgemeintaugliche CPU in einem halben Jahr aufzubauen. Denn diese will ja auch angesteuert werden, mindestens mit einem Monitor, besser einem Betriebssystem. Dafür muss die CPU an sich aber wieder ausgelegt sein, sprich, die Grundlagen liefern.

Dagegen ist es imho durchaus möglich, eine programmgesteuerte ALU aufzubauen, wenn man nach jedem Einschalten das Programm quasi "eintastet". Solche Projekte wurden viel in der DDR gemacht, besonders im Bereich der theoretischen Informatik / Elektrotechnik.

Ich will auch irgendwann mal eine CPU entwickeln, aber das wird sich wohl eher länger hinziehen... erstmal bastle ich einen TINY (auch COMP JU+TER) - die Unterlagen habe ich hier.

Jetzt brauche ich "nur" noch entsprechende kompatible Bauteile. Der UB 8830 D (dort U880/Z80-CPU mit Basic-Interpreter im ROM) ist ein Nachbau vom Zilog Z8671 usw. Wird nicht leicht, da der UB8830 seit 1990 und der Z8671 seit 1998 nicht mehr produziert wird.

Wenn ich erstmal meine Vorabiturprüfungen bestanden habe, werde ich mich näher damit beschäftigen.

Apropros: Auch ich werde voraussichtlich ab WS '07 in die Elektrotechnik gehen (Studiengang Informationstechnologie, Uni Magdeburg).

Gruß,
Svenska

nooooooooos

  • Beiträge: 734
    • Profil anzeigen
Gespeichert
« Antwort #25 am: 08. December 2006, 21:06 »
Hmm ja danke...

Ne frage: Würdet ihr ein Diskettenlaufwerk anschliessen?? Haltet ihr dies für schwierig??
Wie würdet ihr sonst OS und Software in das System bringen...?

Gruss
Noooooooooos

stultus

  • Beiträge: 486
    • Profil anzeigen
Gespeichert
« Antwort #26 am: 08. December 2006, 22:11 »
schau dir doch mycpu an ^^ da läuft dateiübertragung mit ner Art "Festplatte" auf vielen Platinen und ner Seriellen Schnittstelle, aka COMx... zum empfang könntest vllt. nen fest programmierten chip einsetzen. oder du baust die Empfangslogik für so ne Schnittstelle mit auf so ne Platte.

andererseits. Ich denk nicht das floppy soooo schwierig ist ;) hatte mal nen link wo ne menge hardwareschnittstellen beschrieben war, kann mal schauen ob da was über Floppys steht
MSN: planetconquestdm@hotmail.de
ICQ: 190-084-185

... Wayne?

RedEagle

  • Beiträge: 244
    • Profil anzeigen
    • RedEagle-OperatingSystem - Projekt
Gespeichert
« Antwort #27 am: 08. December 2006, 22:44 »
Ich würde da etwas eigenes bauen...
Also nen eigenen Datenträger (z.B. aus einfache RAMs & ne 9V-Blockbatterie) und 2 Schnittstellen, wobei eine per rs232 o.ä. mit dem PC und eine mit der eigenen CPU/Computer verbundne ist...

Sowas macht doch mehr spaß, als sich in irgendwelche standards zu zwängen ;)

ist zwar nicht so stylisch wie ne floppy und hat nicht die Kappazität ner DVD, aber ist wesentlich cooler  8-)

nooooooooos

  • Beiträge: 734
    • Profil anzeigen
Gespeichert
« Antwort #28 am: 08. December 2006, 23:27 »
Joa wär auch ne Idee...also meinst du jetz, dieses ding zeitgleich am pc und am eignenbaucompi anzuschliessen??

EDIT:
Sry, hab dich falsch verstanden. Ich hab eigentlich vor Rs323 auch im eigenbaucompi einzubauen. Den kann ich dann für Tastatur und ev. auch ma für maus benutzen....Oder ist das schwierig??

Anstatt RAM könnte ich doch auch einfachen Flash-speicher z.b. von nem USB stick nehemen??


Andere Frage, wär solcher Flash-Speicher auch als Ram oder/und Festplatte brauchbar. Also gar keine Festplatte, sondern nur beständigen Arbeitsspeicher??
« Letzte Änderung: 08. December 2006, 23:30 von nooooooooos »

RedEagle

  • Beiträge: 244
    • Profil anzeigen
    • RedEagle-OperatingSystem - Projekt
Gespeichert
« Antwort #29 am: 09. December 2006, 11:17 »
Ist das bei den AVR-Contoller nicht so?? also zumindest der Programm-speicher? Da wird das Programm doch direkt aus dem Flash ausgefürt.
Und den Datenspeicher sollte man auch mit Flash realisieren können....
Zumindest ist es bei der Siemens S7 so, das die Daten im "RAM" selbst nach ausschalten der SPS noch erhalten bleiben...

Ich würde es zumindest per Flash machen...
Das ist einfach und und günstig. Lieber mal 2-3 Flash-Speicher zerstören, als sofort ne teure Festplatte...

Als Programmspeicher oder zur Datenübertragung währen aber urzeitliche Speichermedien auch mal interessant. z.B. Lochkarten... Würde zumindest bei mir zum "Turing-Machine-Theming" passen ;)

hannibal

  • Host
  • Beiträge: 400
    • Profil anzeigen
    • brainsware - the rock.
Gespeichert
« Antwort #30 am: 09. December 2006, 11:23 »
Mein huebscher PDA hier verwendet auch nur Flash Speicher (+ ein paar MiB fluechtigen RAM) sowohl als RAM, als auch als Massenspeicher (neben SD-Karte).

Abgesehen davon, wird Flash so und so in Embeddedsystemen seit (fast) Jahren eingesetzt um nicht fluechtigen Speicher zu liefern.

Lg, Alex
\\o
o//
\o/

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #31 am: 09. December 2006, 12:48 »
Als Programmspeicher oder zur Datenübertragung währen aber urzeitliche Speichermedien auch mal interessant. z.B. Lochkarten... Würde zumindest bei mir zum "Turing-Machine-Theming" passen ;)
Eine anständige Turingmaschine hat aus zwei Rollen Klopapier zu bestehen. (ja, ja, Info I, das waren noch Zeiten... ;))
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

Termite

  • Beiträge: 239
    • Profil anzeigen
Gespeichert
« Antwort #32 am: 09. December 2006, 14:32 »
kopf süttel.

ram = flüchiger speicher

rom / flash = nichtflüchtiger speicher.

Arbeitsspeicher besteht zumindest meines wissens immer irgendwie aus ram. ob das nun SRAM SDRAM oder sonstwas für ein RAM ist es bleibt ram. auch wenn er im controller verbaut ist ( meist sram, der braucht keinen aufwendigen speichercontroller für refreschzyklen,... )

ROM gibts auch in verschiedenen versionen. z.B. OTP (one time programabel)
oder z.B. eeprom der ist wiederbeschreibbar. genauso wie flash (nand/ nor mit 1, 2 oder 4 bits je speicherzelle) flash hat aber im gegensatz zu eeproms das problem das er nur blockweise gelöscht werden kann. eeproms brauchen das nicht, sie könnem meist zellenweise direckt überpogramiert werden.

die zukunnft wird vileicht Speicherbausteine auf magnetbasis bringen. die währen so schnell und haltbar wie RAM, und würde ihre daten bei spannungsausfall nicht verliehren. ( so wie füher die rigkernspeicher aus den 50er/60er jahren.

viele controler haben auser dem controler und den IOs zusätzlich noch RAM und/oder Flash und/oder eeprom speicher mit dabei.

AVR hat zumindest den vorteil, das die entwicklungsumgebung mit c-compiler von ATMEL frei erhältich ist.

gruss

RedEagle

  • Beiträge: 244
    • Profil anzeigen
    • RedEagle-OperatingSystem - Projekt
Gespeichert
« Antwort #33 am: 09. December 2006, 16:57 »
Arbeitsspeicher muss NICHT unbeding aus RAM bestehen!
Der häufigste grund, warum man häufig RAM nimmt ist die Geschwindigkeit, und weil's billiger ist. Außerdem kann man RAM-Speicher häufiger beschreiben als z.b. eeproms...

Es gibt kein gesetz, das verbietet, einen nicht flüchtigen speicher als Arbeitsspeicher zu nutzen...

nooooooooos

  • Beiträge: 734
    • Profil anzeigen
Gespeichert
« Antwort #34 am: 09. December 2006, 17:08 »
Hmm...ja danke ich werd dann mal schaun, obs mit flash möglich is...
Und eine serielle Schnittstelle, ist sowas schwierig??

EDIT:
Ähm ne frage, wenn ich jetzt im Flash Speicher ein Byte schreiben will, muss ich dann zuerst den ganzen Sektor in nem eeprom sichern, diesen Sektor löschen und dann das Byte im eeprom löschen und neu schreiben, um schliesslich den Inhalt des EEPROMS wieder in den Flash-Sektor zu schreiben...?? Das ist ja wahnsinnig umständlich?

EDIT:
Ich könnte natürlich auch auf Diskette + Festplatte verzichten und z.B. zwei Speicherkartenslots implementieren...Haltet ihr das für schwierig?

EDIT:
Der Herr da verwendet ja nur 8Bit-Register, aber wären denn nicht auch 16Bit Register machbar? Er spricht ja mit seinem System auch 128KB an.
Wären z.B. auch 18Bit möglich?

« Letzte Änderung: 09. December 2006, 18:39 von nooooooooos »

RedEagle

  • Beiträge: 244
    • Profil anzeigen
    • RedEagle-OperatingSystem - Projekt
Gespeichert
« Antwort #35 am: 09. December 2006, 21:27 »
Klar sind auch 16 Bit machbar.
Allerdings hat man dann wesentlich mehr Kabel/Lötstellen usw. Das Ganze teil wird einfach wesentlich umständlicher...

(das meinte ich bei meinem Erten beitrag mit "nicht zu große ziele setzen")
Man sollte sich fragen, wie groß der Adressraum sein soll. Reichen 8Bit (256 Bytes), oder braucht man mehr (16Bit: 64KB).

---

Ich habe zwar noch nicht viel mit der RS232 gearbeitet, aber das IC "MAX232" von Maxim sollte die Anwendung/Verwendung sehr einfach gestalten

nooooooooos

  • Beiträge: 734
    • Profil anzeigen
Gespeichert
« Antwort #36 am: 10. December 2006, 01:13 »
Hmm ja...und wenn ich einfach 2 8Bit Register zusammennehm (àla CS:AX), ist das genauso schwierig, weil Dennis hat ja insgeamt auch 130kb.

Und naja 256 bytes sind schon wenig, wenn ich bedenke, dass mein noch recht bescheidenes OS schon 32KB hat...

RedEagle

  • Beiträge: 244
    • Profil anzeigen
    • RedEagle-OperatingSystem - Projekt
Gespeichert
« Antwort #37 am: 10. December 2006, 10:28 »
Mit segmentierung währe natürlcih ne lösung...

Aber du darfst dein 32/64 - Bit x86/x86-64 OS nicht mit einen OS auf einer selbstbau-cpu vergleichen.

Allerdings sind 256 Byte wirklich nicht viel.
Man könnte es ja so ähnmlich wie beim PC (80186)
CS,DS und reg

BSP.:

S = Segmentrgister (8 Bit)
I = Offset (8 Bit)


Bit 0..3 von S ist für das Datensegment
Bit 4..7 von S ist für das Codesegment

Addressierung:
Daten:  (S & 0x0F  :  I)
Code:  (S >> 4  :  I

Dann kan man entseiden, ob daten/code in das selbe segment soll oder nicht ( S = 0xAA  oder  S = 0xAB).

Dann hat man einen 12 Bit adressraum was 4KB entspricht.
(Und mit 4 KB kann auch eine 16Bit PC-Anwendung einiges leisten)


nooooooooos

  • Beiträge: 734
    • Profil anzeigen
Gespeichert
« Antwort #38 am: 10. December 2006, 12:14 »
Aha...ist aber jetzt 12Bit-Adressierung mit Segmentierung einfacher zu löten,blabla als eine 12Bit-Adressierung mit 12Bit Registern??

Und wenn ich jetzt vorhätte Arbeitsspeicher + Festplatte zu vereinen, dann müsste ich halt schon eher mehr Speicher adressieren können.

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #39 am: 10. December 2006, 12:19 »
Was das RAM betrifft ... es wird immer als RAM verbaut. Egal, wo, wie und womit es beschrieben wird.
Aber EEPROM oder FLASH-Speicher als RAM zu benutzen ... das ist krank. RAM wird i.d.R. mehrere tausend Male pro SEKUNDE(!) geschrieben; FLASH würde dir nach ein paar Tagen was husten. Und ständig umlöten will auch niemand...

Aber um ein anderes Projekt anzusprechen, ebenfalls aus diskreten Bausteinen eine CPU zu basteln => http://www.homebrewcpu.com

Wenn ihr euch da mal die Bilder anschaut (freiverdrahtet), dann erlebt ihr ein Stück des Aufwandes. Die Tagebucheinträge (inkl.Problembeschreibungen & -lösungen) sind auch sehr interessant für jeden, der so ein Projekt in Angriff nehmen möchte.

Gruß,
Svenska

 

Einloggen