Unterschiede Z80, 8051 und 6502/6510

On Wed, 3 Oct 2007 20:11:27 +0000 (UTC), snipped-for-privacy@atbode100.lrr.in.tum.de (Rainer Buchty) wrote in de.sci.electronics:

Neulich hörte ich in einem Vortrag über embedded processors das statement, daß ein ein-Pixel-großes Display schon ca. 800 Byte Speicher wegnehme. Ich habe sehr ungläubig geguckt, worauf die Vortragende, ansonsten eine sehr nette Bescheidwisserin, was von Overhead, Header-Info und blafasel sagte. Wir Grauhaarigen im Publikum wechselten schmunzelnde Blicke.

Gruß, U. (der auf seinem alten Wordstar 3.0 unter CPM genauso schnell tippen konnte wie auf den neueren Kisten. Allerdings kommt es mir so vor, daß die Tastaturscanner seit dem Übergang von Windows 3.11 auf Win98 merkwürdig geworden sind - Schlagartig nahmen damals Fheler wie eben dieser zu: Buchstabenvertasuchungen, die ich auf fürheren Systemen bei gleichen Fingern nicth so oft, ja, praktisch nie, gehabt habe. Hier mal absichtlich unkorrigiert gelassen. Oder seh ich da Gespenster?)

Reply to
Ulrich G. Kliegis
Loading thread data ...

On Wed, 03 Oct 2007 13:23:16 -0700, Joerg wrote in de.sci.electronics:

Fummel bloß nicht an der Zweitaktfrequenz rum!

Ääähnnngggg, ääääääännnnngggggggggggggg :)

U.

Reply to
Ulrich G. Kliegis

In article , Ulrich G. Kliegis writes: |> Geniale Prozessoren aus der Zeit waren dann noch der TI990 (?) und |> 9900 (16 bit) (mit memory-mapped Registersätzen)

Ich müßte jetzt tief in meine Bibliothek gehen, aber hatten die streng genommen überhaupt Registersätze im eigentlichen Sinn? Das war doch die goldene Zeit, als Speicher gerade mindestens doppelt so schnell wie die CPU war und man deshalb auf die Idee verfiel, daß es eine eigene Register- bank gar nicht mehr braucht und daher Mem-to-Mem gar nicht so unsinnig war, wie das heute klingt.

|> der 1802 von RCA

Wundert mich, daß der derart untergegangen ist. IIRC gab's den mitte der

70er(!) schon mit 6.5MHz -- und radhard, drum tickt er ja (ebenfalls IIRC) in den Voyager-Sonden.

Auch der (Signetics?) 2650 kam ja kaum im Mainstream an.

|> HardCore-Fraktion die BitSlices von AMD

Ich weiß, wo die heute noch in der Ausbildung verwendet werden. Zwar nurmehr im Emulator, aber trotzdem :)

Rainer

Reply to
Rainer Buchty

Hallo Ulrich,

Kannst Du getrost in die Schublade "Unsinn" legen. Mache gerade ein Review von einem uC, wo das aus unerfindlichen Gruenden nur ein Achtel Byte pro Pixel sind.

Geht mir auch so. Unter DOS Word fast nie Tippfehler, unter Win-Does viel mehr. Manchmal tippe ich ins nichts und die Zeichen kommen dann erst eine Sekunde spaeter. Nervig.

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

"Joerg" schrieb:

vielleicht sehe ich ja den Wald vor lauter Bäumen... aber was ist daran falsch?

Reply to
Ruediger Klenner

Sorry, da muss ich dich ent=E4uschen. Das ist ein "humanischer" Controller-Fehler, den ich bei mir auch beobachte. Beliebt bei mri (sollte "mir" hei=DFen) das W=F6rtchen "udn" statt "und" oder Wortendungen "ugn" statt "ung". Ursache f=FCr deine Schreibfehler bist du selber mit deinem Zwei-Hand-Schreibapparat. Der versucht abwechselnd Tasten zu dr=FCcken statt in der richtigen Reihenfolge. Das Wort "und" w=FCrde man im 10-Finger-System mit den H=E4nden rechts-rechts-links schreiben. Stattdessen macht dein Bewegungsapparat daraus ein links-rechts-links (immer sch=F6n abwechselnd) und so wird aus einem rechts-rechts-links- und ein rechts-links-recht-udn. Wenn du dir deine oben stehenden falsch geschriebenen Worte anschaust wirst du den Fehler nachvollziehen k=F6nnen.

Ich schreibe seit Vielen Jahren mit 10 Fingern und arbeite seit etwa

1998 bei mir an der immer gleichen Tastatur (Microsoft Natural Keyboard, habe noch zwei da und wenn mir meine jetzige zu dreckig wird tausche ich sie wieder gegen ein baugleiches Modell aus, so wie ich das schon seit Jahren mache). Ich habe bei mir etwa ein knappes Jahr lang den Fehler beobachtet (er ist mir halt auch aufgefallen). Aktiv gesucht habe ich den Fehler seit etwa 3 Monaten und vor zwei Wochen kam mir der erleuchtende Einblick. Aber warum meine H=E4nde nach 15 Jahren 10-Finger-System pl=F6tzlich diesen Fehler (links-rechts- abwechselnd) machen habe ich noch nicht herausgefunden. F=FCr sachdienliche Hinweise w=E4re ich sehr dankbar!

Gru=DF Torsten

Reply to
Torsten Junker

Hallo Ruediger,

Nun ja, sie soll gesagt haben, dass ein Pixel auf einem Display 800 Bytes an Speicherplatz erfordert.

In Open Office vielleicht ....

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Hallo Torsten,

Vermutlich wuerden einige Unternehmen bei Euch jetzt sagen "Seht Ihr, haben wir doch immer gesagt, dass Ingenieure ab 40 senil werden".

Aber im Ernst. Ich habe letztens, nachdem mir das zu bunt wurde, einen langen Module Spec mit Word 5.0 unter DOS weitergeschrieben. Auf der gleichen Tastatur. Und siehe da, es passierte nicht mehr.

--
Gruesse, Joerg (bin ueber 40)

http://www.analogconsultants.com
Reply to
Joerg

nn

et's

Ich nehme dir die Visionen nur ungern, aber die hardwarenahe und ressourchenschonende Programmierung ist in meinem Studium an der Fachhochschule nur der kleinste Teil im Studium, insgesamt nur 2 SWS (1 SWS Vorlesung, 1 SWS =DCbungen an der Hardware). Ansonsten geht es auch im ersten Semester mit Java voll und ganz zur Sache! Die ganzen Fachinformatiker f=FCr Anwendungsentwicklung in meinem Studiengang, die nach ihrer Ausbildung ins Studium wechseln, stehen alle mit Assembler/ Maschinensprache auf Kriegsfu=DF und freuen sich teuflisch auf Java, C++ und die ganzen Hochsprachen.

Ich verstehe =FCbrigens bis heute noch nicht was objektorientierte Programmierung ist, deshalb graust es mich auch vor den Java- Vorlesungen und -=DCbungen. Ich kenne nur Assembler, Maschinensprache, Turbo-Pascal und Basic. Was man nun mit "Objektorientierung" anders macht erschlie=DFt sich meinem logisch arbeitenden und l=F6sungsorientierten Gehirn =FCberhaupt nicht.

Beim Betrachten deiner E-Mail-Adresse frage ich mich da auch: Wie ist das eigentlich an der TUM?

Gru=DF Torsten

Reply to
Torsten Junker

Ich sehe da dennoch eine psychologische Ursache, vielleicht auch neurologisch. Ich habe das n=E4mlich seit meiner Erkenntnis mal genauer beobachtet und beobachte dabei sehr genau wie ich schreibe.

Auff=E4llig sind dabei auch Finger-Preller. Da ist ein Finge rnoch (Leerzeichen zu fr=FCh) gar nicht dran oder soll gar nicht mehr schreiben, aber der Finger "hackt" ungefragt zu fr=FCh los. So als wenn er durch den Impuls eines anderen Fingers an der gleichen Hand zucken w=FCrde. Das Wort "nicht" ist rechts-rechts-links-rechts-links. Sehr oft schreibe ich aber "nicth". Da prellt das links-t ungefragt nach dem links-c zu schnell vor dem rechts-t. Die Preller der benachbarten Finger beobachte ich auch wenn beim Beobachten mitten im Wort mit dem Schreiben aufh=F6ren will.

Auch auff=E4llig sind bei mir das Vertauschen nebeneinander liegender Buchstaben. e-r etwa. Aus "Versand" wird dann schnell "Vresand".

Na das ist schon irgendwie alles etwas komisch.

BTW: Ich arbeite seit 1999 mit Staroffice 5.1, auch heute noch. Egal ob am Laptop oder am station=E4ren PC, den Fehler habe ich aber trotzdem seit etwa einem Jahr und in dieser Zeit gab es keine Hardware- oder Software-=C4nderungen.

Torsten

Reply to
Torsten Junker

"Joerg" schrieb:

:)

ja, das Originalposting hab ich schon mitbekommen, wobei $Referent (als nomina agentis hoffentlich auch pc) wohl auf Quelltextebene argumentierte??

Da hätte ich direkt mal nachgefragt, woher diese Zahl kommt und ob es vielleicht nicht doch eher 600 oder 267000 bytes sind :).

Immer nach Quellen fragen (machmal auch interessant, wie Manche denken) denn einfach nur grinsen ist zuwenig in solchen Situationen IMHO. Ausser- dem denken sich Referenten wohl eher seltenst 'irgendwas' aus, vermute ich, d.h. 'irgendwoher' muss eine solche Angabe doch kommen?

Nein, ich verstehe nicht was an: "... Mache gerade ein Review von einem uC, wo das aus unerfindlichen Gruenden nur ein Achtel Byte pro Pixel sind. " falsch sein sollte.

Na, vermutlich war mein Ironiedetektor grad abgestürzt und dein uC schreibt tatsächlich ohne irgendwelche HSync und VSyncs u.s.w in Schieberegister? Kann ja gut sein (solange sich kein Zähler verzählt :)

Ich habe hier am Bastelplatz ein aus meinem kürzlich verstorbenen (Geist neben Grabstein) 3.95?-Tamagochi-Clone entnommenen 16x16LCD mit angeschraubtem PIC liegen, da kommt das vermutlich hin (oder nicht, weiss nicht, es läuft noch nicht). Ansonsten gelten realiter wieder ganz andere Zahlen... für grössere LCD (incl. Graustufen/Farbe) gelten andere Zahlen.

Letztens eine 256x256x64Farben VGA in einem 9572 CPLD gemacht, der PS-subsubset-PIC schiebt dann für jedes Pixel zur Ansteuerung drei bytes rein.

Na ja, jedenfalls waren für alle meine bisher verbauten und verprogrammierten Controller 8 pixel/byte nie zutreffend. Aber kanns ja geben, warum nicht, so a la Z81 vielleicht? (Hatte nie einen, weiß jetzt nicht ob der Prozessor nicht doch auch Syncs dazugeben musste, vemutlich doch...)

Reply to
Ruediger Klenner

Hallo Ruediger,

Hier wird der ganze Summs meist teil-seriell reingeschoben. Das sind dann fuer 16*16 tatsaechlich nur 32 Bytes. Viel mehr haben viele uC nicht, 128 Byte RAM ist schon die Luxusklasse oberhalb 50c/Stueck. Hin und wieder muss man kramen, wo man denn noch was hinschieben kann. Nach dem Motto vom Stack unters Sofa ;-)

--
Gruesse, Joerg

http://www.analogconsultants.com
Reply to
Joerg

Wenn du schon größere Programme in Basic oder Pascal geschrieben hast, dann hast du wahrscheinlich bereits Objektorientierung angewendet. Z.B. ist das bei einer grafischen Oberfläche üblich: Ein Fenster ist ein Objekt und du rufst Funktionen auf diesem Objekt auf (also in Pascal: Übergibst den Pointer auf das Fenster-Record als ersten Parameter beim Funktionsaufruf). In C++ und Java ist nur die Schreibeweise anders: statt drawText(fenster, x, y, text) heißt es dann fenster.drawText(x, y, text) und innerhalb der Funktionen sind dann alle Variablenzugriffe, die nicht auf globale oder lokale Variablen gehen, implizit Zugriffe auf Variablen des fenster-Structs.

Gibt dann natürlich noch ein paar schöne Dinge wie Polymorphismus usw., was man lernen muß, wann man es wie am besten einsetzt, aber es hilft viel, sich die Implementierung mit Records und entlanghangeln an Pointern vorzustellen. War zumindest bei mir so, der auch erst Assembler auf dem C64 programmiert hat und dann über Pascal nach C und Jave kam, in letzter Zeit einiges in Lisp gemacht hat

formatting link
und schließlich ein wenig mit Haskell gespielt hat, einer faszinierenden Sprache und meiner Meinung nach wunderbar für die massiv parallelen Systeme der Zukunft geeignet.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Vor ein paar Jahren hatte ich eine verspannte Schulter, die sogar zu leichter Taubheit in den Fingerkuppen führte (nerv in der Schulter eingeklemmt). Das ging mit Massage weg. IN dieser ZEit hatte ich mit dem VErtauschungsfehler verschärft zu kämpfen und die SHifttaste ließ ich regelmäßig zu spät los.

Das wär doch mal ein Bastelprojekt: Erfassung der Anschlagszeiten und Zeitpunkte der Übernahme durch das Betriebssystem. Es soll ja auch Passworterkennungen geben, die auf den Fingerrhythmus achten.

--
Gruß, Raimund
Mein Pfotoalbum 
Mail ohne Anhang an  wird gelesen. Im Impressum der Homepage
findet sich immer eine länger gültige Adresse.
Reply to
Raimund Nisius

Und ich dachte, nur bei Heinz Erhardt und mir gibbet dat Problem mit der Verbuchselung von Wegstaben. Irgendwie beruhigend.

Hmm. Zum älter werden fällt mir da gerade noch ein Witz ein:

Was ist eigentlich schlimmer? Alzheimer oder Parkinson?

Beides gleich schlimm, ob ich mein Bier verschlabbere oder nicht mehr weiss, wo ich es hingestellt habe.

Oder noch einen für die Chauviekasse:

Es ist schön, wenn ein Mann älter wird. Der Kreis der Frauen, die einen interessieren, wird von Jahr zu Jahr größer. Als 18 jähriger waren mir

40 jährige echt zu alt. Heute sehe ich mir mit Genuss gut erhaltene Exemplare gerne an.

Da muss man wohl erst 'ne Kanne Bier schlürfen, damit die Bewegung ruhiger wird :-) Weib! Bitte 'ne Buddel Bier, ich muss mich gleich einloggen!

Saludos Wolfgang

--
Meine 7 Sinne:
Unsinn, Schwachsinn, Blödsinn, Wahnsinn, Stumpfsinn, Irrsinn, Lötzinn.
Wolfgang Allinger   Paraguay             reply Adresse gesetzt !
VoIP  02173 / 99 39 209   ca. 15h00..21h00 MEZ  SKYPE:wolfgang.allinger
Reply to
Wolfgang Allinger

In article , Torsten Junker writes: |> Ich verstehe =FCbrigens bis heute noch nicht was objektorientierte |> Programmierung ist

*grins* Also das eingängigste Beispiel für OOP ist m.E. "LPC". War die Programmiersprache, in denen man LP-Muds ihr Leben eingehaucht hat -- und da wurde der ganze Krams wie Hierarchien, Vererbung, private vs. public usw. angenehm deutlich.

Und wenn Du mal sehen willst, wie es aussieht, wenn man OO in natives C kloppt, dann programmier mal eine GTK-basierte Anwendung und strick auch das ein oder andere Widget selbst.

In dem Fall sieht man auch sehr schnell, wo die Eleganz von OO liegt und warum man das dann auch gerne in der Sprache hätte, anstatt es zu Fuß zu tun.

Allerdings: Es kommt auch immer auf die Anwendung und den Anwendungsbereich an...

|> Beim Betrachten deiner E-Mail-Adresse frage ich mich da auch: Wie ist |> das eigentlich an der TUM?

Zu meiner Zeit war OO im Infostudium noch nicht so das Thema, das kam erst mit dem Java-Hype um 97.

Rainer

Reply to
Rainer Buchty

In article , "Ruediger Klenner" writes: |> Nein, ich verstehe nicht was an: "... Mache gerade ein |> Review von einem uC, wo das aus unerfindlichen Gruenden nur ein Achtel |> Byte pro Pixel sind. " falsch sein sollte.

Ist doch auch nichts falsch... Ein monochromes Pixel benötigt exakt 1/8 Byte Speicherplatz.

|> Letztens eine 256x256x64Farben VGA in einem 9572 CPLD gemacht, der |> PS-subsubset-PIC schiebt dann für jedes Pixel zur Ansteuerung drei bytes |> rein.

Jetzt bin ich neugierig. Ich nehme an, die Ausgabe macht der CPLD und somit folgerichtig auch auf einem eigenen Speicher.

Die 3 Bytes sind somit die Bitmap-Adresse (Spalte/Zeile) plus ein Byte Farbwert (d.h chunky pixel, nicht bitplane)?

Würd ich (sofern Platz im Chip und öfter mal komplette Bitmaps übertragen werden) noch ein "burst"-Register mit reintun, wo Du nur mal die Startadresse angibst und dann für jeden übertragenen Folgepixel nur ein Byte übertragen wird.

Und natürlich noch Colormap-Register. Denn spätestens seit dem Amiga wissen wir, wie wunderbar einfach sich lebendige "Bewegtbilder" erstellen lassen :)

Rainer

Reply to
Rainer Buchty

Mal abgesehen von anderen Befehlen, Registern, anderer Speicheraufteilung und anderer Peripherie unterscheiden sich die üblichen Micrcontroller und -prozessoren nicht wirklich grundlegend. Einige Unterschiede betreffen sogar nur die Schreibweise.

Bei einigen gibt es bedingte Sprünge nur relativ, bei anderen auch als absolute Sprünge, beim Pic gibt es beingte Sprünge nur in der Form, dass der folgende Befehl übersprungen wird oder nicht.

Bei einigen ist der Stack im externen RAM, bei einigen gibt es einen Hardwarestack. Manche starten nach einem Reset bei 0000, andere haben irgendwo einen Startvektor.

Wenn es SFRs gibt, haben die natürlich jeweils unterschiedliche Funktionen.

Wenn man aber zwei oder drei Controllerfamilien kennt, sollte es nicht schwer fallen, sich in eine beliebige andere einzuarbeiten.

Und Z80, 6510 und 8051 kommen (fast) aus derselben Generation.

Kennt jemand eigentlich ein gutes Buch zum Thema ATmega, das ich meinen Azubis in die Hand drücken kann? Ich hatte damals den Zaks : "Programmierung des Z80".

Sowas scheint es aber heute nicht mehr zu geben.

Gruß

Stefan DF9BI

Reply to
Stefan Brröring

"Rainer Buchty" schrieb

Ja, genau so. Hatte was Ähnliches mal im Netz als Anregung gefunden und dann den CPLD im Wesentlichen einfach aus einer Hersteller-AN übernommen.

Kleines Bildchen von meinem Teil:

formatting link

Wär ne Idee.

Es ist/war aber nur als generelle Ausgabemöglichkeit für meine uC-Projekte gedacht: uC von Projekt übergibt bitseriell (nicht unbedingt über die RS232 auf der Karte, geht zwar auch, reicht aber clk, data) Text/Anweisungen an den uC auf Graka, der dann wiederum alles Notwendige (Charaktergen und PS-subset für einfache Grafik) enthält und über den CPLD in SRAM schreibt.

Muss also für den Zweck nicht schnell sein, auch nicht bunt, es sollte nur den Schlepptop ersparen; bisher hatte ich debugging/testen vor Ort per Statusmeldungen über RS232 gemacht (oder in einfachen Fällen Blinkcodes). Setzt dann natürlich PC voraus, der nicht immer gleich aufzutreiben ist...

Inzwischen bin ich von der Minigrakarte wieder weg, man müsste ja vor Ort auch immer nen Monitor auftreiben ist mir aufgefallen *g* oder mit- nehmen, keine wirkliche Erleichterung im Vergleich zum bisherigen Verfahren... :\

Momentan denke ich über ein kleines Modul für Gameboy nach das einen Max232 und Eprom mit Terminalprog für GB enthält, würde dann den gleichen Zweck er- füllen und lässt sich leicht überall mitnehmen.

Der 9572 ist mit dem, was momentan drin ist, ziemlich ausgereizt. Zwar wäre der 95144 pinkompatibel, ich mache aber nichts mehr an diesem Teil.

Reply to
Ruediger Klenner

Sieht ja nett aus. Woher hast du die 3D-Modelle für Stecker, die gedrechselten Sockel usw.? Ich habe hier Cinema4D und wäre schön, wenn ich die Schaltung, die ich gerade baue, vorher einfach mal so von der Anordnung her ausprobieren könnte (ist mechanisch etwas komplexer).

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.