answersLogoWhite

0


Best Answer

Registers are normally memory spaces internal to the processor or very close to it. They are generally faster than main memory and will be small in size and will hold very frequently used data.

Register stacks are a set of such register memory locations.

Memory refers to computers main memory outside CPU. It is used to keep data and programs. Memory stack is a series of memory locations.
The difference between register stack and memory stack is...

User Avatar

Wiki User

9y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

9y ago

Registers are momentary spaces for internal processes that are being done by the processor. While, memory stacks are a series of memory spaces that is used in the processes that is done by the processor and are temporarily stored in registers.

This answer is:
User Avatar

User Avatar

Wiki User

11y ago

When the stack pointer is stored in a register (usually called SP), it is a pointer-register, but there are other pointer-registers, too; Instruction Pointer (IP) is another example.

Stack Pointer (SP) is a 16-bit register pointing to program stack, ie it is used to hold the address of the top of stack. The stack is maintained as a LIFO with its bottom at the start of the stack segment (specified by the SS segment register).Unlike the SP register, the BP can be used to specify the offset of other program segments.

Base Pointer (BP) is a 16-bit register pointing to data in stack segment. It is usually used by subroutines to locate variables that were passed on the stack by a calling program. BP register is usually used for based, based indexed or register indirect addressing.

Source Index (SI) is a 16-bit register. SI is used for indexed, based indexed and register indirect addressing, as well as a source data address in string manipulation instructions. Used in conjunction with the DS register to point to data locations in the data segment.

Destination Index (DI) is a 16-bit register. Used in conjunction with the ES register in string operations. DI is used for indexed, based indexed and register indirect addressing, as well as a destination data address in string manipulation instructions. In short, Destination Index and SI Source Index registers are used to hold address.

This answer is:
User Avatar

User Avatar

Wiki User

11y ago

Stack memory is static memory within the program's data segment and is allocated at compile time. Heap memory is dynamic memory allocated upon the free store at runtime.

This answer is:
User Avatar

User Avatar

Anonymous

Lvl 1
3y ago

The difference between the memory stack and the register stack is : ... The memory stack is slower than the register stack since the register stack needs not a memory access being that the register is internal to the CPU.

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What is the difference between register stacks and memory stacks?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Engineering

How many stacks did the Titanic have?

Four stacks. The boilers used 3 of the stacks for exhaust, the fourth was used to vent Titanics' numerous kitchens and galleys.


Why is a process address space divided into multiple regions?

Each process uses memory regions for different purposes and we give these regions different labels to identify them. At the lowest level is static memory. This is where all the program's constants, static variables and global variables are stored. This area is initialised from information stored in the program's data segment and this region is usually allocated close to the program's text segment (the executable code). Static memory is fixed size. Every thread in a process requires its own stack. Thus every program has at least one stack. Stacks are allocated at the top of the address space and are fixed size. The thread's stack pointer keeps track of the top of the stack, thus memory can be quickly allocated and released simply by adjusting the stack pointer. A thread's stack is used to store function return addresses, function arguments and local variables, exception handlers and return values. All other (unused) memory between the static memory and the stacks is known as the heap or free store. The heap is used to dynamically allocate and release memory as and when required and is particularly useful for storing large data structures that are either too large to allocate on the stack or have variable length and are therefore unsuitable to be stored in static memory. Either static memory or the stack must be used to keep track of dynamic memory allocations, but once memory is allocated on the heap it can be used to keep track of further dynamic allocations. It is often useful to provide your own dynamic memory manager to allocate regions of memory that can then be used to store dynamic structures, and thus keep the number allocation/deallocation operations to a minimum. Once memory has been allocated, there is no performance difference between the separate regions since all regions use the exact same memory hardware. The only cost is in allocating (or deallocating) memory because each allocation (or deallocation) requires an operating system request. By allocating chunks of memory rather than on an as-required basis, you improve performance.


What is the minimum number of stacks of size 10 required to implement a queue to size 10?

2 stacks required


How much is ten stacks?

10,000


Breadth First search is used in?

stacks

Related questions

What is the difference between energy pyramid and food web?

the difference is that energy pyramids show life and food pyramids are just stacks of food


Why dynamic stacks need not to check overflows?

Dynamic stacks do not need to check for overflow, per se, because they will automatically allocate extra storage if it is needed. However, it is still necessary to check for the out-of-memory condition, so the truth is that dynamic stacks do need to check for overflow, so to speak, because out-of-memory is similar in consequences to overflow.


How much space should be allowed between stacks of product in the walk-in freezer at mcdonalds?

space should be allowed between stacks of product in the walk-in freezer


How do you separate the two hay stacks on poptropica?

jump in between them


How hard do you roll off one ecstasy pill?

Depends on the stack you take there's a big difference between double and quad stacks and the base of the pill. Watchout for the methbombs. Lmao


Differences between stacks and qeues?

stacks work in by the process of (LIFO) last in first out. While queues use the process of (FIFO) first in first out.


What haystack is the hidden lab under poptropica?

it is hidden in between the stacks.


She searched among the stacks and on the shelves what is the object of the preposition among?

The object of the preposition "among" is "the stacks and on the shelves." The preposition "among" shows the relationship between the subject "she" and the location where she searched, which includes both the stacks and the shelves.


What section of memory is used to make stack?

Stack memory is memory assigned to a task or other instruction loop that it uses to perform instructions. Stack is used any time variables are declared inline with the code (see example below). Stack is also used for preserving registers whenever the processor switches contexts (from task to interrupt, between interrupts, or between tasks). Stack is provide either by the Operating System when the task is started, statically when a task is defined (as would be in an RTOS), or at compile time if there is no operating system. In the third case, the stacks in the system are assigned for each of the various interrupt contexts and the main loop. Stack usage example: void somefunc(int a) { // "int a" will be in a CPU register int i=0; // May be either a CPU register or on the stack, depending on CPU architecture and compiler. char c[10]; // Will exist on the stack struct somestruct *ss=malloc(sizeof(struct somestruct)); // The memory that ss points to will be in the "heap", the pointer to this memory will be on the stack. }


How function calls may be implemented using stacks for return values?

Function call mechanisms are architecture dependent. The best way to understand how function calls work on a given architecture is to examine the assembly instructions generated by your compiler. On x86 architecture, you will probably find the EAX register is used to return values to callers. This register either holds the value itself (if it is small enough to fit in the register) or it will hold the memory address where the value will be found. The compiler can determine which method to use and generate the appropriate machine instructions.


Where is zacks room on steamworks?

It is under two stacks of hay by a farmer. Slide the stacks apart by going in between them. There should be a door. Open it with the key you received earlier.


What has the author Barry Bowes written?

Barry Bowes has written: 'Between the stacks'