Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - RedEagle

Seiten: 1 ... 7 8 [9] 10 11 ... 13
161
Lowlevel-Coding / Re: Möglichkeiten des Textmodes??
« am: 17. December 2006, 19:46 »
Kompatibilität ist mir eigentlich sch*** egal.
Hauptsache es läuft auf meinen Rechnern (nicht älter als 10 Jahre)

Mit Linux möchte ich in meinem OS eigentlich nichts zu tun haben. Da dieses sich grundlegend von Andrern bekannten systemen abheben soll, somit nicht mit "bekannten" Systemkomponenten "verschmutzt" werden soll... ;)
162
Lowlevel-Coding / Re: Möglichkeiten des Textmodes??
« am: 17. December 2006, 10:00 »
PS: Es gibt auch noch die drawing characters im extended ASCII... damit wird meistens auch gearbeitet... auch textart is möglich, hängt aber mal von deinen fähigkeiten ab  :wink:

Da ich mit diesen zusätzlichen 127 Zeichen sehr viel zustande bringe, möchte ich eben nur diesen 80×50 modus nutzen. Ich habe vorher auch mal geplant in mit VESA eine Textumgebung zu simulieren, aber das würde zu sehr dazu verleiten die ein oder andrer Bitmap zu verwenden. Mein GUI soll nur aus ASCII-Codes (+extension) bestehen.
Deshalb interessiere ich mich für die Möglichkeiten.
163
Lowlevel-Coding / Möglichkeiten des Textmodes??
« am: 16. December 2006, 23:07 »
Hi
mein OS (PM) läuft im 80×50 Textmode.
Welche möglichkeiten habe ich, die Ausgaben "individueller" zu gestalten??

- Kann ich die Zeichen austauschen (im RM oder PM)?? (wenn ja, wie??)
 (andere schriftart)

- Kann ich den 8Bit Farbcode ändern (im RM oder PM)?? (wenn ja, wie??)
bsp.:
 Rot (0xC) ist nicht 0x0000FF sondern 0x0000AA

- Kann ich mehrere Schriftarten verwenden (wenn ja, wie kann ich zwischen denne im PM wechseln)

- Irgend welche anderen möglichkeiten??
164
Das Wiki / Re: Verrückter als wir...?
« am: 16. December 2006, 12:35 »
Man brauch keinne Takt. Aber eine CPU ohne takt ist sehr viel aufwändiger als mit. Was auch der grund dafür ist, das es so gut wie nur CPUs mit Takt gibt.
...
naja man könnte auf Arbeitsspeicher verzichten, aber dann ist die CPU enorm eingeschränkt, und man müsste jeden befehl einzeln von einem Datenträger lesen was ein enormen geschwindigkeitsverlust darstellt.
165
Das Wiki / Re: Verrückter als wir...?
« am: 15. December 2006, 18:18 »
Am einfachsten:
Befehlsbyte, Datenbyte, Datenbyte, ...
2 Bits im Befehlsbyte geben an, wie viele Datenbytes folgen (0-3 Datenbytes)
und die anderen 6 Bits sind der Befehl selber (63 Befehle)

bsp.:
call 0xAA36
10100000 10101010 00110110

10 - 2 Datenbytes
100000 - call
10101010 00110110 0xAA36
166
Das Wiki / Re: Verrückter als wir...?
« am: 15. December 2006, 15:39 »
Du hast nicht ganz unrecht...
EIn OPcode könnte z.B. wie folgt aufgebaut sein
für "mov rA, rB"
00111011

0011 = mov
10     = rA
11     = rB

wie man sieht sind die 8Bit doch recht eng:
4 Bit befehle  => 15 Befehle (ADD,SUB,AND,OR,XOR,MOV,IN,OUT,MVI,JMP,CMP,JNZ,JZ,CALL,RET) sind nicht viel.
Und dann kan man maximal mit 3 Register Arbeiten (00,01,10,11)

Deshalb sind 16-Bit Befehle schon sinnvoller. Wobei man beachten muss, auch damit zurechnen das ein Befehl 2×16Bit groß sein kann/sollte
z.B. JMP,CALL usw, da dort ja auch eine Adresse drin steckt, die ggf alleine schon 16Bit groß ist

@svenska:
Mit erweiterung meinte ich das so ähnlich wie beim PC RM und PM (nur nicht so extrem); also dass das Programm dieses Feature erst freischalten muss. MAW: Man sollte auch einige Kontrollregister einbauen.
167
Das Wiki / Re: Verrückter als wir...?
« am: 14. December 2006, 14:50 »
Währe Multitasking nicht nen bischen viel??
Ich finde Multitasking jedenfalls sehr weit übertrieben, da sowas nicht gerade wenig Arbeitsspeicher in anspruch nimmt.
Wenn man seine CPU so baut/gestaltet, dass man sie später um einige features erweitert ist ja OK, aber ich bin der meinung das ein einfaches Textmode, singletasking, singleuser OS ausreichen sollte.
Außerdem sollte man sich erstmal gedanke über das "benutzen" von Interrupts machen. Dafür ist ja auch einiges an Speicher (und/oder) Register erforderlich.

ps.: Es wird schon gründe dafür geben, warum DOS kein multitasking kann. Mann sollte nicht erwarten, das der Prozessor mehr kann als ein 80186. Mann sollte froh sein, wenn er in der Lage ist ein MFA zu ersetzen...
168
Das Wiki / Re: Verrückter als wir...?
« am: 12. December 2006, 14:55 »
a) nen lötkolben in der hand gehabt.
 ICH
b) eine gedruckte platine mit bedrahteten bauteilen bestückt
 Jo, schon 100 mal ;)
c) einen schaltung auf einer Lochrasterplatine aufgebaut
 Jo einmal
d) eine gedruckte leiterplatte selber gefertigt
 Ja, ca. 20 Geätzt (in der tat recht schmutzig); 3 gefräst (Teuer & langsam aber sauber)
e) eine gedruckte leiterplatte selber entworfen
 Jo, ne Digitaluhr (mit nem ATmega32)
f) sich auf fehlersuche bei einer selbst aufgebauten schaltung gemacht
 Jo, mindestens 3 mal die Woche in der schule
g) eine schaltung selber entworfen
 Jo, ne Digitaluhr, und nen paar kleinere Digitale/Analoge schaltungen

Ich muss Termite recht geben. Wer noch nie etwas mit Elektrotechnik zu tun hatte solte da die Finger von lassen. Und wenn man kein Oszilloskop beherscht, kann man die Fehlersuche vergessen.
Und ich bin mir auch sicher, das es bei einer CPU nicht mit dem einfachen verbinden von ein und ausgängen von TTL-ICs getan ist.
Nur wenn jemand weiß, wie eine CPU funktioniert ist er noch lange nicht in der Lage eine selber zu bauen. Da steckt ne menge Handwerkliches geschick hinter.
169
Das Wiki / Re: Verrückter als wir...?
« am: 11. December 2006, 18:30 »
Nochmal zur RS232:
TxD und RxD sind für solche aktionen natürlich unbrauchbar. Die Sterleitungen sind aber relativ unabhängig von der Baud-Rate (!Getestet!)

---

Habe mich jetzt nicht in Banks "eingelesen" aber so wie ich das Verstande habe hat man für den Adressraum (z.B. 12Bit) nicht nur ein RAM, sondern kann z.B. über ein Kontrollregister auswählen, welches RAM man nutzt (richtig??)
wenn ja, ist das ne gute idee, lies sich auch einfach realisieren, indem man die Bits eines Registers, mit den enable-eingängen der RAM-ICs verbindet.

---

Als Register würde ich ganz normale 74164 TTL-Register nehmen.

---

Mal so ne Frage: Was erwartet ihr von einer Selbstbau-CPU?? Die braucht doch nicht unendliche mengen an Speicher adressieren können, oder Fließkomma-berechnungen innerhalb weniger millisekunden erledigen könne. Und wenn das ausführen einer Opperation mal ne Sekunde dauert, ist das doch nicht gleich der Tot! Man baut nen Computer um was zu lernen, nicht um NFS-Carbon drauf zu zocken.
Wenn sie 4*3 Rechnen kann und das Ergebniss in den Speicher schreibt ist das doch sonmal ne super sache. Wenn man dann noch Sprünge einbaut und nen Stack hat reicht das föllig aus.
170
Das Wiki / Re: Verrückter als wir...?
« am: 10. December 2006, 15:02 »
Ich weiß nicht, wie das Ausfgebaut ist, sooo viele gedanke habe ich mir noch nicht darüber gemacht...
es sollte aber schon irgendwie ne möglichkeit geben, nur 1 Byte zu "verarbeiten", sonst währe es sinnlos.
Ist flash-speicher generell in Sektoren unterteilt, oder nur der,der für PCs verwendet wird (um Dateisystem-freundlich zu sein)??
171
Das Wiki / Re: Verrückter als wir...?
« am: 10. December 2006, 13:46 »
Wenn du direkt 12Bit register nimmst, brauchst du nicht 2 Register zu kombinieren. Das wird vor allem auch beim decodieren der befehle einfacher.

Das mit den speicherkarten ist ne gute idee...
172
Das Wiki / Re: Verrückter als wir...?
« am: 10. December 2006, 12:52 »
Aha...ist aber jetzt 12Bit-Adressierung mit Segmentierung einfacher zu löten,blabla als eine 12Bit-Adressierung mit 12Bit Registern??
Nein, ist natürlich nicht einfache, ganz im gegenteil, es muss noch eine steuereinheit gebaut werden, die zwischen Code und Datensegment wechseln kann.
Es war nur so ne idee, weil du DS:AX insprachest

@Svenska:
In der regel ist der Arbeitsspeicher RAM (wegen eben deinen genannten gründen)
Aber eine selbstbau-cpu hat nunmal keine 4GHz. Es ist nicht allzu schlimm, wenn ein speicherzugriff mal 100ms dauert. Ganz im gegenteil, das macht die Programierung erst richtig interessant ;)
Und eine selbstbau-cpu (im kleinen maße) wird auch nicht allzuoft auf den speicher zugreifen.
Allerdings währe es evtl mal ne gute überlegung, den flash nicht einzulöten, da er in der tag nicht jahre lang durchhalten wird.


@Termite:
Naja, nur weil nimand eeproms als Arbeitsspeicher nutzt, heißt es nicht, das es schlecht ist. Es ist halt nur für den industriellen einsatz ungeeignet.

Aber wenn man seine CPU anderen menschen vorstellt, und die an dem Punkt weiterarbeitet, an der man sie an vortag ausgeschaltet hat, wird das die Menge schon beeindrucken ;):)

Einfachste möglichkeit, daten vom PC zu übertragen:
2 Steuerleitungen der RS232 an ein Schieberegister klemmen. Zwei weitere für Bestätigungen:

PC -> irgendwas:

-> sreg-clk
-> sreg-data
-> byte übertragen
<- nächste byte kann übertragen werden

code:
for i=0, i<8, i+1
{
 clk = 0
 data = (byte>>i) & 1
 clk = 1
 sleep 100
}
byteübertragen = 1
while not nächstesbytekannübertragenwerden
173
Das Wiki / Re: Verrückter als wir...?
« 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)

174
Das Wiki / Re: Verrückter als wir...?
« 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
175
Das Wiki / Re: Verrückter als wir...?
« 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...
176
Das Wiki / Re: Verrückter als wir...?
« 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 ;)
177
Das Wiki / Re: Verrückter als wir...?
« 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-)
178
Offtopic / Re: Problem mit OOP
« am: 08. December 2006, 20:22 »
danke
179
Das Wiki / Re: Verrückter als wir...?
« 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.
180
Offtopic / Re: Problem mit OOP
« am: 07. December 2006, 19:49 »
Und wie mache ich das mit dem entrypoint??
was ist mit libc gemeint??

mit gcc mache ich ja nur die objekt-datei.

ps.: Standardbibnliotheken verwende ich "nicht". Es existieren allerdings einige ihrer Funktionen wie z.B. strcmp o.ä.. Das sollte aber eigentlich unwichtig sein... OOP ist ja ein bestandteil von C++, und nicht von den Standard-bibliotheken
Seiten: 1 ... 7 8 [9] 10 11 ... 13

Einloggen