-
- Ну вот и не надо полоскать доброе имя Гарварда, дабы не заводить в
дебри. Сказали бы как есть: аффтары авра приняли плохое решение,
разделив адресные пространства, и теперь все отдуваются. Причём
трубили же, что сделают проц, на который хорошо лягут си, а потом
залажали в самом интересном месте. - SciFi(18.01.2023 10:42)
- Нiт. Раздельные адресные пространства сделаны чтобы иметь отдельные
шины обращения к данным и коду программы и иметь возможность
считывать код команды параллельно с записью/чтением данных. - Boвa(19.01.2023 05:53)
- Интересно, как же Cortex-M3 проворачивает именно этот трюк с единым
адресным пространством? Наверное, какие-то волшебники его сделали. - SciFi(19.01.2023 07:59)
- Можно было и там сделать, но тогда нужен синхронизатор обращений к памяти и длительность циклов обращения к памяти будет плавающая. Ну или двухпортовую рам лепить с двумя независимыми шинами или кеш.В общем это слишком сложно для 8 битника. - Boвa(21.01.2023 08:24)
- У него длина адреса позволяет хранить признак адресного пространства прямо в указателе. - LightElf(19.01.2023 16:21)
- Интересно, как же Cortex-M3 проворачивает именно этот трюк с единым
адресным пространством? Наверное, какие-то волшебники его сделали. - SciFi(19.01.2023 07:59)
- Это для того, чтобы иметь 128К флеш и 64К озу, но при этом 16
битные указатели. Хитрый план. - =AlexD=(18.01.2023 11:11)
- Это не единственный способ получить 128К ПЗУ + 64К ОЗУ. Многие
справились с этой задачей, причём обычно лучше, чем авр. - SciFi(18.01.2023 11:16)
- А какие тут собственно варианты? Только более длинные указатели. А
это сам понимаешь, лишние накладные по тактам и по памяти. - =AlexD=(18.01.2023 11:25)
- Нет. Не делай вид, что не знаешь. Бывают короткие и длинные режимы
адресации, регистры сегментов, можно делать конфигурируемую границу
между ROM и RAM в адресном пространстве. Чипы, у которых
ROM+RAM<=64K, чем провинились? Короче, есть нормальные
решения, но кто-то поленился. - SciFi(18.01.2023 11:32)
- Разные типы указателей - это разные типы указателей, они и сейчас в AVR есть, можешь считать их разными аппаратными сегментами. Сегментная адресация х86 - это то, от чего страдало целое поколение погромиздов, и от чего отбрыкались с большим облегчением с переходом на 32 бит (хотя они никуда не делись, но их просто не используют). Собственно всё это демонстрирует, что лучше простенький 32битник чем навороченный 8/16 битник. Не получается тут большой экономии. - =AlexD=(18.01.2023 11:42)
- Нет. Не делай вид, что не знаешь. Бывают короткие и длинные режимы
адресации, регистры сегментов, можно делать конфигурируемую границу
между ROM и RAM в адресном пространстве. Чипы, у которых
ROM+RAM<=64K, чем провинились? Короче, есть нормальные
решения, но кто-то поленился. - SciFi(18.01.2023 11:32)
- А какие тут собственно варианты? Только более длинные указатели. А
это сам понимаешь, лишние накладные по тактам и по памяти. - =AlexD=(18.01.2023 11:25)
- Это не единственный способ получить 128К ПЗУ + 64К ОЗУ. Многие
справились с этой задачей, причём обычно лучше, чем авр. - SciFi(18.01.2023 11:16)
- Нiт. Раздельные адресные пространства сделаны чтобы иметь отдельные
шины обращения к данным и коду программы и иметь возможность
считывать код команды параллельно с записью/чтением данных. - Boвa(19.01.2023 05:53)
- Ну вот и не надо полоскать доброе имя Гарварда, дабы не заводить в
дебри. Сказали бы как есть: аффтары авра приняли плохое решение,
разделив адресные пространства, и теперь все отдуваются. Причём
трубили же, что сделают проц, на который хорошо лягут си, а потом
залажали в самом интересном месте. - SciFi(18.01.2023 10:42)