Stack register

Some designs such as the Data General Eclipse had no dedicated register, but used a reserved hardware memory address for this function.[1] While this is simpler than maintaining a stack, since there is only one return location per subroutine code section, there cannot be recursion without considerable effort on the part of the programmer.Typically push and pop are translated into multiple micro-ops, to separately add/subtract the stack pointer, and perform the load/store in memory.PUSH, POP, CALL and RET opcodes operate directly with the ESPd register.This design has remained largely unmodified in later Intel processors, although ESPO has been expanded to 64 bits.
processor registercall stackaccumulator-based architecturegeneral-purpose registersIBM System/360z/ArchitecturePDP-11Intel x86Data General EclipseHP 2100recursionstack machinememory segmenthardware registerarithmetic logic unitmicro-opsPentium MAMD K8BulldozerEllis Horwood LimitedSimon & Schuster International GroupProcessor technologiesModelsAbstract machineStored-program computerFinite-state machinewith datapathHierarchicalDeterministic finite automatonQueue automatonCellular automatonQuantum cellular automatonTuring machineAlternating Turing machineUniversalPost–TuringQuantumNondeterministic Turing machineProbabilistic Turing machineHypercomputationZeno machineRegister machinesCounterPointerRandom-accessRandom-access stored programArchitectureMicroarchitectureVon NeumannHarvardmodifiedDataflowTransport-triggeredCellularEndiannessMemory accessLoad–storeRegister/memoryCache hierarchyMemory hierarchyVirtual memorySecondary storageHeterogeneousFabricMultiprocessingCognitiveNeuromorphicInstruction setarchitecturesOrthogonal instruction setApplication-specificVISC architectureQuantum computingComparisonAddressing modesMotorola 68000 seriesStanford MIPSMIPS-XPowerPCPower ISAClipper architectureSuperHDEC AlphaETRAX CRISUnicoreItaniumOpenRISCRISC-VMicroBlazeOthersExecutionInstruction pipeliningPipeline stallOperand forwardingClassic RISC pipelineHazardsData dependencyStructuralControlFalse sharingOut-of-orderScoreboardingTomasulo's algorithmReservation stationRe-order bufferRegister renamingWide-issueSpeculativeBranch predictionMemory dependence predictionParallelismBit-serialInstructionPipeliningScalarSuperscalarThreadProcessVectorMemoryDistributedMultithreadingTemporalSimultaneousHyperthreadingSimultaneous and heterogenousPreemptiveCooperativeFlynn's taxonomyArray processing (SIMT)ProcessorperformanceTransistor countInstructions per cycleCycles per instructionInstructions per secondFloating-point operations per secondTransactions per secondSynaptic updates per secondPerformance per wattCache performance metricsComputer performance by orders of magnitudeCentral processing unitGraphics processing unitBarrelStreamTile processorCoprocessorMulti-chip moduleSystem in a packagePackage on a packageEmbedded systemMicroprocessorMicrocontrollerMobileUltra-low-voltageSoft microprocessorSystem on a chipMultiprocessorCypress PSoCNetwork on a chipHardwareacceleratorsAI acceleratorImage processorVision processing unitPhysics processing unitDigital signal processorTensor Processing UnitSecure cryptoprocessorNetwork processorBaseband processorWord size12-bit15-bit16-bit24-bit32-bit48-bit64-bit128-bit256-bit512-bitbit slicingSingle-coreMulti-coreManycoreHeterogeneous architectureCPU cacheScratchpad memoryData cacheInstruction cachereplacement policiescoherenceClock rateClock signalFunctionalunitsAddress generation unitFloating-point unitMemory management unitLoad–store unitTranslation lookaside bufferBranch predictorBranch target predictorIntegrated memory controllerInstruction decoderCombinationalSequentialLogic gateRegistersStatus registerRegister fileMemory bufferMemory address registerProgram counterControl unitHardwired control unitInstruction unitData bufferWrite bufferMicrocodeDatapathMultiplexerDemultiplexerMultiplierBinary decoderAddress decoderSum-addressed decoderBarrel shifterCircuitryIntegrated circuitMixed-signalPower managementBooleanDigitalAnalogPowermanagementDynamic frequency scalingDynamic voltage scalingClock gatingHistory of general-purpose CPUsMicroprocessor chronologyProcessor designDigital electronicsHardware security moduleSemiconductor device fabricationTick–tock modelPin grid arrayChip carrier