Кратко не смогу, попробую цитатами.
Смахнул у "Хакеров". :blush:
А вот и путь в дебри - вот здесь - более детально.
.
Регистр процессора — сверхбыстрая память внутри процессора, предназначенная прежде всего для хранения промежуточных результатов вычисления (регистр общего назначения/регистр данных) или содержащая данные, необходимые для работы процессора — смещения базовых таблиц, уровни доступа и т. д. (специальные регистры).
Доступ к значениям, хранящимся в регистрах как правило в несколько раз быстрее чем доступ к ячейкам оперативной памяти (даже если кеш-память содержит нужные данные), но объем оперативной памяти намного превосходит суммарный объем регистров (объем среднего модуля оперативной памяти сегодня составляет 1 Гб - 4 Гб[1], суммарная «ёмкость» регистров общего назначения/данных для процессора Intel 80x86 16 битов * 4 = 64 бита (8 байт)).
То есть физически каждый регистр - это маленький кусок памяти внутри самого процессора. Маленький, но оооочень быстрый.
Со стеком сложнее. Для начала почитай про очереди LIFO (ну и FIFO заодно, чтобы понять разницу), иначе будет сложно врубиться в схему его работы.
Физически у стека бывают разные реализации. В простейшем случае стек - это просто кусок оперативной памяти, на который указывает один из регистров. Поскольку доступ к регистрам - самый быстрый, и адрес вершины стека уже лежит там (то есть его не нужно никак высчитывать, просто бери и используй), то обращение к этой памяти также происходит на порядок быстрее, чем к обычным переменным.
Со стеком главное не запутаться в терминах. Стек, как и LIFO, - это просто названия принципа работы. А как этот принцип используется - другой вопрос. Например, в более высокоуровневых языках стек может создаваться программно просто как цепочка связанныъ кусков памяти, и может нести любую информацию, которую вложит туда программист. При этом такой программный-стек-цепочка отличается от стека вызовов подпрограмм (который и используется, когда ты пишешь push smth) и сосуществует с ним рядом: стек вызовов - при вызове процедур, программный стек - по усмотрению программиста.
Более подробно о стеке вызовов, который тебя, видимо, и интересует, здесь:
перейти по ссылке .
А вот и путь в дебри - вот здесь - более детально.