Berechnung der Hauptspeicheradressen?

3 Antworten

Die Frage mit den Cache-Lines habe ich versucht selber zu lösen. Hier mein Lösungsansatz:

16Bit Worte = 2 Byte.

2 Byte * 64 Worte = 2 * 2^6 = 2^7.

1MB = 2^20 Byte

2^20 / 2^7 = 2^13.

Der Cache besitzt 2^13 Cache Lines.

Ist das richtig so oder habe ich irgendw ein Denkfehler? :S

cache = 2^20 bits = 1048576 bits

Words = cache / 16 = 65536 words

Lines = Words / 64 = 1024 lines

cimbomlu90 
Fragesteller
 03.08.2016, 18:38

Ich habe aber sowie Kiboman 2^13=8192 Lines raus

0
cimbomlu90 
Fragesteller
 03.08.2016, 18:44
@cimbomlu90

Habe dein Fehler gefunden. Am Ende wenn du die Lines rechnest darfst du die Words nicht durch 64 teilen, wenn du mit Bits rechnest. Falls du mit Bits rechnest muss du die 64 durch 8 teilen, also words / 8 = 8192 Lines

0
Zyrober  03.08.2016, 18:45
@cimbomlu90

Das meinte ich mit "MB nicht Mbit" ... hatte mit einem Mbit (2^20) gerechnet.

1

1 wort 16bit

64 worte haben 1024 bit

also hat eine line 128byte

also sind's 8192 lines

cimbomlu90 
Fragesteller
 03.08.2016, 18:40

Kannst du mir auch erklären, wie ich diese Frage ausrechnen kann:

Ein Rechner besitze 128 MB Hauptspeicherkapazität. Wieviel Bit müssen die
Hauptspeicheradressen mindestens besitzen, damit alle Adressen angesprochen
werden können?

0
cimbomlu90 
Fragesteller
 03.08.2016, 18:49
@Zyrober

Auf solche Kommentare kann ich verzichten. Ich habe hier eine ganz normale Frage gestellt, wenn du sie nicht beantworten willst ist ok. Vorhin habe ich sogar eine Lösung von dir verbessert nurmal so.

Ich konnte nicht zu den Vorlesungen in diesem Semester, wegen privaten Gründen. Versuche es mir jetzt alles elbst beizubringen. Sry wenn das Leben aller nicht so glatt läuft wie bei dir. Manche Menschen haben halt manchmal sehr große Probleme und müssen in diesen Momenten Prioritäten setzen. Keine Ahnung wie alt du bist, aber hörst dich schon nach so einem an, der direkt nach dem Abi angefangen hat zu studieren und nicht wirklich Ahnung vom Lbene hat.

0
Kiboman  03.08.2016, 18:49
@cimbomlu90

31 wobei die letzte adresse 1::0 ist, d.h. Nur das erste bit ist gekippt die anderen sind alle 0

1
cimbomlu90 
Fragesteller
 03.08.2016, 18:51
@Kiboman

Danke Kiboman. Kanns du mir auch einen ausführlichen Ansatz geben, falls dir das nichts ausmacht.

0
Kiboman  03.08.2016, 18:53
@cimbomlu90

quatsch die letzte adresse ist natürlich

0100::0000

kann ich wenn mein sohn im bett ist.

1
Zyrober  03.08.2016, 19:00
@cimbomlu90

Naja, immerhin ist es Informatik... Psychologie würde ich mit der Menschenkenntnis nicht studieren wollen :o)

Die Aufgabe an sich ist schon komisch. Wenn man es einfach ausrechnen würde (wieviel bit muss die Adresse lang sein, um jedes einzelne Bit von 128 MB adressieren zu können?), käme 30 heraus (128MB sind 1Gbit = 2^30). Aber sowas würde in meinen Augen keinen Sinn machen. Auch hier würde man wieder words benutzen. Niemand adressiert einzelne Bits. Selbst der erste wirkliche Mikroprozessor (Intel 4004) hatte 4 bit als kleinste adressierbare Einheit.

1
Zyrober  03.08.2016, 19:01
@Kiboman

30 reichen... du fängst ja mit ::0 an, nicht mit ::1

0
cimbomlu90 
Fragesteller
 03.08.2016, 19:07
@Zyrober

Ist eine Beispielklausur. Bei der Lösüng steht 27Bit, aber keine Ahnung wie man darauf kommt.

Du hast geschrieben, dass 128MB = 1GB sind. Kannst du mir kurz erklären wie du darauf kommst?

0
acdxx  03.08.2016, 19:13
@cimbomlu90

27 Bit, denn bei einer Adresslänge von 27 Bit können 2^27 Byte angesprochen werden. (2^27 Byte)/1024/1024 = 128 MB

2
Zyrober  03.08.2016, 19:23
@cimbomlu90

1 byte = 8 bit.  128 Megabyte = 1 Gigabit. (128 * 8 = 1024)

Deine Beispielklausur geht wahrscheinlich davon aus, dass Bytes addressiert werden müssen. (Was auch Quark ist...)

Mit 27 bits kann man 134.217.728 "Dinge" addressieren. Wenn diese Dinge Bytes sein sollen, dann reichen sie aus, um 128MB damit zu addressieren.

1
Kiboman  03.08.2016, 20:26
@acdxx

natürlich, du hast techt war mein fehler, Byte, bits, mega, mebi, bin am handy Durcheinander gekommen.

kam mir im nachhinein auch etwas komisch vor.

0
Kiboman  03.08.2016, 20:27
@Zyrober

ja auch aber wir wollen ja nicht jedes bit also doch 27

0