Skip to main content

Apa itu register tumpukan?

Sehubungan dengan komputer, register tumpukan adalah lokasi memori mdash;Biasanya pada unit pemrosesan pusat (CPU) atau perangkat keras pemrosesan terkait mdash;Itu memegang alamat saat ini dari bagian atas wilayah memori komputer terpisah yang dikenal sebagai tumpukan.Daftar tumpukan penting karena, tanpa itu, komputer perlu menerapkan metode yang lebih lambat dan lebih rentan untuk menelusuri aliran eksekusi suatu program.Di sebagian besar arsitektur sistem, register stack adalah register khusus sehingga tidak secara tidak sengaja diakses saat bekerja dengan register memori lainnya.Lebih jarang, register tumpukan dapat menjadi register umum yang biasanya dapat diakses oleh suatu program tetapi yang sengaja tidak digunakan karena penggunaannya ditentukan oleh pabrikan.Ketika sistem komputer berisi dua atau lebih register tumpukan, yang berarti ada berpotensi lebih dari satu tumpukan, arsitekturnya dikenal sebagai mesin tumpukan.

pada tingkat pemrograman komputer terendah, tumpukan adalah area memori mdash;biasanya dalam memori akses acak (RAM) mdash;Itu memiliki jenis perilaku yang terdefinisi dengan baik.Tumpukan dapat memiliki informasi yang ditambahkan ke dalam proses yang disebut mendorong, atau dapat membuat informasi yang diambil darinya, yang disebut Popping.Model untuk tumpukan adalah yang pertama, yang terakhir, yang berarti bahwa jika beberapa informasi didorong ke dalam tumpukan, maka elemen pertama yang didorong akan menjadi yang terakhir yang muncul, sedangkan elemen terakhir didorong dalam surat wasiatJadilah yang pertama diambil dengan perintah pop.Daftar tumpukan melacak bagian atas tumpukan, yang selalu merupakan item terakhir yang didorong ke dalamnya.

Ketika program komputer dieksekusi, setiap instruksi yang dieksekusi memiliki alamat memori spesifik di mana ia disimpan sementara untuk durasi tersebutprogram.Jika suatu program memanggil subrutin mdash;atau prosedur, fungsi atau metode, tergantung pada bahasa pemrograman mdash;Kemudian program harus melompat ke alamat memori kode subrutin untuk menjalankannya.Alamat di mana aliran kontrol program masuk ke cabang ke subrutin didorong ke tumpukan sehingga diingat.Ketika subrutin telah menyelesaikan pelaksanaan, program tahu di mana ia harus kembali dalam kode utama dengan meluncurkan alamat kode dari bagian atas tumpukan, di mana register tumpukan menunjuk.

Meskipun ada metode lain yang dapat digunakan untuk digunakanMencapai hasil yang sama, menggunakan register tumpukan dan tumpukan memungkinkan untuk konsep pemrograman penting yang dikenal sebagai rekursi.Fungsi rekursif adalah fungsi yang, dalam kode sendiri, memanggil dirinya sendiri.Proses ini biasanya digunakan dalam penyortiran algoritma dan untuk fungsi matematika tertentu.Daftar Stack melacak semua alamat terakhir di mana eksekusi bercabang, sehingga fungsi dapat dengan aman menerapkan rekursi dengan pengetahuan bahwa, pada akhirnya, kontrol akan kembali ke titik asal.Salah satu komplikasi terjadi jika seluruh tumpukan menjadi penuh dan tidak ada ruang dalam memori, dalam hal ini tumpukan overflow terjadi, menghentikan pelaksanaan program.