Определение крупнозернистых / мелкозернистых в архитектуре - PullRequest
3 голосов
/ 22 февраля 2010

Когда речь идет об API, часто используются термины «крупнозернистый» или «мелкозернистый». Что это значит / есть ли примеры?

Спасибо

Ответы [ 2 ]

3 голосов
/ 03 ноября 2012

Часто по отношению к наименьшему логическому элементу FPGA (полевые программируемые вентильные матрицы). Если это, например, ворота NAND, это считается мелкозернистым. Если это сложный логический блок, способный на МНОГО NAND-эквивалентов, он является грубым. Легко видеть, что если синтезатор выбирает сложный блок для выполнения логики, рассчитанной на «несколько» затворов, то это бесполезная трата площади и использования микросхемы, и его лучше оставить для мелкозернистых архитектур. Если вы хотите выполнить математику с плавающей запятой с «морем нанд-гейтсов», которая не будет столь же эффективной, как крупнозернистая ПЛИС с плавающей запятой или даже целочисленные, сумматоры, сдвиги бочек и / или элементы PLA, которые могут каскадно для больших битовых слов. это сделало бы быстрый сумматор и занимало бы меньшую площадь, чем мелкозернистый, и использовало бы ближе к 100% сложного логического блока.

1 голос
/ 22 февраля 2010

Я видел, что различие часто использовалось с SOA, например ::100100

http://www.ibm.com/developerworks/webservices/library/ws-soa-granularity/

По сути, в крупнозернистых системах будет меньше вызовов методов, чем в мелкозернистых. Ясно, что грубые методы будут меньше и будут выполнять больше работы, чем разбитые мелкие версии.

Грубые интерфейсы, как правило, будут лучше, если вызовы дорогие, например, в распределенной системе.

...