Bits und Bytes: Helft mir! :-)



  • bitty schrieb:

    ich programmiere bereits seit einigen jahren in C++ und habe mich leider nie tief mit den bit's ansich auseinander gesetzt.

    dann bist du aber ein sehr seltenes exemplar.

    bitty schrieb:

    256 256 256 256
    soll heissen, der wertebereich wäre 12stellig, da er sich aus 4 einzelnen bytes zusammensetzt und somit dann eigentlich 12 stellen haben sollte, er hat aber 10!?.

    wenn du das 'mal'-zeichen zwischen die 256's setzt, dann hast du das richtige ergebnis --> 256^4 == 2^32 ist eine zehnstellige dezimalzahl.
    und schau auch mal hier: http://en.wikipedia.org/wiki/Numeral_system
    🙂



  • bitty schrieb:

    ich habe noch viele andere fragen, aber damit möchte ich euch jetzt nicht plagen, sondern vielmehr fragen (huch, ein reim), ob ihr mir ein buch wärmstens empfehlen könnt, wo alles über bits und bytes beschrieben und erklärt wird, welches keiner programmiersprache gewitmet wurde, sondern einfach um die thematik ansich geht. so, dass ich am ende sagen kann: ich weiss alles über die bit's.

    für mich als programmierer weiss ich natürlich wie variablen und funktionen im arbeitsspeicher ihr leben finden und wie sie aggieren. aber wie bereits beschrieben, möchte ich alles über den ganzen hintergrund erharen und lernen, der soweit geht, dass er garnicht mal mehr umbedingt mit dem programmieren zu tun hat, sondern eben, wie der prozessor überhaupt ein programm zum laufen bekommt, wenn er ja nur nullen und einsen versteht.

    Ich glaub das Zauberwort für dich heisst "Digitaltechnik". Zu dieser Thematik gibt es unzählige Bücher wie man sich vorstellen kann. Vielleicht kannst du dir ja irgend eins einfach aus einer Bücherei ausleihen (darf auch ruhig älter sein, weil sich die Prinzipien seit ihrer Gründung nicht geändert haben und dies wohl auch in Zukunkt so bleiben wird ;-)).

    Im Prinzip besteht ein Prozessor aus relativ primitiven "Blöcken". Es gibt im wesentlichen "Register" und "Rechenwerke". Bei den Registern handelt es sich um statischen Speicher in dem die "Bits" gespeichert sind, je nach Registertyp mit einer Breite von 8, 16, 32, 64 ... Bit.
    Bei den Rechenwerken handelt es sich um z.B. Addierer, Subtrahierer oder Multiplizierer, welche die Inhalte der Register verrechnen und anschließend das Ergebnis wieder in ein weiteres Register speichern.
    Im Bereich der Digitaltechnik gibts natürlich trotzdem eine ganze Menge zu wissen. Angefangen von der Boolschen Algebra, den Grundlogikgattern, hin zu Schaltwerken sowie komplexeren Rechenwerken. Alles was ich bisher erwähnt habe sind die absoluten Basics, die aber ausreichen sollten um den Begriff "Bit" besser verstehen zu können.

    Nach durchlesen der elementaren Sachen würd ich einfach ein paar Beispiele mit Bitoperationen versuchen. Die Sprache stellt alles zur Verfügung "&,|" 😉



  • dann bist du aber ein sehr seltenes exemplar.

    das mag gut sein. ich habe mich jahrelang intensiv mit C++ als sprache beschäftigt und leider viel zu wenig mit der digitaltechnik. was ich jetzt aber nachholen werde, weil mich das sehr fasziniert. die bitweisen operatoren sind mir natürlich sher geläufig und ich wende sie auch an.

    einfach und wirklich simpel gesagt, funktioniert der ganze computer als ein ganzer schaltkreis. dieser widerum ist bestickt aus einem ganzen netzwerk von komponenten, wie transistoren, microchips, stromleiter und so weiter. je nach zustand wird das "platinen-netzwerk" (so nenn ich das mal), anderst geschaltet und den komponenten wird ein binärer wert übergeben, die dann zur aufgabe ausgeführt werden, diese komponenten wiederum schalten neue knoten usw. irgendwann geht alles seinen weg über den BIOS chip, über den prozessor, den arbeitsspeicher, den festplatten kontroller, zur festplatte und auch irgendwann an den bildschirm.

    und ich möchte nun eben den hardware hintergrund komplett verstehen, also wirklich die phisikalsische ebene, die elektronische seite. ich danke euch für euer feedback. für spezifizierte buch empfehlungen habe ich gerne ein offenes ohr.



  • also gaaaanz gaaaaaanz simpel und vereinfacht gesagt:
    0 = strom fliesst nicht
    1 = strom fliesst

    mehr physik ist da nicht drin, der rest ist logik 🙂



  • stromer schrieb:

    also gaaaanz gaaaaaanz simpel und vereinfacht gesagt:
    0 = strom fliesst nicht
    1 = strom fliesst

    mehr physik ist da nicht drin, der rest ist logik 🙂

    das sich dieses gerücht aber auch so hartnäckig hält. Die Zustände werden eben *nicht* durch "Strom fließt" bzw. "Strom fließt nicht" modelliert. Sonst hätten Computer eine enorme Leistungsaufnahme. Entweder es liegt Spannung an, oder eben nicht. Den Stromfluß versucht man möglichst gering zu halten.



  • wenn man hinter die bits schauen möchte, sollte man sich einfach mal das duale zahlensystem angucken. woher es kommt und warum es so elegant und simpel ist. dann guckt man sich die defintion einer turing maschine an. und dann versteht man auch, warum die meisten modernen rechner mit bits jonglieren.



  • @ stromer
    Witzigerweise fließt der Strom bei FET eigentlich hauptsächlich beim Übergang 0->1 bzw. 1->0 😉

    Noch ein paar Dinge die mir aufgefallen sind:

    <pedantic>
    - Ein Byte besteht nicht zwangsweise aus 8 Bits: http://de.wikipedia.org/wiki/Byte
    - ein char kann unsigned oder signed sein
    - Nicht allen Plattformen liegt der ASCII-Zeichensatz zugrunde (d.h. der Dezimalwert des ASCII-Zeichens 'A' ist nicht immer 65)
    </pedantic>



  • @ Jester:

    Obacht. Bei den heutzutage extremen Schaltfrequenzen kann es sein, dass die Bipolartechnik in manchen Bereichen als "stromsparende" Alternative gehandelt wird. Hab da mal einen recht interessanten Artikel zu gelesen, aber weiss nicht mehr wo 😞



  • und ich möchte nun eben den hardware hintergrund komplett verstehen, also wirklich die phisikalsische ebene, die elektronische seite. ich danke euch für euer feedback. für spezifizierte buch empfehlungen habe ich gerne ein offenes ohr.

    Wenn du in das Thema richtig einsteigen willst, dann kann ich nur empfehlen, selbst ein bisschen Digitallogik zu entwickeln. Dazu musst du dich mit einer der Hardwarebeschreibungssprachen auseinandersetzen (vorzugsweise VHDL oder Verilog).
    Der einfachste Einstieg in das Gebiet der Logikentwicklung geht über die programmierbare Logik (CPLDs und FPGAs). Alles was du zum starten brauchst gibts kostenlos im Netz inklusive Simulationsumgebung.
    http://www.xilinx.com/ise/logic_design_prod/webpack.htm



  • bergvagabund schrieb:

    Alles was du zum starten brauchst gibts kostenlos im Netz inklusive Simulationsumgebung.
    http://www.xilinx.com/ise/logic_design_prod/webpack.htm

    Cool, wusste nicht, dass es da was kostenloses gibt 👍
    Bevor ich mir dort einen Account hole und das Ding teste, bringt es das was es verspricht?



  • http://www.xilinx.com/ise/logic_design_prod/webpack.htm
    Cool, wusste nicht, dass es da was kostenloses gibt 👍
    Bevor ich mir dort einen Account hole und das Ding teste, bringt es das was es verspricht?

    Na logisch. Das Webpack kann eigentlich alles was die große Foundation auch kann. Es werden lediglich die ganz großen FPGAs nicht unterstützt. Aber der Xilinx Simulator ist auf jeden Fall mit dabei. Ob man wie früher auch einen kostenlosen Modelsim registrieren kann weiss ich jetzt nicht.
    In der Arbeit habe ich natürlich einen ungebremsten Modelsim und die große Foundation am laufen. Für neuere Sachen nehme ich aber gerne auch mal das Webpack her und bin auch ganz zufrieden damit.
    Der einzigste Wehrmutstropfen ist die Installationsgröße. Mit der Version 10.1 spielt man sich schon etwas mehr als 4GByte auf die Platte.



  • bergvagabund schrieb:

    Mit der Version 10.1 spielt man sich schon etwas mehr als 4GByte auf die Platte.

    😮

    Danke dir. Werde mir das mal genauer anschauen.



  • bitty schrieb:

    und ich möchte nun eben den hardware hintergrund komplett verstehen, also wirklich die phisikalsische ebene, die elektronische seite.

    vielleicht mal sowas ähnliches was basteln:
    http://www.mycpu.eu/
    ...probier mal damit run: http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/index.html
    und hier noch was zum lesen: http://books.google.com/books?id=qFdnpRhz0HcC&printsec=frontcover&source=gbs_summary_r&cad=0#PPP1,M1
    🙂


Anmelden zum Antworten