STрёмные кортексы, в пику некрочипу :) |
Здравствуйте, гость ( Вход | Регистрация )
STрёмные кортексы, в пику некрочипу :) |
10.3.2012, 16:04
Сообщение
#61
|
|||
Активный участник Группа: Пользователи Сообщений: 2220 Регистрация: 26.5.2010 Из: Московская обл. Пользователь №: 165 |
А с термином "память данных" как раз засада, потому что она отображается и в пзушную память программ. У Микрочипа нет с ней никакой засады:Здесь более подробное описание ядра: http://ww1.microchip.com/downloads/en/DeviceDoc/39703a.pdf Там тоже никаких разночтений - память программ и память данных. Из того, что отображается, ещё ничего не следует. Программу выполнить из памяти данных можно или нет - вот в чём вопрос. Причём так же естественно и быстро, как из "нативной" памяти программ... ЗЫ. Вообще, для того, чтоб архитектуру процессора назвать Гарвардской, достаточно наличия раздельных магистралей команд и данных и возможности их параллельной обработки в ядре. --------------------------------------- ...На дату посмотри и утрись. На элхе даже искать не буду. Ошибся, каюсь.Значиццо, просто тупишь. Потому, как Кортексы 1 и 3 - совершенно разные машины. ...А оттуда, что Тумба-2 в кортексах М3 является смесью 16 и 32-битных команд. От этого и плясали, обсасывая все достоинства и недостатки армов и систем команд вообще. Ога, ымбэддеры за системой команд слона-то и не видят. Я не хотел нарушать Вашу достаточно оригинальную картину видения мира, но Cortex M3 - Фон-Неймановская машина. "Сюда" я предлагал вам заглянуть ещё на прошлой странице.Чего бы там не утверждали маркетологи из ARM. Для того, чтобы в этом убедиться - заглянем сюда. Как видно из рисунка, вся память экспонируется юзеру как единое адресное пространство. Ссыль смотрит в оглавление. Лучше приводить рисунок. Примерно вот так: Не знаю как кому, но мне даже из него всё ясно. Можно скачать ещё документацию на архитектуру ARMv7-M (она как раз реализована в 3-м Кортексе), но только после регистрации. То, о чём говорите Вы, есть результат гибридизации (путём шинного мультиплексора - моста), однакоже, структуру самого ядра это не меняет. Сообщение отредактировал Stanislav_GS - 10.3.2012, 16:40 |
||
|
|||
10.3.2012, 16:17
Сообщение
#62
|
|
Активный участник Группа: Пользователи Сообщений: 2220 Регистрация: 26.5.2010 Из: Московская обл. Пользователь №: 165 |
|
|
|
10.3.2012, 16:30
Сообщение
#63
|
|
Активный участник Группа: Пользователи Сообщений: 2220 Регистрация: 26.5.2010 Из: Московская обл. Пользователь №: 165 |
|
|
|
10.3.2012, 17:20
Сообщение
#64
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
Из того, что отображается, ещё ничего не следует. Программу выполнить из памяти данных можно или нет - вот в чём вопрос. Причём так же естественно и быстро, как из "нативной" памяти программ... Концепция Фон-Неймана сформулирована просто - хранение кода и данных в одной памяти. А уж можно этот код выполнить из памяти данных или нет - это разговор отдельный. К тому же, сам Микрочип говорит о модифицированной Гарвардской архитектуре. Типа она у них не совсем Гарвардская. Ога, ымбэддеры за системой команд слона-то и не видят. И правильно делают, потому как этот слон и нах не нужен. Или только для того, чтобы поднять собственное реноме в своих же глазах. То, о чём говорите Вы, есть результат гибридизации (путём шинного мультиплексора - моста), однакоже, структуру самого ядра это не меняет. Если на этапе реализации присоединить ICodeBus и DCodeBus к одной и той же области памяти, то будет Фон-Нейман, а если разнести, то Гарвард. Так что ли? Тогда Cortex M3 имеет неопределенную архитектуру, пока реализатор не воплотит ее в конкретное железо. А что будет, если адресное пространство для этих шин будет перекрываться частично? Как назовем этого монстрика? |
|
|
10.3.2012, 17:45
Сообщение
#65
|
|
Активный участник Группа: Пользователи Сообщений: 2220 Регистрация: 26.5.2010 Из: Московская обл. Пользователь №: 165 |
Концепция Фон-Неймана сформулирована просто - хранение кода и данных в одной памяти. В принципе, согласен с этим.Однакоже, здесь речь идёт всё-таки не о МП системе, а именно о ЦПУ Кортекс. Такие вещи нужно разделять, во избежание. Итак, предлагаю два разных уровня абстрагирования: 1. Архитектура ЦПУ. 2. Архитектура МП системы (видимо, её Вы и назвали архитектурой МК). Мне кажется, тогда разногласий можно избежать, особенно если для каждой дать дефиниции. А уж можно этот код выполнить из памяти данных или нет - это разговор отдельный. Это главный вопрос. Точнее, один из....К тому же, сам Микрочип говорит о модифицированной Гарвардской архитектуре. У ЦПУ - совсем.Типа она у них не совсем Гарвардская. Модификация заключается лишь в возможности "подмены" магистралей при помощи довольно сложного (и тормозного, как я понял, мультиплексора-моста). А само наличие их, раздельных, и определяет однозначно - Гарвард. ...Если на этапе реализации присоединить ICodeBus и DCodeBus к одной и той же области памяти, то будет Фон-Нейман[/url], а если разнести, то Гарвард. Через подобный же мост, весьма сложный и тормозной. Напрямую - нельзя.Потом, с кеш-контроллером будут проблемы, если таковой захочется прилепить. Для разделённых магистралей его организовать можно проще и эффективнее. ...Тогда Cortex M3 имеет неопределенную архитектуру, пока реализатор не воплотит ее в конкретное железо. Вполне определённую - это Гарвард, пусть и модифицированный.Насчёт архитектуры МП системы (2-й уровень абстрагирования) - да, согласен. |
|
|
10.3.2012, 18:01
Сообщение
#66
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
Модификация заключается лишь в возможности "подмены" магистралей при помощи довольно сложного (и тормозного, как я понял, мультиплексора-моста). У Микрочипа (PIC24, dsPIC) все команды выполняются строго за один такт (два колебания системного генератора). Включая сюда MAC с префетчем данных и пред- и пост- модификацией адресов этих данных. При любом раскладе. Вне зависимости от реализации. Так что о тормозах здесь речи быть не может в принципе. |
|
|
10.3.2012, 18:20
Сообщение
#67
|
|
Активный участник Группа: Пользователи Сообщений: 2220 Регистрация: 26.5.2010 Из: Московская обл. Пользователь №: 165 |
|
|
|
10.3.2012, 18:31
Сообщение
#68
|
|
тот самый Группа: Мод Сообщений: 13629 Регистрация: 24.11.2009 Из: Харьковская обл., UA Пользователь №: 25 |
|
|
|
10.3.2012, 18:38
Сообщение
#69
|
|
Активный участник Группа: Пользователи Сообщений: 2220 Регистрация: 26.5.2010 Из: Московская обл. Пользователь №: 165 |
|
|
|
10.3.2012, 18:59
Сообщение
#70
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
У dsPIC instruction stalls - нередкое явление там же все написано. ‘Read After Write’ (RAW) dependencies occur across instruction boundaries and are detected by the hardware. An example of a RAW dependency would be a write operation that modifies W5, followed by a read operation that uses W5 as an Address Pointer. The contents of W5 will not be valid for the read operation until the earlier write completes. This problem is resolved by stalling the instruction execution for one instruction cycle, which allows the write to complete before the next read is started. Ну а если все делать по инструкции, то вообще ничего страшного не будет... Ну да, я забыл, что раздел называется "Программирование МК". Иными словами - Ымбеддерство. Ну, и как реноме? Поднялось? |
|
|
10.3.2012, 19:05
Сообщение
#71
|
|
Активный участник Группа: Пользователи Сообщений: 2220 Регистрация: 26.5.2010 Из: Московская обл. Пользователь №: 165 |
|
|
|
10.3.2012, 19:09
Сообщение
#72
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
|
|
|
10.3.2012, 19:13
Сообщение
#73
|
|
Активный участник Группа: Пользователи Сообщений: 2220 Регистрация: 26.5.2010 Из: Московская обл. Пользователь №: 165 |
Можете засчитывать. Зачем?Звездочку на фезюляже рисовать будете? Просто скажите, что Вы неправы, а я прав, даже вслепую. Этого достаточно. Или наоборот. ЗЫ. "Железо" нужно знать во избежание подобных "неожиданностей". Которые на практике встречаются гораздо чаще, чем могли б предположить ымбэддеры. |
|
|
10.3.2012, 19:36
Сообщение
#74
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
Зачем? Просто скажите, что Вы неправы, а я прав. Или наоборот. Мне этого достаточно. Вот в этом мы и расходимся. Мне лично пох. От этого ничего не изменится. По крайней мере у меня. Тем более, что Cortex M3 сначала у Вас был чисто Гарвардским, потом стал гибридом, который Вы ранее обсуждать отказывались. А на самом деле концепция Фон-Неймана говорит об однородности памяти. А Гарвардская архитектура - о разделении команд и данных. Оказалось, что это дело можно просочетать. Снаружи это будет Фон-Нейман, а внутри местами Гарвард, местами - нет. И как должна называться смешанная архитектура? И надо ли ей давать какое либо название? И с какой целью? Я считаю, что ничего этого не нужно. Поскольку у каждого из процессоров есть программная модель, где этих терминов практически нет. Зато есть описание архитектуры безотносительно к устаревшей терминологии. Там же в документации есть описание особых случаев, которых у тех же Cortex-ов тоже хватает. |
|
|
10.3.2012, 19:49
Сообщение
#75
|
|
Активный участник Группа: Пользователи Сообщений: 2220 Регистрация: 26.5.2010 Из: Московская обл. Пользователь №: 165 |
Вот в этом мы и расходимся. Понятно.Мне лично пох. От этого ничего не изменится. По крайней мере у меня. Как и то, что признавать ошибки Вы не умеете. И совершенно не понимаете сущность того, с чем Вам же и приходится работать. Но спорите зачем-то. Вместо того, чтобы подумать или почитать. Подобный стереотип поведения и принято называть Ымбэддерством. :( Тем более, что Cortex M3 сначала у Вас был чисто Гарвардским, потом стал гибридом, который Вы ранее обсуждать отказывались. Извините, но у вас голюн.В противном случае, укажите, где это я назвал Кортекс М3 гибридом? |
|
|
10.3.2012, 20:10
Сообщение
#76
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
Понятно. Как и то, что признавать ошибки Вы не умеете. И совершенно не понимаете сущность того, с чем Вам приходится работать. Но спорите зачем-то. Вместо того, чтобы подумать или почитать. Подобный стереотип поведения и принято называть Ымбэддерством. :( Я не могу признавать то, чего нет. И вовсе не спорю. Ибо не вижу для себя нужды в этом. Вы стараетесь навязать мне свое достаточно оригинальное понимание устройства МК на основе Cortex M3. И почему-то злитесь, когда Вам это не удается. Извините, но у вас голюн. В противном случае, укажите, где это я назвал Кортекс М3 гибридом? Цитата То, о чём говорите Вы, есть результат гибридизации (путём шинного мультиплексора - моста), однакоже, структуру самого ядра это не меняет. Так есть гибридизация внутри Cortex M3, включая ядро ARMv7 или ее нет? |
|
|
10.3.2012, 20:32
Сообщение
#77
|
||
Активный участник Группа: Пользователи Сообщений: 2220 Регистрация: 26.5.2010 Из: Московская обл. Пользователь №: 165 |
Я не могу признавать то, чего нет. Торможения ядра?Ладно, посмотрел вот доку. Нашёл с ходу: Цитата All instructions execute in a single cycle, with the exception of instructions that change the program flow, the double-word move (MOV.D) instruction and the table instructions. Цитата Table instructions are used to transfer data between program memory http://ww1.microchip.com/downloads/en/devicedoc/39703a.pdfspace and data memory space. Как-то не вяжется с тем, что Вы сообщили ранее... И вовсе не спорю. Извиняюсь, но это называется "бздонуть в лужу, и отвалить."Ибо не вижу для себя нужды в этом. ...Вы стараетесь навязать мне свое достаточно оригинальное понимание устройства МК на основе Cortex M3. Я "злюсь", когда со мной спорят неквалифицированно, ради самогО спора.И почему-то злитесь, когда Вам это не удается. Напишите что-нибудь соответствующее действительности - и будет повод для разговора. Для этого я иногда могу даже на горло своей песне наступить. Иначе всё это пустое, и не стОит продолжать. Собственно, и не собирался, да вот поди ж ты... Так есть гибридизация внутри Cortex M3, включая ядро ARMv7 или ее нет? Гибридизация внешних магистралей адреса и данных, и то частичная.Но не ядра. Читайте предыдущую страницу. ----------------------------------------- ...нужно вспомнить начало спора, который он начал и взглянуть на это с более высокой точки. А чего тут вспоминать? Вот: Cortex-M0 с EEPROM от NXP http://electronix.ru/forum/index.php?showt...=100382&hl= Я говорю, что это написал:Разница между М0 и М3 очень слабая. Так что я, если что, выберу LPC11xxXL от NXP. |
|
|
||
10.3.2012, 20:41
Сообщение
#78
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
Торможения ядра? А при чем здесь торможение ядра? Я думал, что Вы и так сообразите, что при изменении программного потока в МК без объемного кэш-а, потребуется выгрузка всего пипелайна и загрузка нового. На что надобен один такт. Простая логика, однако. Как-то не вяжется с тем, что Вы сообщили ранее... Я Вам больше скажу. У PIC-ов деление выполняется далеко не за один такт. И не является атомарным. Гибридизация внешних магистралей адреса и данных, и то частичная. Но не ядра. Читайте предыдущую страницу. Смею напомнить, что Cortex M3 - это не только ядро ARMv7, но и еще остальные внутренности. Вами было сказано, что Cortex M3 - имеет чисто Гарвардскую архитектуру, в отличие от Cortex M0 с ядром ARMv6. В разговоре Вы сказали, что внутри Cortex M3 имеется некая гибридизация. Так вот. У меня вопрос. Имеет ли Cortex M3 целиком чисто Гарвардскую архитектуру? |
|
|
10.3.2012, 20:51
Сообщение
#79
|
|
сундук Группа: Пользователи Сообщений: 4043 Регистрация: 21.11.2009 Из: Ростов-на Дону Пользователь №: 15 |
|
|
|
10.3.2012, 21:03
Сообщение
#80
|
|
Активный участник Группа: Пользователи Сообщений: 2220 Регистрация: 26.5.2010 Из: Московская обл. Пользователь №: 165 |
А при чем здесь торможение ядра? Так, перехожу на самоцитирование.Модификация заключается лишь в возможности "подмены" магистралей при помощи довольно сложного (и тормозного, как я понял, мультиплексора-моста). Здесь, надеюсь, всё понятно.А само наличие их, раздельных, и определяет однозначно - Гарвард. Я думал, что Вы и так сообразите, что при изменении программного потока в МК без объемного кэш-а, потребуется выгрузка всего пипелайна и загрузка нового. Не соображу.На что надобен один такт. Простая логика, однако. Потому, что и здесь Вы абсолютно не правы. Но это не суть. А она в том, что Вы забыли, о чём была речь. Вот это кто писал, и как надо понимать У Микрочипа (PIC24, dsPIC) все команды выполняются строго за один такт (два колебания системного генератора). ?Включая сюда MAC с префетчем данных и пред- и пост- модификацией адресов этих данных. При любом раскладе. Вне зависимости от реализации. Так что о тормозах здесь речи быть не может в принципе. Выделение моё. Подобным образом дискутировать нет желания. Остаются одни "выражения". ...У меня вопрос. Имеет ли Cortex M3 целиком чисто Гарвардскую архитектуру? Да.Гибридизированной является лишь одна из его внешних шин. Которую задействовать для доступа к программе/данным совсем не обязательно. ------------------------------------------------------- Стасик, ещё пару раз прочитай моё высказывание и контекст, в котором оно появилось. Давай контекст, Гаунюк. Изучим.А пока что - чистый бздёш и выкрутасы. Сообщение отредактировал Stanislav_GS - 10.3.2012, 22:30 |
|
|
Текстовая версия | Сейчас: 29.3.2024, 15:17 |