Автор |
Сообщение |
|
|
Заголовок сообщения: |
|
|
|
как хотите, стек это некий механизм или устройство - тут я так понимаю вопросов нет
для промежуточного хранения данных - как и в случае с регистром (в любом случае в стеке данные в отличие от массива и канала данные не хранят)
с двумя фундаментальными поддерживаемыми операциями (к чайнику можно и брилианты прикрутить, при этом чайником он останется, а вот в брилиантах без чайника воду не вскипятить!) - извлечение и заталкивание (все остальное лишнее).
Доступ ведется только с одного конца (а вот с какого не важно, то есть стек может расти и вверх и вниз)
все остальное - это уже дополнительные свойства, которых может не быть, а значит они не являются фундаментальными свойствами стека.
Таким образом, если некое устройство позовляет заталкивать данные, извлекать как это происходит в стеке, а так же читать верхнее значение и перезаписывать его без заталкивания, то его надо рассматривать как составное устройство состоящее из регистра и стека под ним в не зависимости от методики реализации (в железе или внутри ФВМ).
Таким образом, как я уже отмечал выше, у Форт-процессора как минимум есть 1 регистр TOS - аккумулятор, который работает с другим регистром данных SUB (например операции ! + - , но, кстати, SWAP не требует, чтобы SUB был регистром!!!) а так же два адресных регистра: IP и RTOS
все.
как хотите, стек это некий механизм или устройство - тут я так понимаю вопросов нет
для промежуточного хранения данных - как и в случае с регистром (в любом случае в стеке данные в отличие от массива и канала данные не хранят)
с двумя фундаментальными поддерживаемыми операциями (к чайнику можно и брилианты прикрутить, при этом чайником он останется, а вот в брилиантах без чайника воду не вскипятить!) - извлечение и заталкивание (все остальное лишнее).
Доступ ведется только с одного конца (а вот с какого не важно, то есть стек может расти и вверх и вниз)
все остальное - это уже дополнительные свойства, которых может не быть, а значит они не являются фундаментальными свойствами стека.
Таким образом, если некое устройство позовляет заталкивать данные, извлекать как это происходит в стеке, а так же читать верхнее значение и перезаписывать его без заталкивания, то его надо рассматривать как составное устройство состоящее из регистра и стека под ним в не зависимости от методики реализации (в железе или внутри ФВМ).
Таким образом, как я уже отмечал выше, у Форт-процессора как минимум есть 1 регистр TOS - аккумулятор, который работает с другим регистром данных SUB (например операции ! + - , но, кстати, SWAP не требует, чтобы SUB был регистром!!!) а так же два адресных регистра: IP и RTOS
все.
|
|
|
|
Добавлено: Чт авг 20, 2009 19:22 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Массив он только в программном случае, но не в железном.
В железе есть стек и только стек. Без всяких массивов.
Массив он только в программном случае, но не в железном.
В железе есть стек и только стек. Без всяких массивов.
|
|
|
|
Добавлено: Чт авг 20, 2009 18:49 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Структура данных, которая в форте называется стек данных, имеет свойства стека и одномерного массива одновременно и
не сводится ни к стеку ни к массиву - правильнее ее называть стеко-массив.
Структура данных, которая в форте называется стек данных, имеет свойства стека и одномерного массива одновременно и
не сводится ни к стеку ни к массиву - правильнее ее называть стеко-массив.
|
|
|
|
Добавлено: Чт авг 20, 2009 09:55 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
WingLion писал(а): Стек - это буфер для хранения данных, организованный по принципу Last In First Out (LIFO).
Стек - это устройство для хранения данных, организованное по принципу Last In First Out (LIFO).
[quote="WingLion"]Стек - это буфер для хранения данных, организованный по принципу Last In First Out (LIFO).[/quote]
[b]Стек - это устройство для хранения данных, организованное по принципу Last In First Out (LIFO).[/b]
|
|
|
|
Добавлено: Чт авг 20, 2009 07:27 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
вопрос писал(а): Поскольку форт - "стековая машина" Forth - это концепция в первую очередь. вопрос писал(а): то, получается ... что форт основан на краткосрочном хранении данных (даже звучит как-то странно)
потому что процессоры данные не хранят они их обрабатывают.
[quote="вопрос"]Поскольку форт - "стековая машина"[/quote] Forth - это концепция в первую очередь.
[quote="вопрос"]то, получается ... что форт основан на краткосрочном хранении данных (даже звучит как-то странно)[/quote]
потому что процессоры данные не хранят 8) они их обрабатывают.
|
|
|
|
Добавлено: Чт авг 20, 2009 00:41 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Цитата: скорее механизм для краткосрочного хранения данных
Поскольку форт - "стековая машина", то, получается ... что форт основан на краткосрочном хранении данных
(даже звучит как-то странно)
[quote]скорее механизм для краткосрочного хранения данных[/quote]
Поскольку форт - "стековая машина", то, получается ... :shock: что форт основан на краткосрочном хранении данных
(даже звучит как-то странно)
|
|
|
|
Добавлено: Чт авг 20, 2009 00:35 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
вопрос писал(а): ЛАдно, попробую я - начнём с того, что стек - структура данных, не так ли??
скорее механизм для краткосрочного хранения данных
[quote="вопрос"]ЛАдно, попробую я - начнём с того, что стек - структура данных, не так ли??[/quote]
скорее механизм для краткосрочного хранения данных
|
|
|
|
Добавлено: Чт авг 20, 2009 00:25 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
ЛАдно, попробую я - начнём с того, что стек - структура данных, не так ли??
А зачем данным лежать в струтктуре? Чтобы существовал определённый алгоритм образения к этой структуре... отличающийся от алгоритма обращения к другой структуре...
Ну как?
Если неплохо, можно и определение
ЛАдно, попробую я - начнём с того, что стек - структура данных, не так ли??
А зачем данным лежать в струтктуре? Чтобы существовал определённый алгоритм образения к этой структуре... отличающийся от алгоритма обращения к другой структуре...
Ну как?
Если неплохо, можно и определение :D
|
|
|
|
Добавлено: Ср авг 19, 2009 22:16 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Kopa писал(а): TOP и SUB не совсем регистры т.к. они меняют своё расположение в стековой машине. гм, register renaming существует и не на стековых процессорах, это если говорить о команде SWAP, которая аналог exch команды на ix86 архитектуре. С другой стороны функционально они никогда не меняют своего положения. Kopa писал(а): И хватит ли RTOS регистра для стека возвратов?
тут надо смотреть на базовую модель Форт-машины.
для стека возвратов да, достаточно двух регистров RTOS и IP
[quote="Kopa"]TOP и SUB не совсем регистры т.к. они меняют своё расположение в стековой машине.[/quote] гм, register renaming существует и не на стековых процессорах, это если говорить о команде SWAP, которая аналог exch команды на ix86 архитектуре. С другой стороны функционально они никогда не меняют своего положения.
[quote="Kopa"]И хватит ли RTOS регистра для стека возвратов?[/quote]
тут надо смотреть на [url=http://fforum.winglion.ru/viewtopic.php?t=2233]базовую модель Форт-машины[/url].
для стека возвратов да, достаточно двух регистров RTOS и IP
|
|
|
|
Добавлено: Ср авг 19, 2009 21:49 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
mOleg писал(а): Kopa писал(а): А всех остальные, в базовых примитивах, можно вывести из использования этих двух? это просто означает, что Форт-Машина, это не чисто стековая машина, а регистро-стековая, и минимальное количество регистров = 4: IP RTOS TOP SUB
TOP и SUB не совсем регистры т.к. они меняют своё расположение в стековой машине.
И хватит ли RTOS регистра для стека возвратов?
[quote="mOleg"][quote="Kopa"]А всех остальные, в базовых примитивах, можно вывести из использования этих двух?[/quote] это просто означает, что Форт-Машина, это не чисто стековая машина, а регистро-стековая, и минимальное количество регистров = 4: IP RTOS TOP SUB[/quote]
TOP и SUB не совсем регистры т.к. они меняют своё расположение в стековой машине.
И хватит ли RTOS регистра для стека возвратов?
|
|
|
|
Добавлено: Ср авг 19, 2009 21:44 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Kopa писал(а): А всех остальные, в базовых примитивах, можно вывести из использования этих двух?
это просто означает, что Форт-Машина, это не чисто стековая машина, а регистро-стековая, и минимальное количество регистров = 4:
IP RTOS TOP SUB
[quote="Kopa"]А всех остальные, в базовых примитивах, можно вывести из использования этих двух?[/quote]
это просто означает, что Форт-Машина, это не чисто стековая машина, а регистро-стековая, и минимальное количество регистров = 4:
IP RTOS TOP SUB
|
|
|
|
Добавлено: Ср авг 19, 2009 21:37 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
mOleg писал(а): garbler писал(а): лучше что-нибудь попроще.... давайте к стеку вернёмся. на мой взгляд, со стеком уже разобрались, т.к. формулировка дана, и главный вопрос решон - стек поддерживает всего две фундаментальные операции: заталкивание и извлечение.
А всех остальные, в базовых примитивах, можно вывести из использования этих двух?
[quote="mOleg"][quote="garbler"]лучше что-нибудь попроще.... давайте к стеку вернёмся.[/quote] на мой взгляд, со стеком уже разобрались, т.к. формулировка дана, и главный вопрос решон - стек поддерживает всего две фундаментальные операции: заталкивание и извлечение.[/quote]
А всех остальные, в базовых примитивах, можно вывести из использования этих двух?
|
|
|
|
Добавлено: Ср авг 19, 2009 21:35 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
garbler писал(а): лучше что-нибудь попроще.... давайте к стеку вернёмся.
на мой взгляд, со стеком уже разобрались, т.к. формулировка дана, и главный вопрос решон - стек поддерживает всего две фундаментальные операции: заталкивание и извлечение.
[quote="garbler"]лучше что-нибудь попроще.... давайте к стеку вернёмся.[/quote]
на мой взгляд, со стеком уже разобрались, т.к. формулировка дана, и главный вопрос решон - стек поддерживает всего две фундаментальные операции: заталкивание и извлечение.
|
|
|
|
Добавлено: Ср авг 19, 2009 21:26 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
А если спросить у "Великого учителя" - google что такое стек?
А если спросить у "Великого учителя" - google что такое стек?
|
|
|
|
Добавлено: Ср авг 19, 2009 21:19 |
|
|
|
|
|
Заголовок сообщения: |
|
|
|
Kamikaze писал(а): О, стек!!! В форте ведь нет ограничений "на помечтать"? Пытаюсь сейчас стек строк от ~day использовать под одну задачку - и так понравилось, что захотелось "многостаночности" - отдельные стеки под адреса, под данные, под строки и т.п. Вплоть до того, что для каждого типа данных свой стек. Вобщем - стекоориентированную среду программирования.
Я давно уже такое придумываю
[quote="Kamikaze"]О, стек!!! В форте ведь нет ограничений "на помечтать"? 8) Пытаюсь сейчас стек строк от ~day использовать под одну задачку - и так понравилось, что захотелось [i]"многостаночности"[/i] - отдельные стеки под адреса, под данные, под строки и т.п. Вплоть до того, что для каждого типа данных свой стек. Вобщем - [i]стекоориентированную среду программирования[/i].[/quote]
Я давно уже такое придумываю
|
|
|
|
Добавлено: Ср авг 19, 2009 11:43 |
|
|
|
|