Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

Hab am Freitag Prüfung und folgende Frage in ähnlicher Ausführung hab ich schon öfters gelesen, aber ich komm nicht dahinter bzw. hab keine Formel. Hoffentlich kann mir jemand weiterhelfen...

Hier die Aufgaben:

Das schon etwas ältere PC-System AT 286 arbeitete mit 24 Bit Adressbreite und 16 Bit Datenbreite (Wortlänge), seine Taktfrequenz betrug 50 MHz, ein einzelner Hauptspeicherzugriff benötigte 100 ns. Wir nehmen vereinfachend an, dass jeder Maschinenbefehl des AT-286 grundsätzlich 2 Byte lang ist und genau einen Takt zur Ausführung benötigt. Das System besitze zunächst keinen Cache.

a) Welche Ausführungszeit ergibt sich für eine Berechnung, die 50000 Maschineninstruktionen benötigt? Berücksichtigen Sie dabei die Zeit für das Holen und Ausführen der Befehle.

B) Bei jedem zweiten Befehl wird noch ein 16-Bit Datenwort vom oder zum Hauptspeicher transferiert. Welche Gesamtausführungszeit ergibt sich damit?

Geschrieben

Um auszurechnen, wie lange das Holen eines Befehls dauert, musst du wissen, wieviele Hauptspeicherzugriffe du dafür brauchst. Wie lange ein Hauptspeicherzugriff dauert, steht im Aufgabentext.

Das Ausführen dauert einen Takt, das steht im Aufgabentext. Die Dauer eines Takts ist der Kehrwert der Taktfrequenz.

Geschrieben

Kann die Antwort so lauten:

a) Zeit = 1/50 MHz = 20 ns

20 ns x 50000 Befehle x 100 ns = 100000000 ns = 0,1 Sec

B) 16 Bit = 2 Byte entspricht 1 Takt für ein Datenwort, das widerum entspricht wieder 20 ns

20 ns * 25000 Datenwörter x 100 ns = 50000000 ns = 0,05 Sec

Gesamt = 0,15 Sec

Bitte erneut um Hilfe Klotzkopp... ich hoffe ich habs jetzt endlich. Bitte sag ja :)

Geschrieben
20 ns x 50000 Befehle x 100 ns
Das kann doch schon von den Einheiten her nicht passen. Du multiplizierst zwei Zeiten, und am Ende kommt wieder eine Zeit heraus? Geht nicht.

Versuch nicht, die Angaben irgendwie mitander zu verknüpfen. Geh systematisch vor.

50000 Instruktionen dauern 50000 mal so lange wie 1 Instruktion.

Instruktion besteht aus Instruktion holen und Instruktion ausführen

-> GESAMT = 50000 * (HOLEN + AUSFÜHREN)

Holen dauert 100 ns für 16 Bit (Datenbusbreite). Eine Instruktion ist 2 Byte groß, also braucht man 1 Hauptspeicherzugriff pro Instruktion. -> HOLEN = 100 ns

Ausführen dauert 1 Takt -> AUSFÜHREN = 1/50 MHz = 20 ns

-> GESAMT = 50000 * (100 ns + 20 ns)

= 6.000.000 ns

= 6 ms

Zu B)

Speicherzugriffe benötigen 100 ns, nicht 1 Takt.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...