Koja je razlika između pokazivača steka i programskog brojača

Sadržaj:

Anonim

The glavna razlika između pokazivača steka i programskog brojača je da stack pokazivač je registar koji pohranjuje adresu posljednjeg zahtjeva programa u stek, dok je programski brojač registar koji pohranjuje adresu sljedeće naredbe koja će se izvršiti iz memorije.

Registri su male memorijske jedinice ugrađene u CPU. Oni privremeno pohranjuju podatke i pomažu u povećanju performansi računala. Veličina registara može varirati ovisno o arhitekturi računala. Postoje različite vrste registara i oni izvode različite operacije. Dva takva registra su pokazivač steka i programski brojač.

CPU, pokazivač uputa, programski brojač, registar, pokazivač steka

Što je to Stack Pointer

Niz je struktura podataka u računalima. Umetanje novih stavki u hrpu naziva se push, dok se uklanjanje stavki iz hrpe naziva pop. Na primjer, pretpostavimo da postoje tri elementa kao što su A, B i C. Prve stavke gurnute u hrpu su A. Zatim se dodaju B i C. B je na vrhu A, dok je C na vrhu A. Sada je najviši element C. Prilikom uklanjanja stavki, C prvo iskoči, zatim B i na kraju A. Najprije se iskaču zadnje stavke. Stoga hrpa radi prema posljednjem načinu in-first out. Ovo je osnovna operacija slaganja.

Slika 1: Osnovni rad snopova

Pokazivač na hrpu ili a registar steka, je mali registar koji pomaže u rukovanju s hrpom. Pohranjuje adresu posljednjeg zahtjeva programa. Ovdje se nedavno uneseni zahtjev nalazi na vrhu hrpe. Prilikom umetanja zahtjeva programa u stog, pokazivač steka prvo se povećava za jedan. Zatim se zahtjev gura u hrpu. Prilikom uklanjanja zahtjeva programa iz hrpe, zahtjevi prvo iskaču iz hrpe. Zatim se pokazivač stoga smanjuje za jedan. Slično, pokazivač na hrpu prati operacije slaganja.

Što je programski brojač

Računalni program upućuje CPU da izvrši zadatak. Dakle, sastoji se od uputa. Ove upute su u slijedu. CPU dohvaća ove upute jednu za drugom. Brojač programa je registar koji sadrži adresu sljedeće naredbe koju treba izvršiti. Pokazivač upute, uputa registar adresa i brojač uputa neki su od njegovih alternativnih naziva.

Svaki put kad CPU dohvati instrukciju, programski brojač se povećava za jedan. Nakon preuzimanja upute, ona upućuje na sljedeću instrukciju u slijedu. Poništavanjem računala vrijednost brojača programa bit će nula.

Razlika između pokazivača steka i programskog brojača

Definicija

Pokazivač na hrpu je registar CPU -a čija je svrha pratiti hrpu poziva. Nasuprot tome, programski brojač je registar CPU -a koji pokazuje gdje se računalo nalazi u programskom slijedu. Ove definicije objašnjavaju osnovnu razliku između pokazivača steka i programskog brojača.

Sinonimi

Pokazivač na hrpu naziva se i a registar steka dok se programski brojač naziva i an pokazivač upute, registar adresa uputa i brojač uputa.

Funkcionalnost

Funkcionalnost je također velika razlika između pokazivača steka i programskog brojača. Pokazivač steka sadrži adresu posljednjeg zahtjeva programa u steku, dok programski brojač sadrži adresu sljedeće upute koju treba izvršiti.

Upotreba

Dok pokazivač steka prati operacije slaganja, programski brojač pomaže u praćenju trenutne točke izvođenja. Dakle, ovo je još jedna razlika između pokazivača steka i programskog brojača.

Zaključak

Pokazivač steka i programski brojač dva su važna registra. Zaključno, glavna razlika između pokazivača steka i programskog brojača je u tome što je pokazivač steka registar koji pohranjuje adresu posljednjeg programskog zahtjeva u steku, dok je programski brojač registar koji pohranjuje adresu sljedeće naredbe koju treba izvršiti iz sjećanja.

Referenca:

1. „Što je stack pokazivač? - Definicija s WhatIs.com. " WhatIs.com, dostupno ovdje.2. „Što je programski brojač? - Definicija s WhatIs.com. " WhatIs.com, dostupno ovdje.

Ljubaznošću slike:

1. “Lifo stack” Autor Maxtremus - Vlastiti rad (CC0) putem Commons Wikimedia2. "Dijagram procesora MC6800" Napisao Swtpc6800 hr: Korisnik: Swtpc6800 Michael Holley - Vlastiti rad (javna domena) putem zajedničke Wikimedije

Koja je razlika između pokazivača steka i programskog brojača