реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Вопросы по шинной архитектуре, Cortex-M3 и подобные...
Arlleex
сообщение Mar 7 2018, 16:31
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 492
Регистрация: 12-11-11
Пользователь №: 68 264



Стало интересно разобраться с Cortex-M3 поглубже, так сказать.
У ARM есть презентационный pdf-файлик, в котором есть следующая картинка:


Ну, в общем-то, криво-косо, но примерно оно так укладывается на реализованную систему команд и диаграмму работы конвейера. Криво-косо, наверное потому, что рисунок выше не претендует на полноту информации и, в общем-то, часть, возможно, важной информации не отражена.
В общем, есть вот на рисунке Write Data Register и Read Data Register. И вот они заходят на один из портов чтения/записи регистрового файла. Данные регистры, насколько моя логика смогла представить, необходимы для реализации команд Load/Store. Дальше я был удивлен, что шины данных (именно данных) реально две - первая шина данных записи, вторая - шина данных чтения. И действительно, Cortex-M3 реализует шинную инфраструктуру согласно протоколу AMBA 3 AHB-Lite Protocol. В ней действительно шин данных две:


Буквально наискосок пролистав данный документ, стало понятно (а может плохо смотрел?), что сигнал RW физически один - то есть подчиненное устройство (Slave, см. документ), например, встроенная SRAM-память микроконтроллера, всего лишь осуществляет запись и чтение по различным шинам, и в один момент времени этого делать не могут (нельзя поставить двухпортовую память, например). Ну вот и какой выигрыш тогда от двух раздельных шин? Ведь это как-то достаточно жирно выглядит, протащить 32 бита до каждого Slave и еще потом замультеплексировать все это... В голове, конечно, много разных мыслей на этот счет, но все это лишь догадки.
Гуру, отзовитесь, пожалуйста rolleyes.gif
Go to the top of the page
 
+Quote Post
Plain
сообщение Mar 7 2018, 20:37
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Из системы команд элементарно следует, что разделение нужно для операций модификации и чтения-записи.
Go to the top of the page
 
+Quote Post
Baser
сообщение Mar 7 2018, 20:45
Сообщение #3


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(Arlleex @ Mar 7 2018, 18:31) *
Ну вот и какой выигрыш тогда от двух раздельных шин? Ведь это как-то достаточно жирно выглядит, протащить 32 бита до каждого Slave и еще потом замультеплексировать все это...

Во втором документе есть прямой ответ на вопрос в главе 6.1 Data buses
Цитата
Separate read and write data buses are required to implement an AHB-Lite system without using tristate drivers.

Видимо при этом экономятся такты на переключение направления шины.
Go to the top of the page
 
+Quote Post
SII
сообщение Mar 7 2018, 23:11
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



Цитата(Arlleex @ Mar 7 2018, 19:31) *
Ну вот и какой выигрыш тогда от двух раздельных шин? Ведь это как-то достаточно жирно выглядит, протащить 32 бита до каждого Slave и еще потом замультеплексировать все это...


Сделать полноценную двунаправленную шину схемно существенно сложней, чем две однонаправленных. Кроме того, увеличение числа транзисторов, висящих на линии, увеличивает ёмкость линии, а значит, увеличивает время её перехода из одного состояния в другое, т.е. снижает максимально возможную скорость передачи. Так что такое решение объясняется именно схемотехникой, а не логикой.
Go to the top of the page
 
+Quote Post
Arlleex
сообщение Mar 8 2018, 07:43
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 492
Регистрация: 12-11-11
Пользователь №: 68 264



И действительно, ответ на вопрос был ближе, чем я мог думать.
Большое спасибо всем, кто откликнулся beer.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 05:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01393 секунд с 7
ELECTRONIX ©2004-2016