kimura Geschrieben 8. Juni 2022 Teilen Geschrieben 8. Juni 2022 Hallo zusammen, also die Frage ist vlt. etwas blöd und ihre Antwort wahrscheinlich (im besten Fall) sehr ausführlich. Mich interessiert, wie der Ablauf eines Programmes so zu sagen auf Hardware Ebene funktioniert. So wie ich es grob verstehe wird ein Programm von einem Compiler (auch noch auf Software Ebene) in 1 und 0 interpretiert. Diese werden dann vom Prozessor verarbeitet und stellen so beispielsweise Sachen da, oder verändern Daten auf anderen Ebenen. All das passiert durch Magie Genau diese Magie möchte ich verstehen! Wie wird der Strom an welcher Stelle in 1 und 0 konvertiert? Wie interpretiert Hardware (bspw. CPU) Software und umgekehrt? Gibt es hier für eine Art Modell, wie beispielsweise das OSI Modell auf Netzwerk Ebene? Habt ihr Quellen für mich? Woher weiss ein Prozessor, dass er Strom in bits konvertieren soll? Ich möchte einfach so detailliert wie möglich verstehen, wie so einer Kiste oder einem Programm Leben ein gehaucht wird. Ich bin mir sicher, dass die Fragen von mir zu unspezifisch sind, Fachlichkeiten fehlen und eine Antwort auf diese Fragen sehr ausführlich zu sein vermag. Es scheint mir außerdem, als könnte ich die Frage die hinter all den kleinen Fragen steht nicht formulieren kann. Ihr würdet mir also sehr stark helfen, meinen inneren detailverliebten Monk mit Wissen zu füttern! Vielen vielen Dank! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DoctorB Geschrieben 8. Juni 2022 Teilen Geschrieben 8. Juni 2022 Ich glaube, um diese Frage konkret beantworten zu können, müsstest du sowas wie "Computational Engineering" (mir fehlt das deutsche Pendant dazu) studieren... alternativ eventuell die "History of IBM" und Assembler lernen/lesen Ist aber auch etwas, was ich gerne noch tiefgründiger verstehen wollen würde Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
KeeperOfCoffee Geschrieben 8. Juni 2022 Teilen Geschrieben 8. Juni 2022 Ich sehe keinen wirklichen Mehrwert darin, sowas heutzutage zu verstehen, es sei denn, man arbeitet wirklich mit C(++), Assembly oder vlt. Rust. Ich würde mir Kurse ansehen in denen es generell um CS geht, oder sowas hier https://www.edx.org/course/compilers Da geht es wohl nur im Compiler...ist allerdings "Introducy"...was auch immer Anfänger 10 Wochen lang über Compiler lernen mögen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast Interrupt Geschrieben 8. Juni 2022 Teilen Geschrieben 8. Juni 2022 (bearbeitet) vor 21 Minuten schrieb DoctorB: Ich glaube, um diese Frage konkret beantworten zu können, müsstest du sowas wie "Computational Engineering" (mir fehlt das deutsche Pendant dazu) studieren... alternativ eventuell die "History of IBM" und Assembler lernen/lesen Nein, ein Fachinformatiker sollte die Grundlagen von Elektrotechnik sowie Digitaltechnik eigentlich in der Berufsschule behandelt haben. Wer sich in das Thema vertiefen möchte, der sollte eine E-Technik Ausbildung oder Studium machen. Hier mal einige Quellen in das Thema: http://www.netzmafia.de/skripten/digitaltechnik/intro.html https://www.elektronik-kompendium.de/sites/dig/index.htm vor 56 Minuten schrieb kimura: Wie wird der Strom an welcher Stelle in 1 und 0 konvertiert? Um das zu verstehen brauchst du Grundkenntnisse in der Elektrotechnik (einschließlich in die Bauelemente und deren Physik) sowie die Grundlagen der Signalverarbeitung (Quantisierung und Sampling). vor 56 Minuten schrieb kimura: Wie interpretiert Hardware (bspw. CPU) Software und umgekehrt? Woher weiss ein Prozessor, dass er Strom in bits konvertieren soll? Das findet rein auf der Ebene der Digitaltechnik statt. Schau dir diesbezüglich die Boolesche Algebra an sowie die Schaltnetze mit den Logikbausteinen (Multiplexer, Register, FlipFlops usw). MfG Bearbeitet 8. Juni 2022 von Interrupt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
charmanta Geschrieben 8. Juni 2022 Teilen Geschrieben 8. Juni 2022 Fang doch mal damit an dass Du Dir ein ausführbares Programm mit einem Hexdump Tool ansiehst. Das mache ich immer gerne mit Viren um zu sehen, welchen Compiler ein Dummbatz da benutzt hat. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whiz-zarD Geschrieben 8. Juni 2022 Teilen Geschrieben 8. Juni 2022 (bearbeitet) vor 4 Stunden schrieb kimura: Wie wird der Strom an welcher Stelle in 1 und 0 konvertiert? Nicht Strom, sondern Spannung ist entscheidend. Liegt eine Spannung an, ist es eine 1. Wenn nicht, dann eine 0. Du kannst es wie eine Lampe vorstellen. Ist die Lampe an, liegt eine Spannung an und der Strom kann fließen. Somit repräsentiert die Lampe eine 1. Ist sie wieder aus, liegt keine Spannung an und somit ist sie dann eine 0. vor 4 Stunden schrieb kimura: Wie interpretiert Hardware (bspw. CPU) Software und umgekehrt? In einem Prozessor sind Befehle implementiert. Für jeden Befehl gibt es einen sog. Opcode. Über diese Opcodes gibt man dann den Prozessor mit, was er tun soll. Alle Opcodes zusammen ergeben den Befehlsssatz. Es gibt z.B. den Befehlssatz für x64-Prozessoren, den z.B. AMD und Intel in ihren Prozessoren implementieren müssen, damit Programme, die für diese Prozessoren kompiliert worden sind, auch zuverlässig laufen. Außerdem: Assembler != Maschinensprache. Assemblercode ist nur eine lesbare Form der Maschinensprache. Im Assemblercode hat jeder Opcode einen Namen (sog. Mnemonics). Maschinensprache ist hingegen nur eine Reihe von 1 und 0. vor 4 Stunden schrieb kimura: Gibt es hier für eine Art Modell, wie beispielsweise das OSI Modell auf Netzwerk Ebene? Nein. Das ist sehr speziell, da die Kompilierung nicht nur vom Prozessor, sondern auch vom Betriebssystem abhängig sein kann. Für Windows komplierte x64-Anwendungen laufen ja nicht nativ auf Linux-Systeme und umgekehrt, da man ja auch noch auf Funktionalitäten des Betriebssystem abhängig ist. Bei Mikroprozessoren wird der Maschinencode direkt in den Speicher geladen und wird dann sofort ausgeführt. vor 4 Stunden schrieb kimura: Habt ihr Quellen für mich? https://computer.howstuffworks.com/microprocessor.htm https://computer.howstuffworks.com/ram.htm Wäre vielleicht ein anfang, um grob die Funktionsweise zu verstehen. Im allgemeinen würde ich im Mikroprozessoren anfangen, wenn du die Funktionsweise besser verstehen möchtest, da diese vom Aufbau und Umfang überschaulicher sind, als die "großen" Prozessoren. Wenn du ganz tief gehen möchtest, dann schaue dir die sog. Logikgatter an. Die Gatter sind die Grundlagen der Digitaltechnik und somit auch die Grundlagen aller Prozessoren, da ein Prozessor im Grunde nur aus diesen Gattern besteht. vor 4 Stunden schrieb kimura: Woher weiss ein Prozessor, dass er Strom in bits konvertieren soll? Siehe erste Frage. vor 3 Stunden schrieb Interrupt: Um das zu verstehen brauchst du Grundkenntnisse in der Elektrotechnik (einschließlich in die Bauelemente und deren Physik) sowie die Grundlagen der Signalverarbeitung (Quantisierung und Sampling). Quantisierung ist hier überhaupt nicht nötig weil es darum geht, ein analoges Signal in ein mehrstufiges, digitales Signal zu überführen. Wir haben aber schon ein digitales Signal. Bearbeitet 8. Juni 2022 von Whiz-zarD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
RipperFox Geschrieben 8. Juni 2022 Teilen Geschrieben 8. Juni 2022 Falls es wirklich interessiert, kann ich die (englische) Seite und Videoserie von Ben Eater emfpehlen: https://eater.net/8bit Er erklärt auf seinem YouTube Kanal relativ vom Anfang an, wie ein Computer funktioniert. Vom Halbleiter zum Transistor über D-/SR-Latch zum FlipFlop, etc. bis zum fertigen 8-bit Breadboard Computer aus TTL-Bausteinen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
charmanta Geschrieben 9. Juni 2022 Teilen Geschrieben 9. Juni 2022 ich hab von einem sog "Clean Computer" aus den 80ern noch Serviceunterlagen. Da steht fein drin was die Kiste beim Einschalten macht, wie RAM geprüft wird und dass die CPU dann ab Adresse 0x0000 anfängt den Code auszuführen. Kann ich bei Bedarf auch mal stellen. Am Prinzip hat sich ja nichts geändert DoctorB reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DoctorB Geschrieben 9. Juni 2022 Teilen Geschrieben 9. Juni 2022 vor 2 Stunden schrieb charmanta: Kann ich bei Bedarf auch mal stellen. Am Prinzip hat sich ja nichts geändert Ich bitte darum! 0x00 und tōmuri reagierten darauf 2 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
charmanta Geschrieben 9. Juni 2022 Teilen Geschrieben 9. Juni 2022 wird ein bisschen dauern, muss ich erst suchen ... steht irgendwo in meinen Tonnen Doku EDIT: das hier geht in dieselbe Richtung: https://www.edv-lehrgang.de/bios-basic-input-output-system/ 0x00 reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tkreutz2 Geschrieben 9. Juni 2022 Teilen Geschrieben 9. Juni 2022 (bearbeitet) Zu AD/DA Wandler https://www.rohm.de/electronics-basics/ad-da-converters/what-are-ad-da-converters Ich glaube man lernt am Besten über Praxis. Leider ist es heute gar nicht mehr so einfach, z.B. einen alten Computer nachzubauen, um die Funktionsweise zu verstehen, da die entsprechenden Teile gar nicht mehr so einfach zu beschaffen sind. In der Apple Gruppe versucht gerade jemand einen Apple I zu rekonstruieren und eine Kleinstückzahl (50) zum 50sten Geburstag heraus zu bringen. Zeitfenster ist wohl die nächsten 5 Jahre) Also FPGA-Systeme erlauben ein Re-Design der kompletten Schaltungen, die z.B. die Homecomputer früher ausgemacht haben. Der Spass ist allerdings nicht ganz billig. Beispiel: https://www.mister-fpga.de https://de.wikipedia.org/wiki/Field_Programmable_Gate_Array Bei Lego Mindstorms (Robotik Kit) war eine Version von National Instruments dabei, damit kann man visuell elektrotechnische Schaltungen testen und entwerfen. https://www.ni.com/de-de/shop/labview/how-do-i-use-labview-to-teach-engineering-students.html Leider ist Mindstorms mittlerweile sehr teuer, wenn man es überhaupt bekommt. Ich würde mir einfach einen Elektronik Baukasten oder Roboter Kit bestellen, um E-Grundlagen zu lernen. Da gibt es ja viele Produkte im Markt. Bearbeitet 9. Juni 2022 von tkreutz2 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.