5 ms·
> The whole point of Risc is to avoid instruction complexity for rarely used instructions Yeah, that was true 20-30 years ago. > Popcount and family are most
by vardump 7y ago
> The whole point of Risc is to avoid instruction complexity for rarely used instructions
Yeah, that was true 20-30 years ago.
> Popcount and family are most likely microcoded to expand to a loop anyway, so why add this complexity to silicon?
No, you can just make a network of small adders. You could easily build a CPU that has throughput of 1 popcount per cycle (or even better, if SIMD and/or multiple execution ports supported this ALU operation). Silicon area is not a problem anyways anymore. Power and heat on the other hand...
- hnuser123456 7y ago>Silicon area is not a problem anyways anymore. Power and heat on the other hand... Yes, so then why are ARM chips in mobile devices approaching x86 performance with an order of magnitude less power? C̶o̶u̶l̶d̶ ̶i̶t̶ ̶b̶e̶ ̶t̶h̶a̶t̶ ̶h̶a̶v̶i̶n̶g̶ ̶a̶ ̶l̶a̶r̶g̶e̶ ̶c̶h̶u̶n̶k̶ ̶o̶f̶ ̶r̶a̶r̶e̶l̶y̶-̶u̶s̶e̶d̶ ̶s̶i̶l̶i̶c̶o̶n̶ ̶e̶n̶d̶s̶ ̶u̶p̶ ̶c̶o̶n̶s̶u̶m̶i̶n̶g̶ ̶s̶o̶m̶e̶ ̶s̶i̶g̶n̶i̶f̶i̶c̶a̶n̶t̶ ̶a̶m̶o̶u̶n̶t̶ ̶o̶f̶ ̶p̶o̶w̶e̶r̶,̶ ̶b̶e̶c̶o̶m̶i̶n̶g̶ ̶d̶o̶m̶i̶n̶a̶n̶t̶ ̶a̶t̶ ̶e̶x̶c̶e̶s̶s̶i̶v̶e̶l̶y̶ ̶l̶a̶r̶g̶e̶ ̶s̶c̶a̶l̶e̶s̶?̶
- rayiner 7y agoThat’s not the reason, especially not in this day and age of clock gating. It’s because those ARM designs are optimized for low power, at the expense of not having headroom to take advantage of higher power envelopes if they are available.
- ryacko 7y agoDie area does impact latency, and by including popcount, you would be increasing gate count by a fraction of a full multiplier.
- atq2119 7y agoThe number of gates required for popcount scales linearly with the input size. It's much, much smaller than a multiplier.
- ryacko 7y agoNo, it would scale logarithmically if you want to minimize latency.
- atq2119 7y agoIt cannot scale logarithmically because you need at least a linear number of gates to represent the inputs. It doesn't have to scale superlinearly either, because the natural circuit using a linear number of adders is already of a logarithmic depth, which is best possible asymptotically.