Beiträge anzeigen

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


Nachrichten - Dimension

Seiten: 1 [2] 3 4 ... 8
21
Offtopic / Re: Bis wann ist ein OS ein OS?
« am: 01. March 2013, 23:29 »
Tja, wer hat lust eine eigene Computerfirma aufzumachen?  :wink:
Klar, wie viel Geld hast du? Ich hab 0.
22
Lowlevel-Coding / Re: Wo wird UEFI gespeichert?
« am: 23. February 2013, 18:10 »
geh einfach mal davon aus, dass wenn es so einfach wäre jemand das schon längst gemacht hätte.
23
Offtopic / Re: Bis wann ist ein OS ein OS?
« am: 23. February 2013, 17:02 »
Die Sicherheit eines Betriebssystems ist definiert in der Zuverlässigkeit genau das zu tun, für das es eingerichtet wurde. Das Bedeutet es muss möglich sein die passenden Berechtigungen eines Programms festzulegen und dann müssen diese Berechtigungen durchgesetzt werden. Letzteres wird mit steigender Komplexität des Betriebssystems umso schwieriger.

Ein unsicheres Programm wird man dafür zwar noch immer schreiben können, allerdings kommt der Code aus sicht des Betriebssystems von außen, weshalb Bewertungen zur Sicherheit eines Programms nicht trivial sind.
24
Lowlevel-Coding / Re: Global Descriptor Table
« am: 19. February 2013, 12:28 »
Außer du benutzt Pointer, dann gehen sie über ds/es.
Zumindest der Code sollte sich doch in ein eigenes Segment legen lassen. Genau genommen ist ein Overflow im Stack (ROP) wohl ähnlich schwerwiegend wie ein Overflow aus dem Stack in das Datensegment hinein.

Da fällt mir ein: was passiert, wenn ESP kleiner 0 wird, gehts dann bei 4g weiter oder gibts eine Exception? Kann man x beliebig wählen, hat man mit [esp+x] und Overflow bei 4g ohnehin das ganze Segment verfügbar, nehme ich an.
25
Lowlevel-Coding / Re: Global Descriptor Table
« am: 18. February 2013, 19:59 »
cs/ds/ss gleiche Basis und Limit haben, damit ich nicht auch noch einen Compiler schreiben muss.
GCC adressiert lokale Variablen über esp/ebp, diese gehen über ss.
26
Nochmal sowas und du kriegst einen Bann.
OK, sorry - Ich hielt den Typ für einen Berufseinsteiger mit gekauftem Abschluss, der andere seine Arbeit machen lassen wollte.

Dennoch ist es mir ein Rätsel, wieso er nicht gleich auf osdev.org postet.
27
Offtopic / Re: Logisim CPU
« am: 09. January 2013, 19:25 »
Es ist sinnvoll klein anzufangen und die Probleme der Reihe nach zu lösen, doch es ist auch hilfreich eine Vision zu haben und zu wissen, was man mit seinem Projekt erreichen will. Hast du dir schon überlegt, wozu deine CPU gut sein soll, bzw. was du damit erreichen willst?

Falls du deine CPU mal auf echte Hardware bringen willst, würde ich dir ein FPGA-Entwicklerboard empfehlen, die gibts so ab 200 Euro. Ein FPGA ist eine Art programmierbarer Chip, in den Schaltungen einprogrammiert werden können. Die Schaltungen werden meist aus einer Hardwarebeschreibungssprache synthetisiert. Als Beschreibungssprachen wären da VHDL und Verilog zu nennen, wobei ich letzteres nicht kenne. Ich arbeite mit VHDL und komme damit gut zurecht. Auf Linux kannst du zwar mit ghdl und gtkwave deine Schaltung simulieren, für die Synthese brauchst du aber eine extra Software. Erik kann dir hier bestimmt weiterhelfen.

Falls du dir nicht sicher bist würde ich mir einfach ein günstiges Board aussuchen. Ich denke eine serielle Schnittstelle auf dem Board wäre vorerst wichtiger, da du vermutlich keine Lust hast erst einen VGA- oder Ethernet-Treiber zu schreiben. Danach würde ich damit anfangen eine sinnvolle Umgebung für die Ausführung von Programmen zu schreiben, etwa einen Assembler oder ein GCC-Backend.

Gruß
28
Offtopic / Re: binäre Division
« am: 07. January 2013, 19:16 »
Die Instruktionen verwenden den lokalen SRAM, anstelle von Registern. Daten werden explizit und 4k-seitenweise aus dem RAM geladen.

Der Zugriff auf Peripherie und Stringbefehle laufen im Speichercontroller.

Weitere Instruktionen betreffen die Verwaltung und den Nachrichtenaustausch zwischen den Kernen.

Damit viele weitere Fragen aufgeworfen zu haben fürchtend,
Gruß

Aaron
29
Offtopic / Re: binäre Division
« am: 07. January 2013, 18:25 »
Dann vermute ich mal das Android keine Fragezeichen darstellen kann
Eines letzten Dinge, die noch funktionieren.

Zu deinen Fragen:

128 bit Dividend, Divisor gerne weniger.

Ein Branch des Ausführungs-Graphen. Also alles zwischen Bedingungen und Schleifen.

Jeder Kern ist für allgemeine Zwecke vorgesehen. Es sollen nur wenige Instruktionen angeboten werden, darunter Integer-Arithmetik, Bit-Manipulation und Vergleiche (alles gepackt in 8, 16, 32, 64 oder 128 bit), dazu Bedingungen und Schleifen, anstelle von Sprungbefehlen.

Vergleiche werden im Register gespeichert. Es gibt überhaupt keine Flags.

Bedingungen und Schleifen stellen nicht parallelisierbare Befehle dar. Ein Paket an parallelisierbaren Instruktionen wird zuerst komplett abgearbeitet.

Gruß
30
Offtopic / Re: binäre Division
« am: 06. January 2013, 11:00 »
Der L1-Cache in aktuellen Intel-CPUs hat etwa 3 bis 4 Takte Latenz (was etwa 1.5 bis 2.0 ns entspricht) und die ergibt sich wimre im wesentlichen aus den Signallaufzeiten (da selbst der kleine L1-Cache in Relation zur Ausbreitungsgeschwindigkeit bereits eine recht große Fläche belegt) und weniger aus der Schaltgeschwindigkeit der Transistoren.

Sollte die Ausbreitungsgeschwindigkeit nicht bei grob 10 cm pro Takt bei 1 GHz sein?

Wenn
c ~ 3E8 m/s
vel ~ 0.3c = 1E8 m/s = 0.1 m/ns

Ich dachte natürlich an die doppelte Schaltdauer, also die halbe Schaltgeschwindigkeit! Eine Pipeline ohne Latches quasi, mit dem richtigen Align am Demultiplexer. Die Frage ist eher, wie Groß die Toleranzen der Signallaufzeiten sind.

Ist das der Turbo bei x86-CPUs?

Und ja, ich lese alle Beiträge sehr sorgfältig, im Rahmen der Möglickeiten auf dem kleinen Android-Display.
31
Offtopic / Re: binäre Division
« am: 05. January 2013, 19:50 »
Aktualisierte Zahlen:

Für die Addiererstufen in 128 bit brauche ich, neben etwa 32 x128 Transistoren für die erste Stufe
bei ungetakteter Logik: 7 Stufen x 64 Funktionen x 4 Auswahl x 14 Transistoren = 25088 Transistoren
bei iterativer Auswahl: 128 Funktionen x 4 Register x 36 Transistoren = 18432 Transistoren

Wieviel Transistoren wird ein SRT-Dividierer mit 128 bit in etwa verbrauchen?

Ich will mit einem Kern insgesamt unter 1m Transistoren kommen, zzgl. Cache.
32
Offtopic / Re: binäre Division
« am: 04. January 2013, 12:55 »
Kann man SRAM-Cache mit der doppelten Schaltgeschindigkeit eines Transistors takten?
                                    / Adresse 1
S  <- Adress-Pipeline <- Multiplexer - ...
R                                   \ Adresse n
A
M  -> Daten-Pipeline -> packed mask and shift
33
Offtopic / Re: binäre Division
« am: 04. January 2013, 10:22 »
Was genau hast du denn nicht verstanden?

Ich will viele Kerne auf wenig Chipfläche bringen. Diese sollen selbst parallel auf einem Branch rechnen können. Jeder Kern soll mit 50-80% der Chipfläche aus cache bestehen und diesen unabhängig von anderen Kernen mit dem DRAM synchronisieren können.

Es geht mir erstmal nur um die reine Machbarkeit, ob daraus mal ein CMOS gebastelt wird, oder ich mir selbst einen abgespeckten FPGA baue ist mir wurscht.
34
Offtopic / Re: binäre Division
« am: 03. January 2013, 21:32 »
was mir gerade aufgefallen ist: die iterative funktion bringt nur eine transistorerparnis von etwa 25% (ich hatte mit min. 80% gerechnet) ohne da viel herumoptimieren zu wollen werde ich die schaltung für den addierer nun in ungetakteter logik machen.

und wens interessiert: die parallele architektur ist fürs loop unrolling und die spekulative ausführung gedacht. bei 8 128-bit addierern etwa 32 ausführungspfade mit 32 bit werten. oder halt 8 128 bit werte parallel. die compare- und bit-instruktionen können auch alle gepackt werden, fallen aber gegenüber multiplikation (2 einheiten) und division (1 einheit) sowieso nicht ins gewicht.

die parallelen kerne sind als ausweich-cache und für paralellisierbare ausführungspfade gedacht, sowie für unabhängige prozesse. jeweils eine kleine gruppe von kernen hat eine eigene anbindung an den hauptspeicher. die kommunikation zwischen prozessen geschieht über routing im speichercontroller, links zu benachbarten kernen und einen hochgetakteten message-bus.
35
Offtopic / Re: binäre Division
« am: 31. December 2012, 19:35 »
da die Verdrahtung einen bedeutenden Anteil an der Gesamtfläche hat
Auf einem echten CMOS-IC belegt die Verdrahtung keine zusätzliche Fläche da diese über dem Silizium in mehreren Kupfer-Ebenen gemacht wird.
Die Funktionen werden iterativ auf das Register angewendet. log2(128)=7, also muss 7-Fach verschaltet werden.

Im Schaltbild setze ich nur die (platz&zeit-)kritischen Instruktionen um. Das Prinzip an sich tut jedenfalls schon mal was es soll.
36
Offtopic / Re: binäre Division
« am: 31. December 2012, 02:07 »
Mit welchem Programm kann man Logik-Gatter mit Timing simulieren? Ich will das design parallel zu VHDL per Schaltbild machen, da die Verdrahtung einen bedeutenden Anteil an der Gesamtfläche hat.
37
Offtopic / Re: binäre Division
« am: 30. December 2012, 14:06 »
Welches EDA-Tool ist am Besten geeignet für die Entwicklung von CMOS-ICs? Ich habe die Lite-Versionen von CircuitLogix und OrCAD probiert und zuvor KTechLab. KiCad und gEDA habe ich nicht zum Laufen gebracht.

Was mir gefehlt hat:
- Konstruktion in CMOS, also kein TTL
- Simulation mit analogen Signalen und Timing
- Setzen und Lesen von Buswerten, in hex, nicht binär
- Export nach EDIF

Gibt es dafür evtl etwas von den bekannten Anbietern von EDA-Software? Ich bin auch in der Lage mir eine Testversion zu laden.
38
Lowlevel-Coding / Re: sysexit
« am: 07. December 2012, 09:09 »
OK, Magie hat gefehlt.
39
Lowlevel-Coding / Re: sysexit
« am: 06. December 2012, 21:29 »
ebenfalls #TS. Ich dachte eigentlich sysenter/exit haben nix mit TSS zu tun. Gibt es im Wiki einen getesteten Code für sysenter/exit?
40
Lowlevel-Coding / sysexit
« am: 06. December 2012, 15:56 »
Was ist an diesem Code falsch?

Gestartet mit qemu -kernel und CPUID 0xA29, GDT und TSS geladen.

wrmsr 0x174,0x08 ; wrmsr makro

mov edx,xyz
mov ecx,0

sysexit

xyz:
;nachricht ausgeben... stattdessen kommt ein #TS
jmp $

Gruß
Seiten: 1 [2] 3 4 ... 8

Einloggen