在讨论API时,会使用“粗粒度”或“细粒度”这两个术语。这些是什么意思/有什么例子?
由于
答案 0 :(得分:3)
经常参考FPGA(Field Programmable Gate Arrays)最小的逻辑元件。例如,如果是NAND门,则认为它是细粒度的。如果它是一个复杂的逻辑块,能够实现许多NAND等价,那么它就是粗粒度的。很容易看出,如果合成器选择一个复杂的块来做一些逻辑上很少的门,那就浪费了芯片面积和利用率,最好留给细粒度的架构。如果你想用一个“nand gate of sea”进行浮点数学运算,那就不会像那个有浮点的粗粒度FPGA那样高效,甚至整数,加法器,桶形移位器和/或它们中的PLA元素都可以级联为更大的位词。这将使得快速加法器占用的面积小于细粒度,并且可以使用接近100%的复杂逻辑块。
答案 1 :(得分:1)
我已经看到这种区别在SOA中使用了很多,例如:
http://www.ibm.com/developerworks/webservices/library/ws-soa-granularity/
基本上,粗粒度系统的方法调用比细粒度系统少。显而易见的粗粒度方法将比分解的细粒度版本更少并且做得更多。
例如,在分布式系统中,粗粒度接口通常会在调用昂贵的地方更好。