Josef G. schrieb: > http://www.intuitor.com/hex/ Ach da hast du das ekelige Gelb für deine Seite her... Josef G. schrieb: > Die ist aber nicht zu einem richtigen Computer ausbaubar. Warum nicht? Selbstverständlich geht das.
So richtig spannend wärs doch, wenn wir noch Kurt Bindl und Moby in diesen Faden locken könnten. Ich schätze mal die drei würden richtig gut zusammenpassen ;-)
mitleser schrieb: > So richtig spannend wärs doch, wenn wir noch Kurt Bindl und Moby in > diesen Faden locken könnten. > Ich schätze mal die drei würden richtig gut zusammenpassen ;-) Moby tät direkt reinpassen. Wobei die dann hoffentlich zur Freude der Zuschauer erst einmal lang und breit auskaspern, inwieweit Josefs bevorzugte Hochsprache tatsächlich als solche gelten kann und ob man sie nicht doch zugunsten von echtem Assembler vermeiden solle. Wie Kurt da reinpasst ist mir freilich unklar. Sein Lieblingsthema ist hiervon derart weit entfernt, dass es schwierig sein könnte, den Thread in seine Richtung zu drehen. Und bei fremden Themen war er bisher ok.
:
Bearbeitet durch User
A. K. schrieb: > Wie Kurt da reinpasst ist mir freilich unklar. Assembler stiehlt einem so viel Zeit wie große Sonnenmassen. "Ooops, schon wieder 2 Tage rum!"
Frank M. schrieb: > A. K. schrieb: >> Wie Kurt da reinpasst ist mir freilich unklar. > > Assembler stiehlt einem so viel Zeit wie große Sonnenmassen. > > "Ooops, schon wieder 2 Tage rum!" Ist Kurt nicht Gegner aller relativistischer oder quantenmechanischen Theorien? Hört Physik bei ihm nicht irgendwo bei Newton oder Maxwell auf? Wobei, er ist ja, wie auch Moby, Verfechter des Einfachen, des Simplen. Er erreicht das halt nicht mit Assembler sondern mit Grundteilchen (GT)...
Benji schrieb: > Ist Kurt nicht Gegner aller relativistischer oder quantenmechanischen > Theorien? Ja, ist er. Aber trotzdem haben alle drei etwas gemein: Sie sind für Argumente absolut unzugänglich. Du könntest Dir auch 3 Betonklötze in den Garten stellen und mit denen reden. Aber das ist hier ziemlich OT...
A. K. schrieb: > Wie Kurt da reinpasst ist mir freilich unklar. Genau darum ;-) Frank M. schrieb: > Aber trotzdem haben alle drei etwas gemein: Sie sind für Argumente > absolut unzugänglich. Du könntest Dir auch 3 Betonklötze in den Garten > stellen und mit denen reden. ... und über AM reden LOL
A. K. schrieb: > Josef G. schrieb: >> Kannst du mal eine konkrete Stelle nennen, wo etwas unverständlich ist? > > Beispielsweise das Carry-Flag partout V nennen zu müssen. So ziemlich > jeder ausser dir wird darunter Overflow verstehen. Es steht unübersehbar auf der Seite CPU-doku, dass der Carry bei mir V heisst. Deshalb sollte das kein Problem sein. A. K. schrieb: > Josef G. schrieb: >> Es geht nicht um das Einsparen von Speicherplatz, >> sondern um das Einsparen von Tipp-Arbeit. > > Was du an Tipparbeit im Programm einsparst, das investierst du doppelt > und dreifach in Form von Kommentaren. Kommentare zur Erklärung einzelner Assembler-Mnemonics? Ein Assembler-Programmierer kennt die Mnemonics auswendig. A. K. schrieb: > Übers Hex-System können wir mal drüber reden, wenn du es geschafft hast, Das kann man so verstehen, dass auch du der Meinung bist, dass die Einführung des Hexadezimalsystems irgendwann kommen wird. Mit der Idee, einen Hex-Ziffernsatz einzuführen, bin ich nicht allein. https://en.wikipedia.org/wiki/Hexadecimal#cite_note-19
:
Bearbeitet durch User
Josef G. schrieb: > Es steht unübersehbar auf der Seite CPU-doku, dass der Carry > bei mir V heisst. Deshalb sollte das kein Problem sein. Wenn ich eine CPU baue, bei der den MUL Befehl addiert, der MOVE Befehl dividiert und der CALL Befehl subtrahiert, dann wär das also völlig ok, vorausgesetzt es steht so in der Doku? Es gibt sogar Leute, die Programmiersprachen nach dem Schema entwickeln, es den Leuten möglichst schwierig zu machen. INTERCAL ist ein prächtiges Beispiel dafür. Aber das ist ein Jux, das ist der Unterschied. > Ein Assembler-Programmierer kennt die Mnemonics auswendig. Da kann man den Leuten den Weg einfach oder steinig machen. Der steinige Weg könnte sich aber beim Versuch, andere von seinen Vorzügen zu überzeugen, als hinderlich erweisen. Aber genau das versuchst du. Du baust den Weg nicht allein für dich, sondern willst andere Leute von den Vorzügen deiner Stolpersteine überzeugen. Und bist enttäuscht, wenn alle nur kaputte Füsse und blaue Flecken sehen. > Das kann man so verstehen, dass auch du der Meinung bist, dass > die Einführung des Hexadezimalsystems irgendwann kommen wird. Mach eine Reise auf die Insel und versuch es. Aber Obacht, die Ausdrucksform der Ironie ist Briten durchaus geläufig. ;-)
:
Bearbeitet durch User
A. K. schrieb: > das ist der Unterschied. Ist es das ? Wahrscheinlich lesen wir bald von dem 'Joseph G. Experiment', einer bahnbrechen psychologischen Langzeitstudie am lebenen Technikerhirn. Josef G. schrieb: > Das kann man so verstehen, dass auch du der Meinung bist, dass ... Du ohnehin jede Lebensäusserung solange verdrehst bis es das stützt was Du bereits zu glauben beschlossen hast. Seht lustiger Thread. Bitte nicht aufhören.
Michael K. schrieb: > Ist es das ? ;-) > Wahrscheinlich lesen wir bald von dem 'Joseph G. Experiment', einer > bahnbrechen psychologischen Langzeitstudie am lebenen Technikerhirn. Meinst du wirklich, ein Psychologe würde so eine Seite hinkriegen: ;-) http://www.bomerenzprojekt.de/Website/home.html Bei Kurt hatte ich mir allerdings auch schon mal überlegt, ob man ihm nicht mit einer spezifischen Version von Eliza kontern könnte.
A. K. schrieb: > Meinst du wirklich, ein Psychologe würde so eine Seite hinkriegen: ;-) Mit ein wenig Unterstützung seiner Patienten aus der Therapiegruppe bestimmt. Was würde wohl Freud aus dieser Gelb Fixierung herauslesen ... A. K. schrieb: > Bei Kurt hatte ich mir allerdings auch schon mal überlegt, Ja ja, lieber künstliche Intelligenz als natürliche Dummheit. Es scheint aus medizinischer Sicht keine Einschränkung zu geben was ein Mensch bereit ist zu glauben und was er zu tun bereit ist diesen Glauben zu schützen. Mit jemanden leidenschaftlich zu diskutieren der schon über einen langen Zeitraum immer nur die gleichen Phrasen und gleichen Links hervorkramt ist da nicht so weit weg von. Ich betrachte das als Unterhaltungsprogramm, bin mir aber sicher das jeder von uns auf einem schmalen Grad zwischen Überzeugung und Wahn wandelt.
Herbert schrieb: > Ach da hast du das ekelige Gelb für deine Seite her... Michael K. schrieb: > Was würde wohl Freud aus dieser Gelb Fixierung herauslesen ... Wie man's macht ist's falsch. http://www.forum64.de/wbb3/board65-neue-hardware/board289-diverses/board191-aktuelle-mikrokontroller/48878-ein-8bit-rechner-auf-dem-spartan-3a-starterkit/#post685222
Herbert schrieb: > Ach da hast du das ekelige Gelb für deine Seite her... Da man in diesem Forum seinen Browser so dressieren kann, dass er selbst definierte Styles einem Autor der Beiträge zuordnen kann, sollte es nicht weiter schwierig sein, Josefs Beiträge passend einzufärben. Das Prinzip ist hier beschrieben: Beitrag "User ausblenden"
:
Bearbeitet durch User
Josef G. schrieb: > Wie man's macht ist's falsch. > http://www.forum64.de/wbb3/board65-neue-hardware/board289-diverses/board191-aktuelle-mikrokontroller/48878-ein-8bit-rechner-auf-dem-spartan-3a-starterkit/#post685222 Wenn Dir jemand sagt, schwarz auf türkis ist scheiße, dann ist automatisch schwarz auf gelb ultrageil? Was ist das denn für eine Logik?
Josef G. schrieb: > http://www.intuitor.com/hex/ Josef G. schrieb: > Mit der Idee, einen Hex-Ziffernsatz einzuführen, bin ich nicht allein. > https://en.wikipedia.org/wiki/Hexadecimal#cite_note-19 Bezeichnend für die Kritiker, dass darauf niemand eingeht. Frank M. schrieb: > Was ist das denn für eine Logik? Die Frage solltest du dir selber stellen, wenn du deinen eigenen Beitrag nochmal durchliest.
Josef G. schrieb: > Bezeichnend für die Kritiker, dass darauf niemand eingeht. Warum sollte man auf so etwas abwegiges eingehen? Milliarden Leute zählen bis 10, weil sie 10 Finger haben. Wenn die Menschheit irgendwann derart mutiert, dass 16 Finger normal sind, dann kannst Du mit dieser abstrusen Idee ja nochmal wiederkommen. > Die Frage solltest du dir selber stellen, wenn > du deinen eigenen Beitrag nochmal durchliest. Okay, dann erklär ich's Dir: schwarz auf türkis ist sch...lecht und schwarz auf gelb machts nicht besser. Färbst Du die Bücherseiten auch erst gelb ein, bevor Du sie liest? Nein? Was soll das dann auf Deiner Webseite?
Frank M. schrieb: > Färbst Du die Bücherseiten auch erst gelb ein, bevor Du sie liest? Vielleicht ist er das von seiner Tageszeitung gewohnt. Da passiert das von selbst. Seinen Sprachstrukturen zufolge hat er grad die 50er Jahre durch und widmet sich nun den 60ern. ;-)
:
Bearbeitet durch User
Josef G. schrieb: > Josef G. schrieb: >> Mit der Idee, einen Hex-Ziffernsatz einzuführen, bin ich nicht allein. >> https://en.wikipedia.org/wiki/Hexadecimal#cite_note-19 > > Bezeichnend für die Kritiker, dass darauf niemand eingeht. Der führt aber keinen HEX-Ziffernsatz ein, der fortlaufend gezählt von 0 -F die Zahlen 0 - 16 (mit Offset) repräsentiert, sondern er will nur in Unicode für die HEX Darstellung nochmal Zeichen von A - F reservieren. Der Hintergedanke ist wahrscheinlich, daß Schriftdesigner dann beim Schriftschnitt diese Zeichen so gestalten, daß sie für eine HEX-Darstellung ein harmonischeres Schriftbild geben (zusammen mit den Ziffern). Das ist etwas ganz anderes... Gruß, Bernhard
:
Bearbeitet durch User
Frank M. schrieb: > Was soll das dann auf Deiner Webseite? Hatte ich mal irgendwo gelesen, dass schwarz auf gelb am besten lesbar sei. Suche nach "lesbarkeit schwarz auf gelb" liefert http://www.farbenundleben.de/titel/unterlagen.htm Übersicht: Lesbarkeit von Farbkombinationen Wer die Farbe nicht mag, kann die Seiten mit der Maus kopieren und mit einem Texteditor seiner Wahl ansehen.
Josef G. schrieb: > Wer die Farbe nicht mag, kann die Seiten mit der Maus > kopieren und mit einem Texteditor seiner Wahl ansehen. Lass den Hintergrund doch weiß, dann kann jeder die Seiten auf farbige Blätter seiner Wahl ausdrucken. Willst Du Deinem Leser die Farbe etwa genauso wie Deinen HEX-Zeichensatz einfach aufzwängen? Damit bevormundest Du ihn. Welches Bände spricht, was den Respekt betrifft, den Du ihm gegenüber aufbietest. Kein Wunder, dass keiner den Text lesen will.
@Josef G. (bome) Benutzerseite >Mit der Idee, einen Hex-Ziffernsatz einzuführen, bin ich nicht allein. >https://en.wikipedia.org/wiki/Hexadecimal#cite_note-19 Ja, genauso wie mit der Idee, daß Elvis noch lebt und von Ausserirdischen entführt wurde ;-) So long, and thanks for all the fish!
Falk B. schrieb: > @Josef G. (bome) Benutzerseite Da weiter oben mehrfach von psychologischen Deutungen die Rede war, jetzt auch mal von mir ein absolut unsachlicher Beitrag: Falk hat das Problem, ein Trauma verarbeiten zu müssen, welches darin besteht, dass er sein Spartan-3A-Starterkit verkauft hat. Zu gerne würde er mein System darauf realisieren, aber das geht ja nun leider nicht mehr. Beitrag "[V] Spartan 3A Starter Kit"
Josef G. schrieb: > Falk hat das Problem, ein Trauma verarbeiten zu müssen, Mag sein. Tröstet er sich deswegen mit guter Literatur darüber hinweg ? Oder ist die Antwort auf die Frage die wir uns alle stellen 42 ? Das ist richtig gutes Improvisationstheater hier. Such Dir einen Verlag und bring diesen Thread als Buch heraus.
Josef G. schrieb: > Falk hat das Problem, ein Trauma verarbeiten zu müssen Das glaube ich Dir nicht! Als Wissenschaftler fordere ich von Dir erst ein mal eine belastbare Hypothese die dann mittels Experiment falsifiziert wird! Ist quasi ein OpenJosefGeh-Projekt
A. K. schrieb: > Josef G. schrieb: >> Es steht unübersehbar auf der Seite CPU-doku, dass der Carry >> bei mir V heisst. Deshalb sollte das kein Problem sein. > > Wenn ich eine CPU baue, bei der den MUL Befehl addiert, der MOVE Befehl > dividiert und der CALL Befehl subtrahiert, dann wär das also völlig ok, > vorausgesetzt es steht so in der Doku? Ist aber schon ein großer Unterschied, ob man einen einzelnen Buchstaben willkürlich für ein Register/Flag verwendet, oder ob es um längere Buchstabenfolgen geht, welche offensichtlich Abkürzungen oder ganze Worte sind und eine Bedeutung haben. Bei meiner CPU gibt es zwei 1-bit-Größen: das Vorzeichenbit des Akku und den Carry. Dafür habe ich die Buchstaben U und V gewählt, weil sie ähnlich aussehen und im Alphabet benachbart sind. Das hebt sie ab von den 8- und 16-bit-Registern.
Josef G. schrieb: > Dafür habe ich die Buchstaben U und V > gewählt, weil sie ähnlich aussehen Gerade das verstehe ich nicht. Wenn sie ähnlich aussehen vertauscht man sie doch gerne, gerade wenn man mal was von Hand schreibt. In Mathe werden für Vektoren ja auch gerne u und v genutzt, finde ich persönlich furchtbar, da man die sehr leicht vertauscht wenn man nicht gerade 100% ordentlich schreibt. Warum benutzt du nicht einfach A und C? Für Akku und Carry? Das wäre doch direkt einleuchtend, Verdunkelungsgefahr ausgeschlossen. Auf deiner Website steht übrings das A der Akku ist... Und so wie ich das sehe ist C noch frei, warum also nicht einfach C für Carry als Abkürzung benutzten?
Oh sehe gerade du redest vom Vorzeichenbit des Akku mein Fehler. Aber dann ist mir U und V noch kurioser. Das V orzeichenbit wird mit U abgekützt, und der Carry mit V. Das ist für Anfänger halt einfach nur komplett verwirrend und macht einen Einstieg quasi unmöglich und löscht jeglichen Spaß daran direkt aus leider...
@Josef G. (bome) Benutzerseite >Falk hat das Problem, ein Trauma verarbeiten zu müssen, welches >darin besteht, dass er sein Spartan-3A-Starterkit verkauft hat. >Zu gerne würde er mein System darauf realisieren, aber das >geht ja nun leider nicht mehr. Hey Joseph, du hast ja sogar HUMOR! Hätte ich gar nicht gedacht, ehrlich! Hab schön gelacht, Danke. ;-)
Falk B. schrieb: > Hab schön gelacht, Danke. Hatte meinen Beitrag schon fast bereut und dachte, du nimmst ihn mir übel.
Zwar weiter oben schon mal gepostet, aber seitdem nochmal geringfügig geändert: Die Zeichen 00..7F. Codes 80..FF liefern die Zeichen unterstrichen.
Josef G. schrieb: > Zwar weiter oben schon mal gepostet, aber seitdem > nochmal geringfügig geändert: Die Zeichen 00..7F. Toll. Abgesehen von den vielfältigen Steuerzeichen, die es in ASCII gibt, fehlen unter anderem Carriage Return und Newline. Damit kann man nur noch gaaaaaanz lange Sätze ohne Absatz schreiben. Alles in einer Zeile. Super! Auch fehlen für den UNIX-/Linux-User so wichtige ASCII-Zeichen wie ~ (um das eigene HOME anzusprechen), ^ für Regular Expressions, @ um Mails zu schreiben, oder auch `, um Ausgaben von Programmen in Variablen zu speichern - um nur einige zu nennen. In Josefs Welt kann man dank fehlendem @ noch nichtmals Mails schreiben! Ich bin begeistert! Endlich kein Spam mehr! Glücklicherweise können wir dank # aber weiter twittern! Stark! > Codes 80..FF liefern die Zeichen unterstrichen. Du verschwendest 1 ganzes Bit, um zu unterstreichen, verzichtest dafür aber auf 128 andere Zeichen wie é, è, à? Klasse! Das ist ja mal ein netter DEUTSCHER Zeichensatz! ÄÖÜäöüß sind drin, aber Franzosen bleiben außen vor! Gut so! Die anderen Europäer schicken wir einfach in die Wüste zum Steinekloppen! Deutschland ist sowieso der Mittelpunkt der Welt.... Wir schreiben jetzt alle nur noch Deutsch! Josef, hast Du sie noch alle? Oder willst Du jetzt wieder National Codepages einführen, wie es in den 80ern noch auf 7-Bit-Terminals gab? Die damalige Revolution des DEC Multinational Character Sets, welche schließlich in die Standardisierung von ISO8859 mündete, hast Du offenbar komplett verschlafen! Von UTF-8 jetzt mal ganz zu schweigen... Ich bin für einen 4-Bit Zeichensatz! 0-9 A-F reichen vollkommen aus! Wir können ganze Bücher neu schreiben!
:
Bearbeitet durch Moderator
Frank M. schrieb: > In Josefs Welt kann man dank fehlendem @ noch nichtmals Mails schreiben! > Ich bin begeistert! Endlich kein Spam mehr! Glücklicherweise können wir > dank # aber weiter twittern! Stark! Doch, natürlich kann man das. Für X.400-Mails benötigt man kein "@".
Frank M. schrieb: > fehlen unter anderem Carriage Return und Newline. Damit kann > man nur noch gaaaaaanz lange Sätze ohne Absatz schreiben. Die Zeichen 30..3F und 70..7F sind auf der Tastatur nicht direkt verfügbar. Die entsprechenden Tasten wirken als Steuerzeichen. > ÄÖÜäöüß sind drin, Diese Zeichen sind variabel. Die Pixelmuster liegen im RAM.
Josef G. schrieb: > Die Zeichen 30..3F und 70..7F sind auf der Tastatur nicht direkt > verfügbar. Die entsprechenden Tasten wirken als Steuerzeichen. Häh? Ich übersetze Dein Gestammel mal: "Die Tasten, die nicht verfügbar sind, wirken als Steuerzeichen." Coooool! Ich drücke also eine nicht verfügbare Taste, um eine neue Zeile zu beginnen. Das ist Revolution! Und wie speichere ich das CR NL? Als irgendeinen Code zwischen 30..3F? Aber wie kann ich dann bei der Ausgabe das Zeichen 30 (ist bei Dir ein #) noch drucken, wenn es doch eine Zeilenvorschub bewirken soll? Außerdem beschäftigt mich dann direkt folgendes: Ich kann die Zeichen 30..3F und 70..7F gar nicht eingeben?!? Also dann auch Deine Hex-Ziffern nicht? Die liegen nämlich genau bei 70..7F. Super! Wir haben also demnächst einen Zeichensatz mit neuen Hex-Ziffern, die man NICHT eingeben kann! Suuuuuper! Damit führst Du Dich und Deinen Hex-Zeichensatz ja selbst ad absurdum! Besser kann man sich nicht disqualifizieren. Gratulation. >> ÄÖÜäöüß sind drin, > > Diese Zeichen sind variabel. Die Pixelmuster liegen im RAM. Na also: Das nennt man National Character Set, wo jede Nation seine eigenen 7 Sonderzeichen unterbringen, aber nicht mit dem Rest der Welt kommunizieren kann! Damit schießt Du uns direkt ins letzte Jahrtausend! Josef, merkst Du eigentlich, was Du für einen Stuss redest? Das Zeug ist total unausgegoren und nicht praktikabel. Also mach die Tonne auf und schütte einfach den Schrott rein. Deckel zu und gut ist.
Frank M. schrieb: > Und wie speichere ich das CR NL? Gar nicht. Textdateien haben eine feste Zeilenlänge, kürzere Zeilen werden mit Leerzeichen aufgefüllt. > Ich kann die Zeichen 30..3F und 70..7F gar nicht eingeben?!? Zur Eingabe des Zeichens 70 (Ziffer 0 mit Überstrich) drückt man erst die Taste AM, dann das Zeichen 60 (Ziffer 0).
Josef G. schrieb: > Gar nicht. Textdateien haben eine feste Zeilenlänge, > kürzere Zeilen werden mit Leerzeichen aufgefüllt. Oh, Wie bei einer Lochkarte? Genial!
@ Frank M. (ukw) Benutzerseite >Ich bin für einen 4-Bit Zeichensatz! 0-9 A-F reichen vollkommen aus! Wir >können ganze Bücher neu schreiben! 2 Bit reichen. Die DNA hat auch nur 4 Basenpaare und damit kann die gesamte biologische Welt in iher schier endlosen Vielfallt kodiert werden.
Falk B. schrieb: > 2 Bit reichen. Bin dabei! Welche "Pixelmuster" nehmen wir? Mein Vorschlag: für 0 (ja, da ist NICHTS!) . für 1 Verbraucht nicht soviel Druckerschwärze auf der Zeitung. Damit bekommst Du eine ganze Tageszeitung auf einen Spickzettel. Ausserdem minimiert sich jede Tastatur auf 2 Tasten. Absolut treffsicher - auch auf Handys.
:
Bearbeitet durch Moderator
Frank M. schrieb: > Oh, Wie bei einer Lochkarte? Genial! Das war bei IBMs Mainframes auch nach der Lochkarten-Ära noch üblich. Hat einen grossen Vorteil: Wenn du in einem File 10000 Zeilen überspringen willst, dann muss du nur rechnen und direkt positionieren. Nicht umständlich nach Newlines suchen. Fehlt eigentlich nur noch der implizite Kommentar ab Spalte 72. Beitrag "Re: 8bit-Computing mit FPGA"
:
Bearbeitet durch User
A. K. schrieb: > Das war bei IBMs Mainframes auch nach der Lochkarten-Ära noch üblich. > Hat einen grossen Vorteil: Wenn du in einem File 10000 Zeilen > überspringen willst, dann muss du nur rechnen und direkt positionieren. > Nicht umständlich nach Newlines suchen. Absolut überzeugend. Wir brauchen dann auch keine CR-Taste mehr. Wir halten einfach ein Weilchen die Leertaste runter und trinken derweil einen Schluck Kaffee, um einen neuen Absatz zu beginnen. Texteditoren werden auch ganz simpel. Keine komplizierte Speicherverwaltung mehr... Einfach rein in den Speicher mit dem Text... Selbst das dumme Notepad hat dann nicht mehr das Problem, bei Überspringen einer Leerzeile den Cursor ab dort wieder am Zeilenanfang zu halten. Dieses "Feature" löst sich automatisch in Luft auf - ohne jede Programmänderung :-)
Frank M. schrieb: > Texteditoren werden auch ganz simpel. Yep. Textausschnitt ans Terminal senden, Anwender lokal auf dem Terminal tippen lassen, Textausschnitt wieder zurück bekommen und überkleben. So lief das auf IBMs Blockmode-Terminals. Arbeit hatte nur das Terminal oder der Vorrechner, nicht der Mainframe. Dass man ausgehend von solchen Systemen zu welchen überging, bei denen jeder Tastendruck am Terminal das Zentralsystem beschäftigt, das war eigentlich ein Rückschritt.
:
Bearbeitet durch User
A. K. schrieb: > Dass man ausgehend von solchen Systemen zu welchen überging, bei denen > jeder Tastendruck am Terminal das Zentralsystem beschäftigt, das war > eigentlich ein Rückschritt. Genau, viel zu viele Interrupts.
Josef G. schrieb: > Zwar weiter oben schon mal gepostet, aber seitdem > nochmal geringfügig geändert: [...] Da fällt mir beim 2. Blick auf Deine Zeichensatztabelle noch etwas auf. Die Dezimalzahlen 0..9 kannst Du streichen und durch etwas sinnvolleres ersetzen. Wir haben doch jetzt Hex-Zahlen! Was sollen wir da noch mit Dezimalzahlen?!? Weg damit!
Frank M. schrieb: > Auch fehlen für den UNIX-/Linux-User so wichtige ASCII-Zeichen wie Für UNIX-/Linux-User ist der Zeichensatz auch nicht gedacht. A. K. schrieb: > Hat einen grossen Vorteil: Wenn du in einem File 10000 Zeilen > überspringen willst, dann muss du nur rechnen und direkt positionieren. > Nicht umständlich nach Newlines suchen. Weiterer Vorteil: Man sieht auf dem Bildschirm ein Eins-zu-Eins-Abbild der gespeicherten Textdatei. Es gibt keine versteckten Steuerzeichen.
:
Bearbeitet durch User
Frank M. schrieb: > A. K. schrieb: >> Dass man ausgehend von solchen Systemen zu welchen überging, bei denen >> jeder Tastendruck am Terminal das Zentralsystem beschäftigt, das war >> eigentlich ein Rückschritt. > > Genau, viel zu viele Interrupts. Aus Sicht des Mainframes gab es bei zeichenorientierten Terminals viel zu viele Kontextwechsel zwischen Anwenderprozessen. Aus Benutzersicht wurde das mit erheblichen Latenzzeiten bestraft. Neben IBM-Mainframes arbeiteten z.B. die Siemens/Fujitsu-Mainframes auch mit blockorientierten Terminals. Bessere blockorientierte Terminals erlauben auch die Darstellung von Eingabemasken, so dass nach Beendigung der Eingabe nur deren Daten übertragen werden. Das ist äußerst effizient! Man beachte, dass Mainframes mit einem Hundertstel der Rechenleistung eines heutigen PCs durchaus in der Lage waren, Terminalsitzungen für tausend Benutzer zu ermöglichen. Manchmal wurden auch Datenkonzentratoren vorgeschaltet, die eine Umsetzung von zeichenorientierten Terminals (VT100 o.ä.) auf die blockorientiert zu übertragenden Eingabemasken erledigten. Heutzutage setzt man auch wieder auf Blockorientierung, z.B. beim Schreiben eines Beitrages für dieses Forum. Ansonsten wären viele Webseiten auch reichlich unhandlich... Natürlich gibt es heutzutage auch Mischformen, bei denen jeder Tastendruck sofort zum Webserver übertragen wird, z.B. bei Eingaben in der Google-Suchmaschine.
Josef G. schrieb: > Weiterer Vorteil: Man sieht auf dem Bildschirm ein Eins-zu-Eins-Abbild > der gespeicherten Textdatei. Es gibt keine versteckten Steuerzeichen. Weiterer Nachteil: Das Eins-zu-Eins-Abbild der gespeicherten Textdatei stellt einen eklatanten Verstoß gegen das fast immer gewünschte MVC-Muster dar. Damit katapultiert man sich nicht nur in die 1980er Jahre zurück, sondern satt in die 1970er... So sehr ich auch Josefs Engagement bewundere, bin ich erstaunt, wie zielsicher er bei seinem Rechnerkonzept so ziemlich jeden Entwurfsfehler, der im Laufe der Computergeschichte gemacht wurde, wiederholt und ihn als neue Errungenschaft feiert.
:
Bearbeitet durch User
Andreas S. schrieb: > und ihn als neue Errungenschaft feiert. Hab ich nirgendwo behauptet, dass das neu ist.
Wieso fragen wir nicht einfach mal "Kurt Bindl" oder "Mark Brandis" was sie dazu meinen?
Josef G. schrieb: > Hab ich nirgendwo behauptet, dass das neu ist. Es gibt irgendwo eine (hypothetische) lange Liste von in grauer Vorzeit begangenen Entwurfsfehlern. Natürlich kennt nicht jeder jeden jemals begangenen Fehler, so dass bestimmte Fehler auch wiederholt werden. Das Neue an Deiner Vorgehensweise ist dabei, dass Du ignorierst, dass es sich dabei um Fehler handelt. Wenn man eine "neue" Idee hat, gibt es üblicherweise die folgenden Möglichkeiten: 1. Die Idee ist wirklich neu. 2. Die Idee ist überhaupt nicht neu, sondern man hat sich nur zu wenig umgeschaut. 3. Die Idee ist überhaupt nicht neu, aber niemand setzt sie mehr um, weil die Nachteile hinreichend bekannt sind. Anfänger tendieren sehr häufig dazu, 1. anzunehmen. Sie lernen jedoch, dass in Wirklichkeit fast immer 2. oder 3. zutreffen. Neu ist jedoch Deine Vorgehensweise: 4. Ideen, die ganz offensichtlich der Kategorie 3 zuzuordnen sind, werden per Definition als 1. angesehen. Das sorgt dafür, dass es keine Nachahmer geben wird, die sich durch 3. abschrecken lassen.
:
Bearbeitet durch User
Jens schrieb: > Mist, mein Popcorn ist alle... Nach 4 Tagen offen rumstehen ist es auch nicht mehr frisch.
Die hoffentlich letzte Version. Das kleine k hat mir keine Ruhe gelassen. Beitrag "Re: 8bit-Computing mit FPGA"
Ich vermute mal, der Zeichensatz würde einem echten Typographen Alpträume bescheren.
frutiger schrieb: > Ich vermute mal, der Zeichensatz würde einem echten Typographen > Alpträume bescheren. Dir nicht mehr. Du bist schon tot.
Josef G. schrieb: > Matthias W. schrieb: >> Aber für einen Dritten ist das alles völlig undurchsichtig. > > Kannst du mal eine konkrete Stelle nennen, wo etwas unverständlich ist? > > Oder besser: Wenn man die Seiten der Reihe nach jeweils von oben nach > unten liest, an welcher Stelle setzt die Verstehbarkeit aus? Die Frage ist nach wie vor unbeantwortet. Auch von Anderen wurde mir mehrfach vorgehalten, die Dokumentation sei unverständlich, aber niemand nennt eine konkrete Stelle. Ich möchte nun diese Kritiker bitten, zunächst diesen Beitrag nochmal zu lesen: Beitrag "Re: 8bit-Computing mit FPGA" Wenn man danach die Seite SYS-doku von oben nach unten liest: An welcher Stelle ist zum ersten Mal etwas unverständlich?
Josef G. schrieb: > Die Frage ist nach wie vor unbeantwortet. Ich fürchte, das wirst du nie verstehen, weil du selbst dafür keine übersichtliche Doku brauchst und von Vorbildern nichts zu halten scheinst. Wenn man Doku für sich selbst schreibt, als Gedächtnisstütze, dann kommt ungefähr so etwas wie bei dir heraus. Wenn man jedoch andere überzeugen will, dann muss man sich an deren Ansprüchen orientieren, nicht an den eigenen. Das fängt ganz wesentlich mit der optischen Gestaltung an. Ob dir das gefällt oder nicht, das ist ein Aspekt unter dem ein Leser sich der Sache nähert. Die letzte mit Schreibmaschine gesetzte Architektur-Dokumentation sah ich in den 80ern bei INMOS. Und die war schon damals deutlich aus der Zeit gefallen. Es geht mit völlig fehlender Systematik weiter. Das sieht aus wie eine Ansammlung von Stichworten und Listen, bei denen kaum zwei aufeinander folgende Absätze einen erkennbaren Bezug zueinander haben. Spätestens da hört jeder auf, sich überhaupt damit zu befassen. Es ist nämlich deine Aufgabe, den Lesern das schmackhaft zu machen, wenn du damit etwas erreichen willst. Es ist nicht die Aufgabe des zufälligen Lesers, sich da durchzukämpfen.
:
Bearbeitet durch User
Beitrag "Re: 8bit-Computing mit FPGA" Beitrag "Re: 8bit-Computing mit FPGA" Auch wenn es Perlen vor die Säue sind . . .
Josef G. schrieb: > Ich möchte nun diese Kritiker bitten, > zunächst diesen Beitrag nochmal zu lesen: > Beitrag "Re: 8bit-Computing mit FPGA" > > Wenn man danach die Seite SYS-doku von oben nach unten liest: > An welcher Stelle ist zum ersten Mal etwas unverständlich? Da wo in deinem oben genannten Beitrag steht: > Der Punkt in den Mnemonics steht für den auf der > Grundlinie liegenden Bindestrich. Warum dann nicht einfach "AD_X" oder "J__" (oder in dem Fall sogar "J") geschrieben??
beric schrieb: > Warum dann nicht einfach "AD_X" oder "J__" (oder in dem Fall sogar "J") > geschrieben?? Der auf der Grundlinie liegende Bindestrich ist kein Unterstrich. Dieses Zeichen habe ich in meinem Zeichensatz neu eingeführt. Den Unterstrich als Bindestrich zu verwenden finde ich hässlich, ausserdem hat es den Nachteil, dass man Strings, in welchen der Unterstrich als Bindestrich verwendet wird, nicht ohne Informationsverlust unterstreichen kann.
Josef G. schrieb: > Den Unterstrich als Bindestrich zu verwenden finde ich hässlich, Der Unterstrich ist aber seit Jahrzehnten Standard, um längere Bezeichner wortweise zu trennen. Das gilt so ziemlich für alle Bezeichner in Programmiersprachen, z.B. bei Variablen, Funktionen, Makros usw. Ob der Unterstrich "hässlich" ist, steht überhaupt nicht zur Debatte. Durch Deine konsequente Weigerung, Standards auch anzuwenden, wirst Du immer auf Ablehnung stoßen. Warum machst Du Dir selbst das Leben schwer? Für Dich mag z.B. das Wort "Blumenvase" vielleicht eine gelungene Bezeichnung für ein Prozessor-Register sein. Aber Du kannst davon ausgehen, dass der Rest der Welt dies für ziemlich unpassend hält. Aber so ist Josef: 1. Webseiten werden gelb eingefärbt, statt den Hintergrund weiß zu lassen, wie man es i.a. gewohnt ist. 2. Prozessor-Register bekommen Namen, die NICHTS mit deren Funktion zu tun haben. 3. Der Unterstrich, der sich als Standard etabliert hat, wird kurzerhand durch Punkt ersetzt, einfach, weil der Punkt weniger "hässlich" ist. Die Liste ließe sich noch beliebig fortsetzen. Um es mal hart auszudrücken: Du machst alles anders, als der Rest der Welt es gewohnt ist. Das ist für alle (außer Dich) INAKZEPTABEL. > ausserdem hat es den Nachteil, dass man Strings, in welchen der > Unterstrich als Bindestrich verwendet wird, nicht ohne > Informationsverlust unterstreichen kann. Vermeide einfach die blöden Unterstreichungen. Dann gewinnst Du auch 128 zusätzliche Zeichen in Deinem Super-Duper-nicht-praxisrelevanten Zeichensatz. P.S. Warum nutzt Du eigentlich die deutsche Sprache hier im Forum? Um sich von den anderen abzusetzen, solltest Du diese durch ein Josefsches Neusprech komplett ersetzen.
:
Bearbeitet durch Moderator
Frank M. schrieb: > Warum nutzt Du eigentlich die deutsche Sprache hier im Forum? Um sich > von den anderen abzusetzen, solltest Du diese durch ein Josefsches > Neusprech komplett ersetzen. Hierfür würde sich eine Mischung aus Volapük und Esperanto anbieten, wobei Josef sicherlich auch noch die Grammatik und einige unschöne Wörter gemäß seines eigenen Geschmacks anpassen könnte.
Frank M. schrieb: > 3. Der Unterstrich, der sich als Standard etabliert hat, > wird kurzerhand durch Punkt ersetzt, einfach, weil der > Punkt weniger "hässlich" ist. Der Punkt wird nur in der auf PC geschriebenen und dargestellten Dokumentation verwendet, nicht auf dem realen System. > Du machst alles anders, als der Rest der Welt es gewohnt ist. Hätte ich alles so gemacht, wie es bisher alle machen, wäre mein System überflüssig. Der Sinn des Computers besteht gerade darin, dass dort vieles anders ist. > Vermeide einfach die blöden Unterstreichungen. Unterstreichungen sind eine sehr einfache und auch auf einem 8bit-Rechner realisierbare Möglichkeit, Text hervorzuheben, ohne dass man eine zweite Schriftart braucht.
Also besteht der Nutzen Deines Systems darin das man auf einem handelsüblichen PC unmöglich die Dokumentation für Dein System schreiben kann ? Gibt es denn irgendeine Möglichkeit die Doku auf den System selber zu schreiben und dann zu drucken, zu mailen oder sonstwie der Aussenwelt zur Verfügung zu stellen, oder ist das perfekt isoliert von allem ?
Stellt euch doch mal eine Welt vor, in der jeder zunächst einfach die Eigenheiten und Besonderheiten der anderen Person so akzeptiert wie sie sind. Frei von jedem narzisstischen Gehabe werden einfach höflich die Probleme diskutiert. Andere Meinungen dürfen jederzeit gleichberechtigt nebeneinander stehen bleiben. Wer mitmachen möchte, tut es, wer nicht schweigt. Was für eine wundervolle Welt muss das sein!
C-3PO schrieb: > oder ist das perfekt isoliert von allem ? http://www.mikrocontroller.net/articles/8bit-Computer:_bo8h
Joe G. schrieb: > Was für eine wundervolle Welt muss das sein! Yep, der Thread hier kommt dem eigentlich recht nahe. Aber eine Einschlafhilfe soll der Thread ja auch nicht sein.
:
Bearbeitet durch User
@Joe G. (feinmechaniker) Benutzerseite >Stellt euch doch mal eine Welt vor, in der jeder zunächst einfach die >Eigenheiten und Besonderheiten der anderen Person so akzeptiert wie sie >sind. Darum geht es keine Sekunde. > Frei von jedem narzisstischen Gehabe werden einfach höflich die >Probleme diskutiert. Andere Meinungen dürfen jederzeit gleichberechtigt >nebeneinander stehen bleiben. Richtig, eine MEINUNG, egal wie abstrus. Das Problem ist schlicht, dass es hier um ein COMPUTERSYSTEM geht und dessen Eigenschaften. Dieses hier vorgestellte System ist was für Autisten, genauer, nur etwas für den Erschaffer. Der Rest der Welt kann damit rein gar nichts anfangen, ausser drüber zu lästern. Mit Grund! > Wer mitmachen möchte, tut es, wer nicht >schweigt. Was für eine wundervolle Welt muss das sein! Langweilig! Wie ein Meer ohne Wind!
Joe G. schrieb: > Andere Meinungen dürfen jederzeit gleichberechtigt > nebeneinander stehen bleiben Bei Politik und Religion ist dieser Ansatz ganz ok, weils sonst Mord und Totschlag gibt. Aber wenn wir in gleicher Weise die Weltbilder von Ptolemäos und Galilei gleichberechtigt nebeneinander stellen, nur um des lieben Friedens willen, dann wird es schon etwas abstrus.
:
Bearbeitet durch User
@A. K. (prx) >> Andere Meinungen dürfen jederzeit gleichberechtigt >> nebeneinander stehen bleiben >Bei Politik und Religion ist dieser Ansatz ganz ok, weils sonst Mord und >Totschlag gibt. Gibt es die nicht? > Aber wenn wir in gleicher Weise die Weltbilder von >Ptolemäos und Galilei gleichberechtigt nebeneinander stellen, nur um des >lieben Friedens willen, dann wird es schon etwas abstrus. Aber sicher! Nennt sich neudeutsch TOLERANZ! Liegt sehr im Trend!
Josef G. schrieb: > Der Punkt wird nur in der auf PC geschriebenen und dargestellten > Dokumentation verwendet, nicht auf dem realen System. Interessant... das ist ja wie das Handbuch für eine Kaffeemaschine, die einem Entsafter beiliegt.
Frank M. schrieb: > Interessant... Auf dem realen System gibt es den auf der Grundlinie liegenden Bindestrich. Dieses Zeichen ist auf PCs nicht verfügbar, deshalb habe ich es auf PCs durch den Punkt ersetzt. Du hast wider besseres Wissen den Eindruck erweckt, Ich würde auf dem realen System den Punkt als Bindestrich verwenden: Frank M. schrieb: > 3. Der Unterstrich, der sich als Standard etabliert hat, > wird kurzerhand durch Punkt ersetzt, einfach, weil der > Punkt weniger "hässlich" ist. Jeder, der den Thread aufmerksam mitliest, weiss, dass das Unsinn ist. Offenbar spekulierst du darauf, dass viele Mitleser aber unaufmerksam sind und deinen Unsinn glauben. Ich war deshalb gezwungen, deinen Unsinn richtigzustellen: Josef G. schrieb: > Frank M. schrieb: >> 3. Der Unterstrich, der sich als Standard etabliert hat, >> wird kurzerhand durch Punkt ersetzt, einfach, weil der >> Punkt weniger "hässlich" ist. > > Der Punkt wird nur in der auf PC geschriebenen und dargestellten > Dokumentation verwendet, nicht auf dem realen System. Und nun versuchst du, meine Richtigstellung umzudeuten, wobei du offenbar wieder auf die Unaufmerksamkeit der Mitleser spekulierst: Frank M. schrieb: > Josef G. schrieb: >> Der Punkt wird nur in der auf PC geschriebenen und dargestellten >> Dokumentation verwendet, nicht auf dem realen System. > > Interessant... das ist ja wie das Handbuch für eine Kaffeemaschine, > die einem Entsafter beiliegt. Nach all dem frage ich mich, was deine Motive sind.
Josef G. schrieb: > Nach all dem frage ich mich, was deine Motive sind. Was ist denn dein Motiv ein Prozessor zu erschaffen den keiner versteht und erst recht keiner braucht?
Josef G. schrieb: zu Frank M. > Du hast wider besseres Wissen den Eindruck erweckt > Jeder, der den Thread aufmerksam mitliest, weiss, dass das > Unsinn ist. Offenbar spekulierst du darauf, dass viele > Mitleser aber unaufmerksam sind und deinen Unsinn glauben. > > Ich war deshalb gezwungen, deinen Unsinn richtigzustellen: > Und nun versuchst du, meine Richtigstellung umzudeuten, wobei du > offenbar wieder auf die Unaufmerksamkeit der Mitleser spekulierst: Das sind alles Spezialitäten und Spitzfindigkeiten dieses Herrn, > was deine Motive sind. der mit seinem göttlichen IRMP mangels Interesse offensichtlich nicht mehr ausgelastet ist.
:
Bearbeitet durch User
Josef G. schrieb: > Auf dem realen System gibt es den auf der Grundlinie liegenden > Bindestrich. Dieses Zeichen ist auf PCs nicht verfügbar, > deshalb habe ich es auf PCs durch den Punkt ersetzt. Natürlich gibt es den auf dem PC: Ich schenke ihn Dir: _ (Rechte Shift-Taste und die links daneben liegende Taste drücken) Er heißt auch nicht "auf der Grundlinie liegende Bindestrich", sondern "Unterstrich" bzw. "Underscore". > Du hast wider besseres Wissen den Eindruck erweckt, Ich würde > auf dem realen System den Punkt als Bindestrich verwenden: Quatsch, ich habe nur den Eindruck erweckt, Du wärest total durchgeknallt. Ich nehme das zurück. Es ist viel schlimmer. > Nach all dem frage ich mich, was deine Motive sind. Für mich gibt es zwei Möglichkeiten: 1. Ich versuche Dir zu erklären, dass Deine Versuche, etwas neues zu erfinden, seit 40 Jahren überholt sind. 2. Ich schreie einfach nur den ganzen Tag in ein Kissen, damit keiner meine Verzweiflung hört, wenn ich Deine Postings lese. Bisher halte ich mich tapfer an Schritt 1. Allerdings bin ich nicht mehr weit von Schritt 2 entfernt...
:
Bearbeitet durch Moderator
Moby A. schrieb: > Josef G. schrieb: > zu Frank M. > [...] > der mit seinem göttlichen IRMP mangels Interesse offensichtlich nicht > mehr ausgelastet ist. Du bist doppelt im Irrtum: IRMP ist lediglich eines meiner klitzekleinen Projekte und läuft nur nebenher. Jedoch ist das Interesse an IRMP nachwievor sehr hoch... erst gestern gab es ein neues Release auf Wunsch einiger Leute. Aber Du hast sonst keine Ahnung, wer ich bin und was ich tue. Also red' nicht so einen Stuß daher. Mach Dich erstmal schlau, bevor Du Dich total blamierst.
Frank M. schrieb: > keine Ahnung, ... was ich tue. Das sieht man nur allzu schön an der Art Deiner destruktiven Kommentare.
@ Frank M. (ukw) Benutzerseite >Quatsch, ich habe nur den Eindruck erweckt, Du wärest total >durchgeknallt. Ich nehme das zurück. Es ist viel schlimmer. >Bisher halte ich mich tapfer an Schritt 1. Allerdings bin ich nicht mehr >weit von Schritt 2 entfernt... http://www.mikeleake.net/2015/01/what-to-do-when-someone-is-wrong-on-the-internet.html ;-)
Frank M. schrieb: > Natürlich gibt es den auf dem PC: Ich schenke ihn Dir: _ > > (Rechte Shift-Taste und die links daneben liegende Taste drücken) Ich glaube wenn ich Josef richtig verstehe, dann differenziert er an dieser Stelle. Der Unterstrich liegt nicht auf der Grundlinie, sondern darunter. Ein Punkt (.) liegt auf der Grundlinie, deswegen lag es für ihn wohl nahe lieber diesen zu verwenden. Gruesse Christopher
Josef G. schrieb: > Josef G. schrieb: >> Matthias W. schrieb: >>> Aber für einen Dritten ist das alles völlig undurchsichtig. >> >> Kannst du mal eine konkrete Stelle nennen, wo etwas unverständlich ist? >> >> Oder besser: Wenn man die Seiten der Reihe nach jeweils von oben nach >> unten liest, an welcher Stelle setzt die Verstehbarkeit aus? > > Die Frage ist nach wie vor unbeantwortet. > > Auch von Anderen wurde mir mehrfach vorgehalten, die Dokumentation > sei unverständlich, aber niemand nennt eine konkrete Stelle. Stimmt so nicht ganz, ein paar wenige Start-tipps für doku gab ich dir mal (z.b.: Beitrag "Re: 8bit-Computing mit FPGA") Und: Ich habs ja auch nicht immer so mit der doku, aber im Internet sind doch schöne Beispiele für gelungene CPU-Dokumentationen, Es muss ja nicht soo ausführlich sein, aber nur mal zur Anregung z.B. diese gelungene Seite zum "guten" alten 8051: z.b: http://www.self8051.de/einf%FChrung,13286.html 1) Funktionale Aufschlüsselung des Befehlsvorrats http://www.self8051.de/funktionale_aufschl%FCsselu... 2) Die Adressierungsarten http://www.self8051.de/adressierungsarten,13289.html 3) Alle Befehle in der Übersicht http://www.self8051.de/alle_Befehle_des_8051_Mikro... 4) Und weiter wird dann noch jeder einzeln im Detail erklärt -> lies doch mal ein noch ein paar CPU-Datenblätter oder Webseiten, und lerne daraus wie andere Dokumentieren; Also mal so als kurze Anregung in deine Seite hineingetextet (mit +): (...) ----------------------------------------------------------------------- +2) CPU Signale (Indexnummen in Hex): a0 .. af Adressleitungen - Tristate d0 .. d7 Datenleitungen - Tristate N0 .. N3 Typleitungen - permanente Ausgänge RES REP Reset Repeat - Eingänge C0 C1 Takt Takt - Eingänge, Version 1 clk ena Takt Enable - Eingänge, Version 2 +Die CPU gibt keine WE, RD -Signale oder so etwas aus. +Stattdessen gibt es die Typleitungen. Dort wird der Halbzyklus-Typ +angezeigt. Siehe Seite xyz CPU-doku. Die WE, RD -Signale müssen daraus +per externer Hardware erzeugt werden. usw usw usw +3) Kleines Blockdiagramm (eine richtige Zeichnung kein Buchstabengewirr) ---------------------------------------------------------------- +4) Tabellarische Befehlsübersicht: +0 +1 +2 +3 +4 +5 +6 +7 00- H.. SL.S SW.X SL.X SW.Y SL.Y SW.Z SL.Z 08- IX0 IX1 IX2 IX3 IX4 IX5 IX6 IX7 10- IY0 IY1 IY2 IY3 IY4 IY5 IY6 IY7 18- IZ0 IZ1 IZ2 IZ3 IZ4 IZ5 IZ6 IZ7 (....) rest bitte selbst einfügen +Alle OpCodes sind 8bit breit. +7) Opcodes im Detail Aus deinem eigenen Beitrag: +Beispiel: OpCode 69: XRMX +> +> Weiter unten steht: % stehe für X|Y|Z und +> XRM% | XR.B A wird A xor op mit op = (%) | B +> +> Die letzte Zeile steht also für +> +> XRMX A wird A xor (X) +> XRMY A wird A xor (Y) +> XRMZ A wird A xor (Z) +> XR.B A wird A xor B +> +> XRMX bewirkt also, dass A mit dem Inhalt jener Speicherzelle, +> auf welche das Adress-Register X zeigt, xor-verknüpft wird. Nun, dann schreib es doch auch so in deine Web-page für alle Befehle!
Es gibt eine Änderung der CPU: Die Befehle SZ.A AZ.A LZ.A auf Position e4/e5/e6 wurden ersetzt durch NA.K ZO.K NA.A NA: Negiere arithmetisch, ZO: Setze Null. http://www.mikrocontroller.net/articles/8bit-CPU:_bo8
Bedeutet das, meine bisherigen Programme sind jetzt nicht mehr lauffähig?
le x. schrieb: > Bedeutet das, meine bisherigen Programme sind jetzt nicht mehr Die Frage überrascht mich sehr. Hast du tatsächlich Software für die CPU geschrieben? Oder ist die Frage doch nur theoretisch gemeint im Sinne von "Mal angenommen, es hätte jemand bereits Software geschrieben ..."?
Josef G. schrieb: > Es gibt eine Änderung der CPU: Die Befehle SZ.A AZ.A LZ.A > auf Position e4/e5/e6 wurden ersetzt durch NA.K ZO.K NA.A Noch eine Änderung: Die Positionen e5 und fb der Befehle ZO.K und SL.K wurden getauscht.
Für alle Interessierten (welche evtl. mit ‚bo8‘ nicht zurecht kommen :-) ) Unter opencores.org gibt viele Cores zum Anschauen/Lernen/Benutzen. .. oder auch: https://github.com/mist-devel/ https://code.google.com/p/minimig/ http://www.fpgaarcade.com/ mikrocontroller.net Artikel: http://www.mikrocontroller.net/articles/16/32Bit_Computer/Konsole http://www.mikrocontroller.net/articles/Retrocomputing_auf_FPGA
le x. schrieb: > Bedeutet das, meine bisherigen Programme sind jetzt nicht mehr > lauffähig? Nicht nur deine! Auch meine Programme laufen nicht mehr! Ich stampfe diesen Core wieder ein und verwende einen anderen...
Josef G. schrieb: > Die Frage überrascht mich sehr. > Hast du tatsächlich Software für die CPU geschrieben? War ja eigentlich klar das nicht mal du selbst von jemandem erwartest mit deiner CPU zurechtzukommen...
Habe die Konfigurationen für alle 5 Boards überarbeitet. Bisher gab es die zwei CPU-Takte cl1 und cl0. Da von cl1 nur die steigende Flanke und von cl0 nur die fallende Flanke verwendet werden, habe ich diese Takte ersetzt durch einen einzigen Takt mit der steigenden Flanke von cl1 und der fallenden Flanke von cl0. Den einen Takt habe ich wieder cl1 genannt. Siehe die Pegeldiagramme auf der Seite CPU-doku meiner Website oder auf http://www.mikrocontroller.net/articles/8bit-CPU:_bo8 Der eine Takt heisst dort clk2. Ausserdem möchte ich an dieser Stelle auf die Version 2 der CPU hinweisen, welche statt 2 Takteingängen nur einen Eingang für einen symmetrischen Takt besitzt, und dazu einen Eingang für ein Enable-Signal. FPGA-Fachleute finden vielleicht diese Version besser. Vielleicht hat jemand eine Verwendung für die CPU, unabhängig von meinem Gesamtprojekt. Moderne FPGA haben teils mehr als 64 KByte Block-RAM, da könnte die Fähigkeit der CPU interessant sein, mehrere 64K-Seiten zu adressieren und auch von einer Seite in eine andere zu springen.
Josef G. schrieb: > Moderne FPGA haben teils > mehr als 64 KByte Block-RAM, da könnte die Fähigkeit der CPU > interessant sein, mehrere 64K-Seiten zu adressieren und auch > von einer Seite in eine andere zu springen. Das macht man im FPGA aber klick.klack in einem Takt, parallel, vorwärts und rückwaerts mit Salto. Ich sehe da - außer zum Selbstzweck - keinen Bedarf für noch eine CPU. Im Bereich der Frage nach FPGA-Projekten gab es hingegen eine Anregung, einen CoPRo zu bauen. Wenn der Kompakt genug ist, könnte man soviele Instanziieren, wie es an Latenz für einen Befehl hat und bekäme eine pipeline. Ich sehe da einen komplexen Rechner, dem man Aufgaben nur noch übergibt und nur noch das Ergebnis abholt, statt zu warten.
Da mir weiter oben mehrfach vorgehalten wurde, die Dokumentation, insbesondere die Seite SYS-doku meiner Website, sei unverständlich, habe ich den Artikel zum Projekt ergänzt durch einen nach meiner Ansicht leicht zu lesenden Abschnitt über die Programmiersprache. http://www.mikrocontroller.net/articles/8bit-Computer:_bo8h
Du hast aber schon mal ein Datenblatt zu einer CPU, MCU, Embedded PC etc. pp. in der Hand gehabt, oder ? Was unterscheidet Deine 'Dokumentation' von einem Datenblatt ? (Alles) Wiederholtes abspulen unstrukturierter Prosa unter Anwendung von dramatisch eigensinnigen Ansichten über Namenskonventionen und Lesbarkeit macht es auch im 20ten Aufguss nicht besser. Schreib es doch gleich auf Esperanto, das spricht auch kein Schwein obwohl es bereits 1887 als neue Weltsprache konzipiert wurde. Warum 2016 eine Doku so aussehen muß als sei sie mit einer Reiseschreibmaschine von 1920 geschrieben wird auch auf ewig Dein Geheimniss bleiben.
Der redundanzfreie Josef hat wieder zugeschlagen ;-) Aber trotzdem: Da steckt ein Stück weit Arbeit drin, ich hoffe, die Seite wird Deinem Projekt den richtigen Anschub verpassen. P.S.: Ein einfaches und ein cooles Beispiel können erhellend und motivierend wirken.
Nach der Ersetzung der CPU-Befehle SZ.A, AZ.A, LZ.A durch NA.K, ZO.K, NA.A bin ich nicht mehr sicher, ob die Zuordnung zwischen Befehlen und OpCodes im Bereich e0 .. ff optimal ist. Vielleicht wird es da nochmal eine Änderung geben. Falls also tatsächlich jemand Software für die CPU schreiben sollte, so möge er sorgfältig dokumentieren, welche Bereiche des fertigen Codes tatsächlich Programmcode enthalten und welche Bereiche stattdessen aus Tabellen von Zeigern oder Daten bestehen. Dann kann er im Programmcode nachträglich leicht per Ersetzungsprogramm die Opcodes austauschen.
Josef G. schrieb: > Falls also tatsächlich jemand Software für die CPU schreiben > sollte Wann erwacht er aus dem Traum den er sosehr mag, tut endlich mal etwas praktisches baun, nutzt sinnvoll seinen Tag.
Josef G. schrieb: > Nach der Ersetzung der CPU-Befehle SZ.A, AZ.A, LZ.A durch > NA.K, ZO.K, NA.A bin ich nicht mehr sicher, > > Falls also ... jemand Software für die CPU schreiben sollte, Bin noch unsicherer geworden über die CPU-Änderung. Bin zur Zeit am überlegen, anstelle von NA.K und NA.A die Befehle SZ.A und AZ.A wieder einzuführen und lediglich die Ersetzung von LZ.A durch ZO.K beizubehalten. Bitte also NA.K und NA.A vorerst nicht verwenden. Sorry wegen des Hin-und-Her. Aber da ohnehin offenbar niemand die CPU zu verwendet ...
Josef G. schrieb: > Bin noch unsicherer geworden über die CPU-Änderung. > Bin zur Zeit am überlegen, anstelle von NA.K und NA.A > die Befehle SZ.A und AZ.A wieder einzuführen und lediglich > die Ersetzung von LZ.A durch ZO.K beizubehalten. Ich schlage stattdessen WE.G, DA.M, I.T vor. Das passt besser. > Bitte also NA.K und NA.A vorerst nicht verwenden. > Sorry wegen des Hin-und-Her. Aber da ohnehin > offenbar niemand die CPU zu verwendet ... Eben, Du kannst auch EX.U ND.H O.PP verwenden, das merkt keine Sau. EDIT: Upps, meinte OP.P statt O.PP. Sorry!
:
Bearbeitet durch Moderator
Josef G. schrieb: > Aber da ohnehin > offenbar niemand die CPU verwendet ... Gratuliere, Josef! Damit hast Du Dich der Realität nach exakt 512 Posts nun maximal angenähert. In einem zweiten Schritt wären daraus nun nur noch die richtigen Konsequenzen zu ziehen! Kannst Du hier und heute schonmal einen ungefähren Ausblick geben, wievieler weiterer Kommentare es dazu noch bedarf? Danke!
Josef G. schrieb: > Bin zur Zeit am überlegen, anstelle von NA.K und NA.A > die Befehle SZ.A und AZ.A wieder einzuführen Nein. Viel dringender wird SE.LF.DES.TRUC.TI.ON gebraucht. Dann bitte 1x ablaufen lassen...
Instrukteur schrieb: > Nein. Viel dringender wird > SE.LF.DES.TRUC.TI.ON > gebraucht. Syntax Error. Reboot System. Ist meine Version zu alt?
:
Bearbeitet durch Moderator
Frank M. schrieb: > Syntax Error Gewiss. Gleiches ließe sich auch durch die zusammengesetzte Inkarnation SE.L FD.E ST.R UC.T IO.N (bitte in dieser Reihenfolge) realisieren. Ich bin allerdings der Meinung, daß es die herausragend wichtige Funktionalität allemal wert ist, als ein CISC Befehl mit gesonderter, eindeutiger Syntax in der FPGA-CPU realisiert zu werden...
Josef G. schrieb: > die Befehle SZ.A und AZ.A wieder einzuführen Ich sollte vielleicht noch nachtragen: SZ.A : Subtrahiere Zero mit Carry, AZ.A : Addiere Zero mit Carry
Josef G. schrieb: > Ich sollte vielleicht noch nachtragen: Richtig. Gut so. Es darf keinerlei Zweifel daran aufkommen, daß Du (mal vorerst) keine unangenehmen Schlussfolgerungen aus Deiner heutigen Eingebung (die CPU nutzt ja eh keiner) ziehen wirst.
Hätte ja gerne mal den Emulator getestet, hab aber keine Lust, mir den selbst zu kompilieren, wenn ich den Sourcetree nicht komplett in nem Archiv runterladen kann. Du müsstest das Projekt bitte besser dokumentieren und auch Binaries für Windows und Linux bereitstellen. Hab schon mit sehr komplexer Software zu tun gehabt (Arbeite an der Unterstützung von Sparc-Prozessoren für Linux), aber dein Projekt ist mir ne Nummer zu hoch :( Habe aber auf jeden Fall Respekt vor deiner Arbeit. Eine CPU zu entwerfen ist eine große Leistung, daran habe ich mich noch nie wirklich rangewagt... Eigentlich könntest du ja deine CPU so gestalten, dass sie je nach Microcode sich wie eine bekannte CPU verhält (in deinem Fall wären Z80, 8008, 8080, 6502 usw). Es gab ja mal die Firma Transmeta, die sowas entwickelt hatte, schade, dass da nichts neues mehr kommt.
1 | +0 +1 +2 +3 +4 +5 +6 +7 |
2 | |
3 | 00- H.. SL.S SW.X SL.X SW.Y SL.Y SW.Z SL.Z |
4 | 08- IX0 IX1 IX2 IX3 IX4 IX5 IX6 IX7 |
5 | 10- IY0 IY1 IY2 IY3 IY4 IY5 IY6 IY7 |
6 | 18- IZ0 IZ1 IZ2 IZ3 IZ4 IZ5 IZ6 IZ7 |
7 | 20- NO2 ST.S SS.X ST.X SS.Y ST.Y SS.Z ST.Z |
8 | 28- DX0 DX1 DX2 DX3 DX4 DX5 DX6 DX7 |
9 | 30- DY0 DY1 DY2 DY3 DY4 DY5 DY6 DY7 |
10 | 38- DZ0 DZ1 DZ2 DZ3 DZ4 DZ5 DZ6 DZ7 |
11 | |
12 | 40- O.VZ O.VS B.VZ B.VS O.UZ O.US B.UZ B.US |
13 | 48- O.AZ O.AS B.AZ B.AS O.KZ O.KS B.KZ B.KS |
14 | 50- O.WY O.RP B.WY B.CN GTR ADR GTA NON |
15 | 58- IKL DKL IXL DXL IYL DYL IZL DZL |
16 | 60- AD. LV. AV. SV. GT. AN. XR. NR. |
17 | 68- STMX LVMX AVMX SVMX GTMX ANMX XRMX NRMX |
18 | 70- STMY LVMY AVMY SVMY GTMY ANMY XRMY NRMY |
19 | 78- STMZ LVMZ AVMZ SVMZ GTMZ ANMZ XRMZ NRMZ |
20 | |
21 | 80- ST.B LV.B AV.B SV.B GT.B AN.B XR.B NR.B |
22 | 88- SL.K TA1 TA2 TA3 TA4 TA5 TA6 TA7 |
23 | 90- NO1 TK1 TK2 TK3 TK4 TK5 TK6 TK7 |
24 | 98- TK8 TK9 TKa TKb TKc TKd TKe TKf |
25 | a0- EX.S LV.S AV.S SV.S GT.S LD.S AD.S SD.S |
26 | a8- EX.X ZO.X ES.X RS.X GT.X LD.X AD.X SD.X |
27 | b0- EX.Y ZO.Y ES.Y RS.Y GT.Y LD.Y AD.Y SD.Y |
28 | b8- EX.Z ZO.Z ES.Z RS.Z GT.Z LD.Z AD.Z SD.Z |
29 | |
30 | c0- R.VZ R.VS R.UZ R.US R.AZ R.AS R.KZ R.KS |
31 | c8- R.WY R.CN R.IX R.DX R.IY R.DY R.IZ R.DZ |
32 | d0- GH.S GL.S GH.X GL.X GH.Y GL.Y GH.Z GL.Z |
33 | d8- IC.S DC.S IXE DXE IYE DYE IZE DZE |
34 | e0- PV.B TZ.B PV.A TZ.A SE.U NE.U ZO.U CP.V |
35 | e8- RD.B RU.B RD.A RU.A SE.V NE.V ZO.V CR.V |
36 | f0- ZO.B NE.B ZO.A NE.A IV.A DV.A ZO.S S.RP |
37 | f8- IC.K DC.K ZO.K NE.K IC.A DC.A GT.Q J.. |
Josef G. schrieb: > Bin zur Zeit am überlegen, anstelle von NA.K und NA.A > die Befehle SZ.A und AZ.A wieder einzuführen und lediglich > die Ersetzung von LZ.A durch ZO.K beizubehalten. Habe das nun so gemacht. Die Mnemonics AZ.A und SZ.A habe ich dabei ersetzt durch IV.A und DV.A, das steht für Inkrementiere und Dekrementiere mit Carry V. Ausserdem habe ich die Befehle neu angeordnet. Dadurch wurden die Logiknetze zur Berechnung der internen Steuersignale ein wenig einfacher. Und ich meine, der Befehlssatz sieht jetzt aufgeräumter aus. http://www.mikrocontroller.net/articles/8bit-CPU:_bo8
Hallo? Liest du hier die Posts? Mach mal bitte ein vernünftiges Archiv zum herunterladen deiner Quellcodes.
Informatiker schrieb: > Hätte ja gerne mal den Emulator getestet, hab aber keine Lust, mir den > selbst zu kompilieren, wenn ich den Sourcetree nicht komplett in nem > Archiv runterladen kann. Das Emulationsprogramm testet nur die Software, nicht den inneren Aufbau der CPU. Der Quelltext besteht lediglich aus der Datei emul.c, man muss nur emul.c.txt.zip herunterladen und dekomprimieren und das Suffix .txt entfernen. Das Compilieren erfolgt mittels gcc -o emul emul.c -L/usr/X11R6/lib -lX11 Beim Starten des Programms emul mittels ./emul muss die Textdatei coka im aktuellen Verzeichnis stehen, man muss dazu coka.txt.zip herunterladen und dekomprimieren und das Suffix .txt entfernen. Optional kann auch noch die Textdatei teca vorhanden sein, welche man in gleicher Weise aus teca.txt.zip erhält. Dann steht die Software der erweiterten Test-Steckkarte zur Verfügung. Man hat also insgesamt 3 Dateien herunterzuladen. Ich meine, das ist zumutbar. Allerdings kommen noch die Beispieldateien emtext_* hinzu, falls man sie verwenden will. Ein größeres Problem wird ohnehin die Gewöhnung an die Tastaturbelegung sein, welche auf der Seite Emul meiner Website beschrieben ist. Für ein erstes schnelles Erfolgserlebnis tippe man nach dem Starten des Emulationsprogramms: 61.demo - Enter
Josef G. schrieb: > Beim Starten des Programms emul mittels ./emul *muss* > die Textdatei coka im aktuellen Verzeichnis stehen was liegt da auch naeher als es separat zu verpacken? > man muss dazu coka.txt.zip herunterladen und > dekomprimieren und das Suffix .txt entfernen warum haengst du immer noch txt an, wenn man es sowieso wieder entfernen muss? Mit so einer Gaengelei vertreibst du doch noch die letzten Menschen die sich dafuer interessieren koennten...
:
Bearbeitet durch User
>Mit so einer Gaengelei vertreibst du doch noch die letzten >Menschen die sich dafuer interessieren koennten... Whaaaaaa - und durch solche Posts holst Du diesen nervigen Thread immer wieder an's Tageslicht. Ich sterb deswegen bald.
Christopher B. schrieb: > was liegt da auch naeher als es separat zu verpacken? Man sieht bereits auf der Website vor dem Herunterladen, um was es sich handelt, und nicht erst nach dem Entpacken. Und es gab immer wieder neue Versionen einzelner Dateien. Wer sich auf der Seite Downloads die Datumsangaben ansieht, braucht nur jeweils die neuen Dateien herunterladen. Das Herunterladen dauert nur Sekundenbruchteile. Es kann doch nicht so schlimm sein, wenn man zweimal klicken muss. > warum haengst du immer noch txt an, Jeder sieht bereits vor dem Herunterladen, dass es Textdateien sind. Und ich kann sicher sein, dass das Archivierungsprogramm die Dateien als Textdateien erkennt und als solche komprimiert, und nicht irgendwelche Verfahren für spezielle Dateiformate anwendet, wo es dann vielleicht beim Entpacken auf anderen Rechnern Inkompatibilitäten gibt.
Ich kann es ja verstehen das du nicht ein großes ZIP-Archiv machen willst, damit du Updates einzelner Dateien einfacher anbieten kannst, aber alles andere macht doch wenig Sinn. Josef G. schrieb: > Das Herunterladen dauert nur Sekundenbruchteile. Es kann > doch nicht so schlimm sein, wenn man zweimal klicken muss. Richtig, und es würde auch nur Sekundenbruchteile dauern wenn die Dateien nicht gepackt sind ;) Die C-Dateien sind nur wenige kB groß, da kann man sich das archivieren wirklich sparen, weil das entpacken macht viel mehr Arbeit wir der Zeitgewinn im Millisekunden-Bereich durch die minimalen Größen-Ersparnisse (auch wenn sie relativ Betrachtet wohl groß erscheinen mögen). Ein Vorteil wenn die Dateien nicht gepackt wären wäre auch, das man sich den Code direkt im Browser schon ansehen könnte. Und nur dadurch das die Dateien gepackt sind weiß ich ja nicht wirklich genau was ich mir herunterlade, erst wenn ich es entpackt habe ;) Auch das du .txt an die Dateien anhängst macht so keinen Sinn. Zum einen wird standardmäßig unter Windows bekannte Dateierweiterungen ausgeblendet, das umbenennen macht dann wieder zusätzlichen Aufwand. Auch brauchst du keine Sorge vor "dateispezifischen inkompatiblen Optimierungen" zu haben bei Archiven, das kann (zumindest bei den mir bekannten Verfahren) nicht geben, wobei das Archivieren einer einzigen weniger kB-großen Dateien an sich schon unsinnig ist. Von daher, wenn einer sich deine Dateien laden will braucht er nicht nur die wenige Sekunden zum anklicken der Dateien, sondern muss diese nochmals entpacken und dann noch vermutlich googlen wie er bekannte Dateierweiterungen unter Windows anzeigt um diese dann umzubenennen. Und spätestens dann denkt man wer sowas macht kann nichts ordentliches fabrizieren und schon hat man keine Lust mehr auf dein Projekt :(
Some Men Just Want to Watch the World Burn http://knowyourmeme.com/memes/some-men-just-want-to-watch-the-world-burn
informatiker schrieb: > da kann man sich das archivieren wirklich sparen, > weil das entpacken macht viel mehr Arbeit > > Ein Vorteil wenn die Dateien nicht gepackt wären wäre auch, > das man sich den Code direkt im Browser schon ansehen könnte. Das Archivieren habe ich gemacht, um das Downloaden zu erzwingen. Andernfalls würden die Dateien direkt angezeigt und man müsste den Browser dazu bringen, sie zu sichern. Das Entpacken geschieht bei meinem Apple durch einfaches Anklicken. Von Windows habe ich null Ahnung. Den Apple habe ich für's Internet, zum Arbeiten verwende ich Linux. Das Emulationsprogramm funktioniert nur unter Linux. > Auch das du .txt an die Dateien anhängst macht so keinen Sinn. Das Anhängen von .txt habe ich gemacht, weil mein Apple .vhd nicht kennt und die Dateien als unbekannte Programme anzeigt. Dasselbe gilt für die Dateien coka und teca ohne Suffix. Bei .c wäre es nicht notwendig, aber ich habe es gemacht, damit alles einheitlich ist.
Josef G. schrieb: > Das Archivieren habe ich gemacht, um das Downloaden zu erzwingen. Du kannst den Download einfacher erzwingen. z.B. indem du einfach: <a type="application/octet-stream" hre.... in den Link einfügst. Einfach mal kurz googlen da gibt es mehrere Lösungen für. Allgemein ist es kein Problem eine offene Datei im Browser zu speichern, einfach kurz Strg+S sollte überall klappen, sowohl auf Windows wie auch unter Linux/Mac. Unter Windwos dürfte das immer noch vielfach schneller sein wie ein Archiv zu entpacken ;) Josef G. schrieb: > Das Entpacken geschieht bei > meinem Apple durch einfaches Anklicken. Von Windows habe ich null > Ahnung. Okay dann sind wir in verschieden Welten unterwegs zum Mac kann ich nichts sagen. Josef G. schrieb: > Das Anhängen von .txt habe ich gemacht, weil mein Apple .vhd nicht > kennt und die Dateien als unbekannte Programme anzeigt. Dasselbe > gilt für die Dateien coka und teca ohne Suffix. Bei .c wäre es nicht > notwendig, aber ich habe es gemacht, damit alles einheitlich ist. Verständlich, aber vermutlich ist es trotzdem besser das .txt wegzulassen. Wenn Windows eine Dateierweiterung nicht kennt wird nachgefragt womit "versucht" werden soll die Datei zu öffnen. Entweder verknüpft man dann die Datei mit dem korrekten Programm oder öffnet sie mit einem Editor seiner Wahl. Bei bekannten Dateierweiterungen blendet Windows jedoch standardmäßig die Erweiterung aus (Änderung der Erweiterung nicht mehr einfach möglich) und öffnet im Falle von .txt alles mit dem hauseigenen (unbrauchbaren) Windows-Editor, was man nicht unbedingt möchte.
Josef G. schrieb: > Falls also tatsächlich jemand Software für die CPU schreiben > sollte, so möge er sorgfältig dokumentieren, welche Bereiche > des fertigen Codes tatsächlich Programmcode enthalten und > welche Bereiche stattdessen aus Tabellen von Zeigern oder > Daten bestehen. Dann kann er im Programmcode nachträglich > leicht per Ersetzungsprogramm die Opcodes austauschen. Die Aussage bleibt weiter gültig. Nach der letzten CPU-Änderung habe ich leider nochmal Zuordnungen zwischen Befehlen und OpCodes gefunden, welche ich ändern sollte, weil sich dann Vereinfachungen der Logiknetze zur Berechnung der internen Steuersignale ergeben. Und zwar sollten SW.X mit ZO.X, SW.Y mit ZO.Y, SW.Z mit ZO.Z getauscht werden. Ich möchte dies jedoch vorerst nicht tun, vielleicht ergeben sich noch weitere Vertauschungen.
:
Bearbeitet durch User
push Wann wird jetzt endlich x86 durch die von Josef entwickelte Architektur ersetzt? x86 ist doch zum heutigen Zeitpunkt im Vergleich zu Josefs Architektur Steinzeit.
@Scherge von Josef (Gast) >Wann wird jetzt endlich x86 durch die von Josef entwickelte Architektur >ersetzt? An dem Tag, an dem die Hölle gefriert. >x86 ist doch zum heutigen Zeitpunkt im Vergleich zu Josefs Architektur >Steinzeit. Naja, Josefs Werk ist dem Dadaismus näher als der Boolschen Algebra . . . ;-) https://de.wikipedia.org/wiki/Dadaismus
In der Tat sehe auch ich großes Potential für diese CPU. Wenn er jetzt noch Linux darauf portiert, wird er bald Marktführer im Bereich der CPU-Architekturen sein. Nur Transmeta hatte ansatzweise ähnlich gute Konzepte.
Informatiker schrieb: > Wenn er > jetzt noch Linux darauf portiert Warum so kleine Brötchen backen? Josefs Ausdauer langt doch locker für eine Windows-Inkarnation. Lässt sich alles durch Vereinfachungen der Logiknetze zur Berechnung der internen Steuersignale ermöglichen. Diverse Instruktionen für Multimedia werden auch bald nachgereicht. Geduld bitte !
Mir ist niemand bekannt, der Windows für seine tägliche Arbeit benötigt. Linux ist völlig ausreichend.
Und sei es nur als Beweis der Leistungsfähigkeit seiner überragenden Architektur.
Ist trotzdem recht sinnlos. Warum sollte man Hardware für closed Source Systeme entwickeln? Windows ist schlicht und einfach eine Randerscheinung der Informatik.
Nils S. schrieb: > Falk B. schrieb: >> and daily greets the Murmeltier . . . > > s\Murmeltier\Multimeter Falsch. Korrekt wäre: s/Murmeltier/Multimeter/
Andreas S. schrieb: >> s\Murmeltier\Multimeter > > Falsch. Korrekt wäre: > s/Murmeltier/Multimeter/ Kiddies, ihr habt beide recht, denn das erste Zeichen nach dem 's' bestimmt den delimiter. Neben slash und backslash wird auch colon und pipe verwendet. http://www.grymoire.com/Unix/Sed.html#uh-2 Nachdem das geklärt ist, könnt ihr ja was zur Sache schreiben. Außer Eurer Detailwissen reicht wie beim sed über oberflächliche Kenntnisse nicht hinaus. SCNR
Nils S. schrieb: > Andreas, das stimmt so aber nicht. Mein sed arbeitet anders herum. Dein sed benötigt aber mit Sicherheit auch den abschließenden "\" bzw. "/".
Abgeschlossen wird mit '\1'. Das kann dein Browser, dank Steuerzeichen statt Glyphen an der Stelle, aber nicht anzeigen. Ich seh's hier aber.
:
Bearbeitet durch User
Hin und wieder lese ich diesen Thread mit Spannung, was so Neues passiert. Bewundernswert finde ich den Gleichmut von Joseph und die Konsequenz wie er sich auf die Mobing-artigen Kommentare der ganzen Besserwisser hier überhaupt nicht einlässt. Ich finde jeder sollte seine Ideen präsentieren dürfen. Wenn es qualifizierte Gegenargumente für die ein oder andere Idee gibt, können diese zivilisiert vorgebracht werden. Die Leute hier, die das Joseph Mobbing betreiben, verachte ich zutiefst. [...]
:
Bearbeitet durch Moderator
Marc schrieb: > Ich finde jeder sollte seine Ideen präsentieren dürfen. Soweit richtig. > Wenn es qualifizierte Gegenargumente für die ein oder andere Idee gibt, > können diese zivilisiert vorgebracht werden. Das wurde ja hier auch getan. Wenn freilich die kritischen Argumente vollkommen ignoriert werden, wie soll es dann Deiner Meinung nach weitergehen?
Marc schrieb: > Bewundernswert finde ich den Gleichmut von Joseph und die Konsequenz wie > er sich auf die Mobing-artigen Kommentare der ganzen Besserwisser hier > überhaupt nicht einlässt. Das ist nicht Gleichmut. Joseph ist nur merkbefreit. (https://de.wikipedia.org/wiki/Merkbefreiung) Sein Projekt ist ist in etwa mit einem Auto mit viereckigen Rädern vergleichbar. Mit Gewalt fährt es, aber kein Mensch würde es so konstruieren oder könnte etwas damit anfangen. Marc schrieb: > Wenn es > qualifizierte Gegenargumente für die ein oder andere Idee gibt, können > diese zivilisiert vorgebracht werden. Hast du den Thread mal von Anfang an durchgelesen? Gegenargumente wurden tausendfach vorgebracht und von Joseph geflissentlich ignoriert. Da ist es doch kein Wunder, wenn mittlerweile fast nur noch sarkastische Bemerkungen zu seinem Projekt kommen. Marc schrieb: > Die Leute hier, die das Joseph Mobbing betreiben, verachte ich zutiefst. Das ist nicht Mobbing, das ist Selbstschutz.
Anonymous User schrieb: > Das ist nicht Gleichmut. Joseph ist nur merkbefreit. > (https://de.wikipedia.org/wiki/Merkbefreiung) Das ist kein "zivilisiert vorgetragenenes Gegenargument" sondern eine Beleidigung insbes. Schmähkritik: https://de.wikipedia.org/wiki/Beleidigung_%28Deutschland%29#Wahrnehmung_berechtigter_Interessen da eine inhaltliche Auseinandersetzung komplett fehlt. > Sein Projekt ist ist in etwa mit einem Auto mit viereckigen Rädern > vergleichbar. Mit Gewalt fährt es, aber kein Mensch würde es so > konstruieren oder könnte etwas damit anfangen. Joseph ist ein mensch und zum Studieren von alternativen Implementierungen und Architekturvarianten ist sowas immer gut. Ausserdem wurde es mehrfach von weiteren Forumslesern auf ihren Boards adaptiert. > Marc schrieb: >> Wenn es >> qualifizierte Gegenargumente für die ein oder andere Idee gibt, können >> diese zivilisiert vorgebracht werden. > > Hast du den Thread mal von Anfang an durchgelesen? Gegenargumente wurden > tausendfach vorgebracht und von Joseph geflissentlich ignoriert. Da ist > es doch kein Wunder, wenn mittlerweile fast nur noch sarkastische > Bemerkungen zu seinem Projekt kommen. Jeder hat das Recht sein Projekt so zu realisieren wie er es für nötig hält. Die Sourcen sind frei zugänglich, wer dazu in der Lage ist kann sie nach seinem Wünschen anpassen. Es gibt leute die heute noch mit Röhren basteln oder 8bit Computer aufbauen und meinetwegen auch viereckige Räder. Warum nicht?! Wenn Du damit nicht klar kommst sucht Dir doch ein Projekt nach deinen Regeln. > Marc schrieb: >> Die Leute hier, die das Joseph Mobbing betreiben, verachte ich zutiefst. > > Das ist nicht Mobbing, das ist Selbstschutz. Ich teile Marc's Auffassung, das was hier den Thread beherrscht ist Mobbing. Wer sich dabei auf "Selbstschutz" beruft ist m.E. ein A*h. MfG, PS: Falk B. schrieb: > Naja, Josefs Werk ist dem Dadaismus näher als der Boolschen Algebra . . > . ;-) Oder mit anderen Worten: Auch dieses Werk ist Kunst.
Fpga K. schrieb: > Das ist kein "zivilisiert vorgetragenenes Gegenargument" sondern eine > Beleidigung insbes. Schmähkritik: Seit Böhmermann scheint es wohl Mode zu werden bei jeder Kleinigkeit gleich "Beleidigung" zu schreien und nach dem Staatsanwalt zu rufen. Fpga K. schrieb: > Oder mit anderen Worten: Auch dieses Werk ist Kunst. Da gebe ich dir sogar Recht. Kunst existiert um ihrer selbst willen; sie muss keinen Zweck erfüllen. Nur sieht Josehp sein Projekt nicht als Kunst, sondern als Lösung aller jemals existierenden Computerprobleme. Seine Lösung ist die einzig Wahre und es ist ihm völlig unverständlich, warum seine Lösung von allen verkannt wird. So kommt es zumindest bei mir und scheinbar auch bei vielen anderen rüber. Es ist ein bisschen so wie bei dem Mann auf der Autobahn: Als es im Radio hört das ein Geisterfahrer unterwegs ist schaut er nur verwundert aus dem Fenster und sagt: "Einer? Hunderte?". Darum: Josephs Projekt als Kunst? Gerne. Als alles andere: Nein, danke.
------------------- Die Frage überrascht mich sehr. Hast du tatsächlich Software für die CPU geschrieben? Oder ist die Frage doch nur theoretisch gemeint im Sinne von "Mal angenommen, es hätte jemand bereits Software geschrieben ..."? ------------------- Was soll denn diese scheiß Antwort auf eine vernünftige Frage? Ich glaube du hast nicht mehr alle Drähte in deinem Kopf am richtigen Platz. Kannst du nicht vernünftig die Frage beantworten? Blöder Schuljunge. Man...man..
Mark B. schrieb: > Wenn freilich die kritischen Argumente vollkommen ignoriert werden, Wo sind die sachlichen kritischen Argumente, welche ich ignoriert habe? Kannst du mal ein solches zitieren?
Joe G. schrieb: > Was für eine wundervolle Welt muss das sein! Nun, der Punkt mit den Standards ist ja der, dass sich Vieles im Laufe der Zeit durch try and error als Machbar oder Nichtmachbar herausgestellt hat und damit die Methoden und Bezeichnungen eine gewisse Evolution durchlaufen haben. Und vieles ist eben ausgereift und kann nicht mehr weiter verbessert werden. Und wenn man 8bit computing machen will, sollte man die Standards so anwenden, wie sie in den 80ern galten. Das betrifft Zeichensätzen, farben und auch Bezeichner. Ob die Prozessorregister jetzt Sondernamen haben oder nicht, sollte aber nicht der Punkt sein. Prozessoren heissen ja auch Skylake und so ...
Josef G. schrieb: > Mark B. schrieb: >> Wenn freilich die kritischen Argumente vollkommen ignoriert werden, > > Wo sind die sachlichen kritischen Argumente, welche > ich ignoriert habe? Kannst du mal ein solches zitieren? Zum Beispiel wurden sowohl Dein C-Code als auch die Qualität Deiner Dokumentation kritisiert. Es sieht für mich so aus, als ob Du beides nicht zum Anlass genommen hast, entsprechende Verbesserungen in den Quelltexten bzw. in der Dokumentation durchzuführen.
Josef G. schrieb: > Wo sind die sachlichen kritischen Argumente, welche > ich ignoriert habe? Kannst du mal ein solches zitieren? Du bist zwar auf die allermeisten dieser kritischen Argumente eingegangen und hast Dich jeweils für Deine Architekturentscheidungen rechtfertigt. Immerhin hast Du eingeräumt, eine mögliche Interruptbehandlung nicht bedacht zu haben. Aus meinem Einwand gegen die die Bankumschaltung führst Du zu kleine Adressräume anderer Prozessoren an. Statt jedoch den korrekten Schluss daraus zu ziehen, den Adressraum Deines Prozessors hinreichend groß zu wählen, denkst Du Dir: "Wenn schon falsch, dann aber gleich richtig falsch!" Auf die wirklich ganz großen Kritikpunkte, die hier von mehreren Diskussionsteilnehmer eingebracht wurden, bist Du bislang jedoch in keiner Weise eingegangen, die der Eindruck erweckt, dass Du sie irgendwie beherzigen würdest. Eigentlich wäre doch jetzt der richtige Zeitpunkt gekommen, an dem Du Deine Erfahrungen in Sachen Prozessorentwurf, die hier aufgeführten Kritiken und Anmerkungen sowie den aktuellen Stand der Technik zusammenführen und noch einmal ganz von vorne einen neuen Prozessor entwerfen könntest. Und zwar ohne auch nur eine einzige Zeile des alten Entwurfs wiederverwenden zu wollen. In solche Überlegungen sollte natürlich nicht nur der Prozessorkern einfließen, sondern auch noch das "Ökosystem" rund um den Prozessor, d.h. Peripherie und vor allem auch die Softwareumgebungen auf Host und Zielsystem. Schaue Dir ggf. auch fremde Simulationsumgebungen für Prozessorarchitekturen und deren Umsetzungen an.
:
Bearbeitet durch User
Mark B. schrieb: > Zum Beispiel wurden sowohl Dein C-Code Nein. Wo? > als auch die Qualität Deiner Dokumentation kritisiert. Ist richtig. Ich bin aber sehr wohl darauf eingegangen. Beitrag "Re: 8bit-Computing mit FPGA" Siehe auch den folgenden Beitrag von A.K. Demnach ist das Problem offensichtlich nicht die Dokumentation, sondern die fehlende Bereitschaft anderer, sie zu lesen.
Josef G. schrieb: > Demnach ist das Problem offensichtlich nicht die Dokumentation, > sondern die fehlende Bereitschaft anderer, sie zu lesen. Deine Dokumentation ist so schlecht (=ungeeignet für Dritte), dass sich kaum jemand die Mühe macht, sie zu lesen. Das ist etwas komplett anderes als mangelnde Bereitschaft. Du antwortest in der Tat auf Kritik, gehst aber nicht auf sie ein.
Josef G. schrieb: > Demnach ist das Problem offensichtlich nicht die Dokumentation, > sondern die fehlende Bereitschaft anderer, sie zu lesen. Der Wurm muss eben dem Fisch schmecken, nicht dem Angler. ;-)
Josef G. schrieb: > Mark B. schrieb: >> Zum Beispiel wurden sowohl Dein C-Code > > Nein. Wo? Zum Beispiel hier: Beitrag "Re: 8bit-Computing mit FPGA" >> als auch die Qualität Deiner Dokumentation kritisiert. > > Ist richtig. Ich bin aber sehr wohl darauf eingegangen. > Beitrag "Re: 8bit-Computing mit FPGA" > Siehe auch den folgenden Beitrag von A.K. > Demnach ist das Problem offensichtlich nicht die Dokumentation, > sondern die fehlende Bereitschaft anderer, sie zu lesen. Dokumentation ist dann gut, wenn die Kunden sie verstehen und gut finden.
Josef G. schrieb: > Positive Eigenschaften der historischen 8bit-Heimcomputer sind: > Man kann sie auch ohne langes Studium vollständig verstehen. Kann man das wirklich? Mal ne Hauptplatine eines VC 20 aufgemacht? Verstanden wurde da nur die oberflächliche Funktion. So wie heute bei den Smartphones.
{quote} Kann man das wirklich? Mal ne Hauptplatine eines VC 20 aufgemacht? Verstanden wurde da nur die oberflächliche Funktion. So wie heute bei den Smartphones. {quote} Das habe ich mich auch schon oft gefragt... ich denke das ist eine Frage der Verständnis- bzw. Betrachtungsebene. Die Architektur vom VC 20 ist schon einfacher als von einem moderneren Gerät - weniger Bau- / Funktionsgruppen (beim Smartphone sind die Funktionsgruppen auf dem SoC, während beim VC 20 noch diskrete ICs auf der Platine sind). Der Schaltplan vom VC 20 ist ja auch im Netz zu finden, und nicht übermäßig komplex. Auf dieser (groben) Ebene also schon irgendwie "qualitativ" verständlich, und wahrscheinlich einfacher als ein Smartphone. Ich stimme zu, dass selbst beim VC 20 die komplexeren Chips (6502, VIC, ...) nur funktional, also ihr IO- und Timing-Verhalten, verständlich sind. Aber will man denn heutzutage - oder selbst damals ? - Chips auf detailierteren Ebenen noch verstehen müssen? Abstraktion ist schon erforderlich - irgendwie muss man die Komplexität ja auch beherrschen. Hardwarebeschreibungssprachen und Simulationen sind heutzutage wohl unerlässlich - anders damals, als die Layouts von Chips noch mit Buntstiften auf Papier gemalt wurden, und der Designer die Funktion jedes Transistors verstehen musste. Das skaliert natürlich nicht. Zumindest scheint es so zu sein, dass es wesentlich mehr Hobbybastler gibt, die sich ihren eigenen 8bitter bauen, als Smartphone-Bastler ;-) https://hackaday.io/list/2402-homebrew-computers TTL- und Transistor-Computer gibt's da auch, aber nicht so viele. Das scheint schon auch irgendwie dafür zu sprechen, das 8bitter "einfacher" sind. Ich schwärme immer noch für den NDR-Klein-Computer und die Fernsehsendungen damals... Homebrew Computing pur! Letztlich es es von diesem hervorragenden Klassiker / Buch von Steve Ciarcia "Build Your Own Z80 Computer" zu Systemen wie dem NDR-Klein-Computer aber auch kein soo großer Schritt mehr. Nun, bin kein Hardware-Experte... just my two cents :-) @ Josef - vielleicht ist https://hackaday.io/ ja auch eine gute Community, um Dein System zu präsentieren?
1965er schrieb: > Josef G. schrieb: >> Positive Eigenschaften der historischen 8bit-Heimcomputer sind: >> Man kann sie auch ohne langes Studium vollständig verstehen. > > Kann man das wirklich? Mal ne Hauptplatine eines VC 20 aufgemacht? > Verstanden wurde da nur die oberflächliche Funktion. So wie heute bei > den Smartphones. Klar, Homecomputer sind kein Hexenwerk, siehe Retrocomputing auf FPGA. MfG,
Hallo Josef, könntest Du zum einfacheren Verständnis für mich hier ein kleines Programm in Assembler posten? Es soll die Ziffern von 0 bis 9 auf dem Bildschirm ausgeben.
Marc schrieb: > könntest Du zum einfacheren Verständnis Mach ich. Wird aber 1 oder 2 Tage dauern, bin zur Zeit anderweitig beschäftigt.
Die definitiv(?) letzte Version ...
1 | +0 +1 +2 +3 +4 +5 +6 +7 |
2 | |
3 | 00- H.. ST.S SS.X ST.X SS.Y ST.Y SS.Z ST.Z |
4 | 08- IX0 IX1 IX2 IX3 IX4 IX5 IX6 IX7 |
5 | 10- IY0 IY1 IY2 IY3 IY4 IY5 IY6 IY7 |
6 | 18- IZ0 IZ1 IZ2 IZ3 IZ4 IZ5 IZ6 IZ7 |
7 | 20- ZO.S SL.S ZO.X SL.X ZO.Y SL.Y ZO.Z SL.Z |
8 | 28- DX0 DX1 DX2 DX3 DX4 DX5 DX6 DX7 |
9 | 30- DY0 DY1 DY2 DY3 DY4 DY5 DY6 DY7 |
10 | 38- DZ0 DZ1 DZ2 DZ3 DZ4 DZ5 DZ6 DZ7 |
11 | |
12 | 40- O.VZ O.VS B.VZ B.VS O.UZ O.US B.UZ B.US |
13 | 48- O.AZ O.AS B.AZ B.AS O.KZ O.KS B.KZ B.KS |
14 | 50- O.WY O.RP B.WY B.CN GTR ADR GTA NON |
15 | 58- IKL DKL IXL DXL IYL DYL IZL DZL |
16 | 60- AD. LV. AV. SV. GT. AN. XR. NR. |
17 | 68- STMX LVMX AVMX SVMX GTMX ANMX XRMX NRMX |
18 | 70- STMY LVMY AVMY SVMY GTMY ANMY XRMY NRMY |
19 | 78- STMZ LVMZ AVMZ SVMZ GTMZ ANMZ XRMZ NRMZ |
20 | |
21 | 80- ST.B LV.B AV.B SV.B GT.B AN.B XR.B NR.B |
22 | 88- SL.K TA1 TA2 TA3 TA4 TA5 TA6 TA7 |
23 | 90- NO1 TK1 TK2 TK3 TK4 TK5 TK6 TK7 |
24 | 98- TK8 TK9 TKa TKb TKc TKd TKe TKf |
25 | a0- EX.S LV.S AV.S SV.S GT.S LD.S AD.S SD.S |
26 | a8- EX.X ES.X SW.X RS.X GT.X LD.X AD.X SD.X |
27 | b0- EX.Y ES.Y SW.Y RS.Y GT.Y LD.Y AD.Y SD.Y |
28 | b8- EX.Z ES.Z SW.Z RS.Z GT.Z LD.Z AD.Z SD.Z |
29 | |
30 | c0- R.VZ R.VS R.UZ R.US R.AZ R.AS R.KZ R.KS |
31 | c8- R.WY R.CN R.IX R.DX R.IY R.DY R.IZ R.DZ |
32 | d0- GH.S GL.S GH.X GL.X GH.Y GL.Y GH.Z GL.Z |
33 | d8- IC.S DC.S IXE DXE IYE DYE IZE DZE |
34 | e0- PV.B TZ.B PV.A TZ.A SE.U NE.U ZO.U CP.V |
35 | e8- RD.B RU.B RD.A RU.A SE.V NE.V ZO.V CR.V |
36 | f0- ZO.B NE.B ZO.A NE.A IV.A DV.A NO2 S.RP |
37 | f8- IC.K DC.K ZO.K NE.K IC.A DC.A GT.Q J.. |
Das Programm zur Ausgabe der Ziffern 0 bis 9
1 | - START \ #### |
2 | - MARKE - - |
3 | START /UA 0000 |
4 | = /UR 0000 |
5 | = GT.S bereite X für Rücksprung ins Betriebs- |
6 | = TK1 system vor: positioniere X hinter die |
7 | = AD.X Parameter, falls solche übergeben wurden |
8 | = ST.X ... |
9 | = SW.Y schalte Y auf Speicherseite 1 |
10 | = GTA ec rufe Routine Linefeed auf |
11 | = /.J. ... |
12 | = /GTA 8fc0 setze Y auf Start der Zeile 3f |
13 | = ST.Y ... |
14 | = GT. 09 initialisiere Schleifenzähler |
15 | = SL.S ... |
16 | = GT. 60 lade Akku mit Ziffer Null |
17 | MARKE IY1 Schleifenstart; erhöhe Y |
18 | = STMY speichere Zeichen |
19 | = IC.A inkrementiere Zeichen |
20 | = B.CN MARKE Rückwärtssprung mit Zählvorgang |
21 | = SW.Y schalte Y zurück auf RAM1 |
22 | = ZO.Z bereite Z für Rückkehr vor |
23 | = GT.Z Sprung zur Rückkehrschnittstelle |
24 | = /.J. ... |
Die Routine ist als EXE-Routine geschrieben, welche aus der Kommandozeile oder aus einem Programm aufgerufen werden kann. Die beiden 2-Byte-Werte 0000 am Anfang bedeuten, dass die EXE- Routine keine angehängte Data-Box und keine Initialisierungs- Routine enthält. Übergebene Parameter werden ignoriert.
Danke. Das sieht übersichtlich aus, nur die Befehle sind etwas ungewohnt. Die Prozessorstruktur wird langsam klarer. Wenn ich es richtig sehe, gibt es folgende Register A: Akku, 8 bit B: ? 8 bit X,Y,Z: Index Register für Adressierung, alle 16 bit
Marc schrieb: > nur die Befehle sind etwas ungewohnt.
1 | /GTA 8fc0 und /.J. sind Makros und stehen für |
2 | |
3 | GTA c0 H.. |
4 | AD. 8f J.. |
Josef G. schrieb: > beric schrieb: >> Warum dann nicht einfach "AD_X" oder "J__" ... > > Der auf der Grundlinie liegende Bindestrich ist kein Unterstrich. > Dieses Zeichen habe ich in meinem Zeichensatz neu eingeführt. > > Den Unterstrich als Bindestrich zu verwenden finde ich hässlich, > ausserdem hat es den Nachteil, dass man Strings, in welchen der > Unterstrich als Bindestrich verwendet wird, nicht ohne > Informationsverlust unterstreichen kann. Passend hierzu habe ich heute folgendes gefunden, ist interessant auch wegen des Autors: Beitrag "Re: "Guter Programmierstil" VHDL" > ich kann Unterstriche im Quelltext nicht ausstehen.
Marc schrieb: > Wenn ich es richtig sehe, gibt es folgende Register > > A: Akku, 8 bit > B: ? 8 bit > > X,Y,Z: Index Register für Adressierung, alle 16 bit Ein Zähl- bzw. Schleifenregister (S? SL?) unbekannter Bitbreite gibt es auch noch: Josef G. schrieb: > = GT. 09 initialisiere Schleifenzähler > = SL.S ... Jens
Jens schrieb: > Ein Zähl- bzw. Schleifenregister (S? SL?) unbekannter Bitbreite ... > > Josef G. schrieb: >> = GT. 09 initialisiere Schleifenzähler >> = SL.S ... Der Schleifenzähler S ist 16 bit breit.
1 | GT. 09 lädt den Wert 09 in den Akku |
2 | SL.S speichert den Akku im LowByte von S, |
3 | das HighByte von S wird Null. |
Die Breite des Schleifenzählers ergibt sich aus der Pseudo-Grafik auf der Seite CPU-doku meiner Website oder im Artikel zur CPU:
1 | P Q R S X Y Z K V Bezeichnung: A7 = U |
2 | | | | | | | | |A AB = K |
3 | | | | | | | | |B |
SL.S ist weiter unten auf der Seite erklärt:
1 | $ stehe für S|X|Y|Z |
2 | |
3 | SL.$ $ LowByte erhält A , $ HighByte wird 0 |
:
Bearbeitet durch User
DA DA DA DA DA DA DA DA DA Ich versteh dich nicht, du verstehst es nicht, aha Ich versteh dich nicht, du verstehst es nicht, aha Ich versteh dich nicht, du verstehst es nicht, aha Ich versteh dich nicht, du verstehst es nicht, aha DA DA DA DA DA DA DA DA DA
>Der Schleifenzähler S ist 16 bit breit.
Also erweitere ich die Registerübersicht um den 16 bit Schleifenzähler:
1 | A: Akku, 8 bit |
2 | B: ? 8 bit |
3 | |
4 | S: Schleifenzähler 16 bit |
5 | |
6 | X,Y,Z: Index Register für Adressierung, alle 16 bit |
>DA DA DA >Ich versteh dich nicht Das ist im akademischen Bereich und in der Kunst oft auch so. Da Verständnis aber immer auch was mit dem eigenen Wissen und der Aufnahmefähigkeit zu tun hat, ist es besser zu schweigen, sonst kann leicht die eigene Dummheit offenbar werden.
>...und in der Kunst oft auch so. >.. ist es besser zu schweigen, sonst kann leicht die eigene Dummheit offenbar werden. Wenn Du schon diesen Vergleich ziehst: https://youtu.be/RAx0P-8n5K4
Josef G. schrieb: > Die Breite des Schleifenzählers ergibt sich aus der Pseudo-Grafik > auf der Seite CPU-doku meiner Website oder im Artikel zur CPU: > P Q R S X Y Z K V Bezeichnung: A7 = U > | | | | | | | |A AB = K > | | | | | | | |B Naja, sehr übersichtlich ist das ja nicht und in der Pseudografik über diesen Zeilen kann ich gar nicht auf eine Breite schliessen. Anhand von was denn, von acht "|"? > > SL.S ist weiter unten auf der Seite erklärt: > $ stehe für S|X|Y|Z > > SL.$ $ LowByte erhält A , $ HighByte wird 0 Auch wenn Low- und High-Byte zu einem 16bit Wert passt, ist das nicht so ganz offensichtlich, dass es sich auch um einn solchen handelt. Und zu finden ist das schonmal gar nicht, wenn man nicht weiss, nach was man sucht.
Nils S. schrieb: > in der Pseudografik über diesen Zeilen kann > ich gar nicht auf eine Breite schliessen. Jedenfalls erkennt man, dass P, Q, R, S, X, Y, Z, K gleich breit sind. Jedes | soll 1 Byte symbolisieren. Das steht zwar nicht explizit da, sollte aber auch klar sein, weil einer der Striche mit A bezeichnet ist. Und weiter unten werden die Adressleitungen mit a0 .. af bezeichnet, daraus ergibt sich die Breite der Adressregister.
In jedem brauchbaren Manual steht das dann ungefähr so: Register: A - Akku (8bit) X, Y - .... SP - Stack Pointer (16bit) ...
Entschuldigt meine dumme Frage, aber ist das hier Satire wie der Crypto Chef, der CPU Chef sozusagen, oder ist das mit der CPU ernstgemeint? Drei Jahre so eine Satire durchzuziehen ist schon ziemlich gut.
... schrieb: > ist das hier Satire wie der Crypto Chef Die Website vom Kryptochef gibt es leider nicht mehr. Allein schon für die Wortschöpfung "Vollbitverschlüsselung" habe ich sie geliebt ;-)
Das war das Stichwort ... Zum Verstehen dieser CPU benötigt man unbedingt einen Vollbitschlüssel ;-))
... schrieb: > Drei Jahre so eine Satire durchzuziehen ist schon ziemlich gut. Bei Kurt sind es schon weit mehr als 3 Jahre und die Frage steht immer noch im Raum.
Mark B. schrieb: > ... schrieb: >> ist das hier Satire wie der Crypto Chef > > Die Website vom Kryptochef gibt es leider nicht mehr. Allein schon für > die Wortschöpfung "Vollbitverschlüsselung" habe ich sie geliebt ;-) Im Cache schon: https://web.archive.org/web/20140517202802/http://kryptochef.net/
Wegen der weiten Verbreitung des DE0-nano habe ich den Rechner nun auch auf diesem Board realisiert. Vielleicht entschließt sich ja doch einer der vielen Besitzer des Boards, die Konfiguration darauf zu testen. Die VGA-Schnittstelle besteht aus einer Sub-D-Buchse und 5 Widerständen, die übrige fehlende Peripherie habe ich mit Pmod-Modulen von Digilent realisiert. Zur Entlastung des USB-Anschlusses habe ich ein 5.4V-Netzgerät am 2-Pin-Verbinder angeschlossen. Zur Problematik der Stromversorgung beim DE0-nano siehe auch Beitrag "De0 nano - Frage zur Stromversorgung" PS: Ich meine, mal im Forum gelesen zu haben, dass bei hochgeladenen Fotos mit zu hohem Speicherbedarf automatisch der Speicherbedarf verringert wird, und muss darauf hoffen, weil mir auf meinem Rechner die Verringerung des Speicherbedarfs nicht gelungen ist. http://www.bomerenzprojekt.de/Website/Hawa.html
Falls jemand über eine Realisierung auf seinem DE0-nano nachdenkt, aber den Aufwand scheut: Es geht auch ohne die 7-Segment-Anzeigen.
Hallo Josef, ich bin immer wieder erschrocken darüber, wie sehr Du durchaus fundamentale Kritik an Deinem derzeitigen Prozessor/System ignorierst und munter auf dem toten Pferd weiterreitest. Die Tatsache, dass sich kürzlich ein paar Diskutanden inhaltlich mit dem Befehlssatz Deines Prozessors und den Notationen Deiner Assemblersprache befasst haben, bedeutet noch lange nicht, dass nun der Zeitpunkt für den Durchbruch gekommen ist. Leider bist Du bisher auch nicht auf meinen vor einiger Zeit eingebrachten Beitrag eingegangen: Andreas S. schrieb: > Eigentlich wäre doch jetzt der richtige Zeitpunkt gekommen, an dem Du > Deine Erfahrungen in Sachen Prozessorentwurf, die hier aufgeführten > Kritiken und Anmerkungen sowie den aktuellen Stand der Technik > zusammenführen und noch einmal ganz von vorne einen neuen Prozessor > entwerfen könntest. Und zwar ohne auch nur eine einzige Zeile des alten > Entwurfs wiederverwenden zu wollen. > > In solche Überlegungen sollte natürlich nicht nur der Prozessorkern > einfließen, sondern auch noch das "Ökosystem" rund um den Prozessor, > d.h. Peripherie und vor allem auch die Softwareumgebungen auf Host und > Zielsystem. Schaue Dir ggf. auch fremde Simulationsumgebungen für > Prozessorarchitekturen und deren Umsetzungen an. Und zu Deiner aktuellen Nachricht: Nein, es wird kaum jemanden geben, der wirklich den Einsatz Deines Prozessors auf dem DE0-nano ernsthaft in Erwägungg ziehen wird. Vielleicht mag es noch ein oder zwei Leute geben, die einen kurzen Funktionstest durchführen, um zu überprüfen, ob Dein System wirklich funktioniert. Mehr aber auch nicht.
:
Bearbeitet durch User
Andreas S. schrieb: > Aus meinem Einwand gegen die die Bankumschaltung führst Du zu kleine > Adressräume anderer Prozessoren an. Statt jedoch den korrekten Schluss > daraus zu ziehen, den Adressraum Deines Prozessors hinreichend groß zu Bei Adressen mit 24 oder 32 Bit wird der Vorteil des linearen Adressraums erkauft durch den Nachteil des größeren Platzbedarfs und langsameren Ladens einer Adresse, jedenfalls bei einer 8bit-CPU. Deshalb glaube ich, dass meine CPU mit ihrer Seitenumschaltung eine Chance hat, ihre ökologische Nische zu finden, auch und gerade deshalb, weil die anderen es anders machen. > Auf die wirklich ganz großen Kritikpunkte, die hier von mehreren > Diskussionsteilnehmer eingebracht wurden, bist Du bislang jedoch in > keiner Weise eingegangen, die der Eindruck erweckt, dass Du sie Welche sachlichen Kritikpunkte meinst du? Mir fallen keine ein.
@ Andreas Schweigstill (Firma: Schweigstill IT) (schweigstill) >ich bin immer wieder erschrocken darüber, wie sehr Du durchaus >fundamentale Kritik an Deinem derzeitigen Prozessor/System ignorierst >und munter auf dem toten Pferd weiterreitest. Immer noch nicht verstanden, was mit Josef los ist? Beitrag "Re: 8bit-Computing mit FPGA" https://de.wikipedia.org/wiki/Autismus
Josef G. schrieb: > weil mir auf meinem Rechner die > Verringerung des Speicherbedarfs nicht gelungen ist. Du kannst ein ganzes Rechnersystem entwerfen, aber verzweifelst vor einer simplen Bildverkleinerung? Ich fürchte, Falk hat Recht mit dem Autismus...
AnonymousUser schrieb: > Ich fürchte, Falk hat Recht mit dem > Autismus... Langsam wirds echt übel hier im Thema. Aber wenigstens schreibt er sowas nicht Anonym.
A. K. schrieb: > Das fängt ganz wesentlich mit der optischen Gestaltung an. Ob dir das > gefällt oder nicht, das ist ein Aspekt unter dem ein Leser sich der > Sache nähert. Die letzte mit Schreibmaschine gesetzte Da einige Leute offenbar Probleme damit haben, Text in Festbreiten- Schrift zu lesen, habe ich den Artikel zum Projekt neu formatiert. http://www.mikrocontroller.net/articles/8bit-Computer:_bo8h
Habe die Implementierung von Conway's Game of Life überarbeitet. Bisher konnte man nur eines von 8 fest vorgegebenen Startbildern auswählen. Jetzt wird eines dieser Startbilder aus Textseite E importiert, man kann es also vorher dort selber erstellen. Die ersten 64 Zeilen zu je 64 Zeichen ergeben das Startbild mit 64*64 Zellen, jedes nichtleere Zeichen ergibt eine aktive Zelle. Die Bilder oben sind mit dem Emulationsprogramm erstellt und zeigen die periodischen Objekte Tümmler und Pulsator. Auf dem realen Gerät dauert jede Iteration wie bisher 0.27 Sekunden.
Josef G. schrieb: > Habe die Implementierung von Conway's Game of Life überarbeitet. Wo kann ich mir denn den Sourcecode dazu ansehen?
Le X. schrieb: > Wo kann ich mir denn den Sourcecode dazu ansehen? Den habe ich nur handschriftlich auf Papier. Der fertige Code steht in der Datei teca im Bereich 39c0 .. 405f. Bin immer wieder mal am Überlegen, einen auf PC laufenden Zeilen-Disassembler zu schreiben, hab es aber bisher nie ernsthaft in Angriff genommen. Aber vielleicht nimmt sich ja jemand anderer der Sache an ...
Josef G. schrieb: > Bin immer wieder mal am Überlegen, einen auf PC laufenden > Zeilen-Disassembler zu schreiben, Denk' mal besser über einen Zeilen-Assembler nach.
Eddy C. schrieb: > Denk' mal besser über einen Zeilen-Assembler nach. Einen Assembler gibt es schon, sogar einen "richtigen" mit Labels, sowohl auf dem Zielsystem als auch auf PC. Habe ihn aber selber bisher nicht verwendet, da mir die Tipp-Arbeit zu aufwendig ist.
Daher und um Deinen Quelltext nicht vom Zettel in den Rechner übertragen zu müssen, denkst Du lieber über einen Disassembler nach? Jo, das kann man so machen...
Die am Code Interessierten sollen sich ja auch den Binär-Blob bei $BLABLUBB ansehen und die Opcodes anhand der Tabelle nachschlagen, die, wie ich mich irgedwie schwach errinnern kann, aus der Opcode-Beschreibung vom Leser on the fly zu Erzeugen ist.
Verstehe, Stichwort "sprechender Opcode", womit sich ein Assembler sowieso erübrigt.
Eddy C. schrieb: > Stichwort "sprechender Opcode" Was? Die Kiste kann Text-To-Speech? Ich bin sprachlos!
Josef G. schrieb: > Le X. schrieb: >> Wo kann ich mir denn den Sourcecode dazu ansehen? > > Den habe ich nur handschriftlich auf Papier. Der fertige > Code steht in der Datei teca im Bereich 39c0 .. 405f. > > Bin immer wieder mal am Überlegen, einen auf PC laufenden > Zeilen-Disassembler zu schreiben, hab es aber bisher nie > ernsthaft in Angriff genommen. Aber vielleicht nimmt sich > ja jemand anderer der Sache an ... Habe jetzt einen Disassembler geschrieben und damit ein Listing meiner GOL-Implementierung erzeugt. Die GOL-Implementierung habe ich nochmal überarbeitet. Die fest vorgegebenen Startbilder gibt es nun nicht mehr. Man kann die Größe des Spielfelds 64*64 oder 128*128 wählen, das Startbild der Größe 64*64 wird in beiden Fällen aus der Seite E des Text-RAM importiert, bei 128*128-Auflösung in die Mitte des Spielfelds. ------------- Den Assembler habe ich überarbeitet. In den Variablen- vereinbarungs-Zeilen ist das links stehende - weggefallen, in den Code-Zeilen ist bei Zeilen ohne Setzen eines Labels das links stehende = weggefallen, stattdessen setzt man jetzt die Labels in der Form =NAME. Damit ist weniger Tipparbeit erforderlich. Aufrufe von Labels oder anderen Variablen schreibt man jetzt in der Form NAME+n, den Offset +0 kann man weglassen. Siehe Beschreibung des Kommandos =MASS auf der Seite SYS-doku meiner Website.
Michael schrieb im Beitrag #4678264: > Zum Lebensende wirst Du Dir bei wachem Verstande eingestehen müssen: > Hätte ich meine Zeit und meine Fähigkeiten nur sinnvoller verwendet! Wenn Josef das Projekt Spaß bereitet, soll er es doch so weiterführen wie er möchte. Wie viele andere Hobbys werden hinterlassen auch keine für Dritte verwertbaren Dinge, sondern sind sehr vergänglich. > Immerhin: Du unterhälst die Leute mit soviel Schmalspursicht. Das einzige, was man Josef vielleicht noch verwerfen kann, ist die mangelnde Einsicht, dass sein Prozessor für Dritte nicht allzu interessant ist und dass er sehr viele Ratschläge einfach ignoriert. Aber die Welt wird nicht untergehen, wenn irgendwann der Prozessor wieder verschwinden wird. Ebenso gehen auch sehr viele Briefmarkensammlungen, Bierdeckelsammlungen, Malereien, Topflappenstickereien, usw. irgendwann in der Versenkung unter, auch wenn da jeweils sehr viel Zeit und Herzblut hineingeflossen ist.
Michael schrieb im Beitrag #4678330: > Es ist aber ein schönes Studienbeispiel was herauskommt, wenn die Freude > am (komplizierten) technischen Funktionieren jede Nutzwertüberlegung > dominiert. Naja, andersrum killt jede Nutzwertüberlegung die Enthusiasmus fürs Hobby. Dann wird jeder Rat teuer. Warum soltel man seine Zeit ins Beantworten von Fragen und schreiben von Wiki-Artikel investieren, wenn's keinen verwertbaren Nutzen hat?! Obendrein wird man noch als verbohrter Spinner, der nur Unsinn redet beschimpft.
Fpga K. schrieb: > Susi schrieb: >> T. W. schrieb: >> Ob der Josef mit dieser Einordnung einverstanden ist? > > Na jedenfalls ist "Susi" mit dem ersten Teil der Einordnung: > > T. W. schrieb: >> Insbesondere auch deshalb, weil die meisten anderen hier weder ähnliches >> anzubieten haben noch bereit sind, es auszustellen. > > in der richtige Schublade gelandet. Ich glaube, ich wurde hier ein wenig misverstanden. Ich habe dieses Projekt in keinster Weise abwerten wollen. Man muss es nur sehen, als das, was es ist: Eines von vielen Hobbyprojekten, ohne industriellen Nutzen, das aber eine sehr schöne Freizeitgestaltung darstellt, sowie eine Möglichkeit, was zu lernen. Man hätte es auch mit FPGA-Arcade-Plattformen vergleichen können.
Habe die Software der Test-Steckkarte überarbeitet und die Realisierung von Arrays verbessert. Das Programm zeigt die Realisierung eines 2-dimensionalen Arrays aus 4-Byte-Integer-Variablen. Der erste Index läuft von 0 bis f, der zweite Index läuft von 0 bis 7. Das Array ist somit eine Databox mit Länge-1 = 01ff. Aus den beiden Indizes INX und INY wird die Position IXY in der Databox errechnet gemäß IXY = (INX*8+INY)*4. Dies geschieht durch die Mikrooperationen oLDX /07 INX und oADX /03 INY oSTO /c0 ARR speichert den vorher eingelesenen 4-Byte-Wert von VAR in der Databox ARR ab Position IXY. Bei Bereichsüberschreitung erfolgt eine Fehlermeldung. Die obersten 2 Bit der Konstanten /c0 bestimmen die Anzahl der Bytes. Die Variable IXY wird für die Operation nicht gebraucht, sie dient im Programm nur dazu, die Position auszugeben. Natürlich ist meine Notation nicht so kompakt wie die algebraische Notation ARR(INX,INY) = VAR. Vorteil meiner Notation: Die Dauer der Mikrooperationen ist bekannt, die Gesamtdauer lässt sich daraus sehr einfach berechnen. ------------------ Die Seite Testcard meiner Website habe ich überarbeitet, ich meine, sie ist jetzt verständlicher. Der Disassembler ist jetzt auf meiner Website verfügbar. Beschreibung auf der Seite Emul.
:
Bearbeitet durch User
Josef G. schrieb: > Vorteil meiner > Notation: Die Dauer der Mikrooperationen ist bekannt, die > Gesamtdauer lässt sich daraus sehr einfach berechnen. für welche 'heutige Anwendung' ist dieses Wissen relevant? Die Zeiten als man Delays durch abzählen von CPU-Takten und CPU-Frequenz berechnet hat, sind dank integrierter Hardware-Timer (die man auch im FPGA implementieren kann 'wink') vorbei. Gruß
ein Fan schrieb: > dank integrierter Hardware-Timer Davon versteh ich zwar nicht viel, aber ich meine, die Verwendung von Hardware-Timern hat auch Nachteile: Man muss sie initialisieren, und eine ungefähre Abschätzung der Zahl der CPU-Zyklen ist trotzdem erforderlich.
Josef G. schrieb: > die Verwendung von Hardware-Timern hat auch Nachteile: > > Man muss sie initialisieren, und eine ungefähre Abschätzung > der Zahl der CPU-Zyklen ist trotzdem erforderlich. Unbelehrbar.... Ich laufe lieber, weil mein Auto muss gestartet werden und dem Fahrer muss ich sagen, wo ich hin will...
Josef G. schrieb: > Man muss sie initialisieren, und eine ungefähre Abschätzung > der Zahl der CPU-Zyklen ist trotzdem erforderlich. Ja, so ganz ohne Nachdenken kommt man tatsächlich nicht aus ;-) Das Zählen von Zyklen ist aber auch nur bei Programmen geringer Komplexität handhabbar. Trotzdem gibt es Bereiche, wo Programme mit der Zahl Ihrer Ausführungszyklen getimt werden. Beispiele: - Software-UART Mal ehrlich: wer hat nicht mal unter Verzicht jeglicher Timer eine solche UART implementiert, einfach schon deshalb, weil keiner vorhanden oder man die Resourcen des Systems nicht anderweitig belasten wollte (z.B. in einem Monitor-Program für Debugging) - Anwendungen, wo es auf geringen Jitter ankommt, z.B. gepulste IR-Übertragung oder allgemein Modulatoren. Schlussendlich darf auch auf die gute alte Turbo-Taste in PCs aus dem letzten Jahrtausend hingewiesen werden: Die Ausführungsgeschwindigkeit vieler Spiele hing von der Computerleistung ab. Offensichtlich wurde hier keine Timer benutzt.
Eddy C. schrieb: > Offensichtlich wurde > hier keine Timer benutzt [ ] du weist wie ein Timer funktioinert [x] du weist nicht wie ein Timer funktioniert ein Timer (egal ob Hardware oder Software) hängt natürlich vom Prozessortakt ab. Die Turbo-Taste beeinflusst beide Versionen. Nur ein Hardware Timer wäre (einmal eingestellt) 1. nicht CPU blockierend 2. unabhängig von der Befehls Ausführungs-Geschwindigkeit (wenn ein Opcode Befehl durch Optimierung schneller wird, stimmt das zuvor berechnete Pausentiming nicht mehr) 3. per VHDL leicht parallel vervielfachbar Eine Software-UART in einem FPGA macht ja wohl gar keinen Sinn (außer für Lernzwecke)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.