¿Cómo se implementa una pila en hardware para subrutinas de nivel de código de máquina?

Lo mismo que cualquier otra memoria a la que tenga acceso el procesador. Normalmente, la CPU tiene un registro llamado puntero de pila (SP). Este puede ser un registro de propósito general que se usa para ese propósito por convención, o un registro especialmente reservado. Depende de la CPU. Pero todo lo que contiene es una dirección: la parte superior actual de la pila. La CPU admitirá instrucciones como PUSH y POP que mueven valores de otros registros a la memoria en la dirección indicada por el SP, luego incrementan y disminuyen la dirección en SP. Eso es todo lo que se necesita para implementar la pila en sí. Habrá otros códigos opcionales compatibles que ajustan implícitamente el puntero de la pila, como ‘saltar a subrutina’ y ‘retorno de subrutina’, que, además de cualquier otro contenido de registro, empuja y resalta de manera crucial el valor del contador del programa (PC) en la pila.

Otro software probablemente configurará el puntero de la pila a una dirección de inicio conocida al inicio, y probablemente tenga otras variables en la memoria que indiquen cuánto puede crecer la pila, pero ese es el dominio del sistema operativo o cualquier código general que esté ejecutando la CPU .

More Interesting

¿Por qué algunos profesores dicen que nunca entendieron realmente las matemáticas o las estadísticas hasta que primero enseñaron un curso sobre ese tema?

¿Cuántas imágenes se requieren para las redes adversas generativas (GAN)?

¿Debo aprender a desarrollar backend si quiero ser ingeniero de aprendizaje automático?

Cómo comenzar a aprender lenguaje máquina a partir de tutoriales

¿Qué piensan los expertos en sistemas de recomendación sobre el documento 'Estimación del impacto causal de los sistemas de recomendación a partir de datos de observación'?

¿Qué empresas / startups en India están contratando para trabajos de ciencia de datos, análisis de datos o aprendizaje automático?

¿Cuáles son algunas preguntas abiertas relacionadas con bandidos multibrazos?

¿Es posible generar datos de expresión genética artificial? Las imágenes a veces se pueden perturbar para aumentar el tamaño de las muestras con fines de aprendizaje automático.

Cómo construir un sistema de calificación basado en comentarios usando Word2Vec (python)

¿Cómo se debe elegir el parámetro [math] l [/ math] en la regresión de mínimos cuadrados parciales?

¿Cómo puedo explicar que las unidades tradicionales de red neuronal recurrente (RNN) sufren el problema del gradiente de fuga?

¿Qué es el análisis de componentes principales en términos de super laicos?

¿Cuáles son los problemas de investigación 'hardcore' en visión artificial, aprendizaje automático y arquitectura informática?

¿Cómo se mejora y mejora la técnica de aprendizaje automático mientras nadie sabe exactamente cómo funciona?

¿Cuál es el mejor algoritmo para descubrir todos los nodos de la red y mantener esa red en tiempo real?