Hitung kepadatan kode dan lalu lintas memori untuk kode perakitan

pemrograman


Diasumsikan bahwa nilai variabel A, B, C, D, F terletak di memori pusat komputer. Semua variabel adalah bilangan bulat 4 byte. Opcode berukuran 1 byte, kecuali operasi push/pop yang berukuran 2 bit. Pengalamatan memori adalah 16 bit dan pengalamatan register adalah 5 bit. Hitung kepadatan kode dan lalu lintas memori untuk kode berikut:

A)

DORONG D
DORONG B
DORONG A
MENAMBAHKAN
DORONG C
MUL
DIV
POP F
B)

BEBAN A
TAMBAHKAN B
TOKO T
BEBAN C
DIV D
MUL T
TOKO F
Misalnya, saya telah membuat beberapa perhitungan

Apa yang saya coba:

Kepadatan Kode untuk A) = jumlah push/pop* 2bit + nomor. Instruksi ALU * 8 bit + jumlah push/pop * 16 bit = 5*2+ 3*8 + 5 *16 = 10+24+80=114 sedikit

Kepadatan kode untuk B) = Jumlah total instruksi * 8bit + jumlah Load/Store * 16 bit = 7*8 + 4*16 =56+64 =120 bit

Lalu lintas memori Kasus A = ?????
Lalu Lintas Memori Kasus B = ????

Saya tidak tahu apakah perhitungan ini baik-baik saja, dan bagaimana dengan lalu lintas Memori?

Solusi 1

Meskipun kami sangat bersedia membantu mereka yang mengalami kesulitan, bukan berarti kami ada di sini untuk melakukan semuanya untuk Anda! Kami tidak dapat melakukan semua pekerjaan, Anda dibayar untuk ini, atau itu bagian dari nilai Anda dan sama sekali tidak adil bagi kami untuk melakukan semuanya untuk Anda.

Jadi kami membutuhkan Anda untuk melakukan pekerjaan itu, dan kami akan membantu Anda ketika Anda mengalami kebuntuan. Itu tidak berarti kami akan memberi Anda solusi langkah demi langkah yang bisa Anda berikan!
Mulailah dengan menjelaskan di mana Anda berada saat ini, dan apa langkah selanjutnya dalam proses tersebut. Kemudian beritahu kami apa yang telah Anda coba agar langkah berikutnya berhasil, dan apa yang terjadi ketika Anda berhasil.

Dan perhitungan kecil apa yang telah Anda lakukan sejauh ini tampak sangat mencurigakan, atau definisi mesin virtual Anda (sekali lagi, kami menyebutkan ini di kedua pertanyaan Anda yang lain) diperlukan bahkan untuk mulai menghitung angka sebenarnya: baik register Anda semuanya ukuran yang berbeda, atau Anda mengarang angkanya …
Dengan riwayat pertanyaan Anda, Anda sepertinya mencoba membuat orang lain mengerjakan pekerjaan rumah Anda dengan melakukan pekerjaan sembarangan dan berharap hasil lengkap untuk diserahkan sebagai pekerjaan Anda sendiri…

Jika Anda mengalami masalah saat memulai, ini mungkin bisa membantu: Cara Menulis Kode untuk Memecahkan Masalah, Panduan Pemula[^]

コメント

タイトルとURLをコピーしました