-
- То есть Cortex-M3 — это модифицированных гарвард? Это прекрасно. В
этой же статье в википедии сказано, что и AVR — модифицированный
гарвард. SciFi(390 знак., 18.01.2023 10:36)
- В случае AVR адресные пространства разные. - Dingo(18.01.2023 10:46)
- 51й тоже более чем Гарвард, но компилятор кейла, например,
прекрасно разруливает сам с чем работаешь. Да, наверное с
накладными, да похер на на них - если ресурсов нема добро
пожаловать в асм. - POV(18.01.2023 10:48)
- Недавно писал кое-чего под 51, на Цэ в кейле. Таки на обмене в
250кбит/с разница между "поместить буфер в data" и "поместить буфер
в xdata" заметна невооруженным глазом. - LightElf(18.01.2023 13:08)
- это не имеет отношения к передаче указателя. тут тупо больше команд
на запись байта в паять. - POV(18.01.2023 14:47)
- Указатель - три байта вместо одного. Сильно разная разница. - LightElf(18.01.2023 14:49)
- это не имеет отношения к передаче указателя. тут тупо больше команд
на запись байта в паять. - POV(18.01.2023 14:47)
- Недавно писал кое-чего под 51, на Цэ в кейле. Таки на обмене в
250кбит/с разница между "поместить буфер в data" и "поместить буфер
в xdata" заметна невооруженным глазом. - LightElf(18.01.2023 13:08)
- 51й тоже более чем Гарвард, но компилятор кейла, например,
прекрасно разруливает сам с чем работаешь. Да, наверное с
накладными, да похер на на них - если ресурсов нема добро
пожаловать в асм. - POV(18.01.2023 10:48)
- Там всего Гарварда - отдельная шина ОЗУ чтобы из нее быстрее
работать. Однако для прогера это Фон-нейман, т.к. адресное
пространство одно. Видимо и никакой идентификации типа памяти нет
при компиляции, это уже аппаратно разруливается к чему идёт
обращение. - POV(18.01.2023 10:39)
- Ну вот и не надо полоскать доброе имя Гарварда, дабы не заводить в
дебри. Сказали бы как есть: аффтары авра приняли плохое решение,
разделив адресные пространства, и теперь все отдуваются. Причём
трубили же, что сделают проц, на который хорошо лягут си, а потом
залажали в самом интересном месте. - 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)
- В случае AVR адресные пространства разные. - Dingo(18.01.2023 10:46)
- То есть Cortex-M3 — это модифицированных гарвард? Это прекрасно. В
этой же статье в википедии сказано, что и AVR — модифицированный
гарвард. SciFi(390 знак., 18.01.2023 10:36)