Author Topic: your own ISA, what do you think about having 64 registers ?  (Read 7976 times)

0 Members and 1 Guest are viewing this topic.

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: your own ISA, what do you think about having 64 registers ?
« Reply #25 on: October 16, 2016, 02:30:43 pm »
to storing several X,Y,Z coordinates, R,G,B,A colors, etc. 3D transform matrix coefficients, pattern / texture bitmap vectors, etc.)  and then have quite many (thousands maybe) of parallel instances of these thread execution units that all, for the most part, execute from registers with occasional copying to/from RAM for the finished calculation.

In other algorithms like say 8x8 2D-DCT discrete cosine transform as similarly used almost everywhere in JPEG/video encoding you need to operate on an [8][8] = 64 pixel matrix of variable input pixels

exactly the point  :D
 

Offline Kalvin

  • Super Contributor
  • ***
  • Posts: 2145
  • Country: fi
  • Embedded SW/HW.
Re: your own ISA, what do you think about having 64 registers ?
« Reply #26 on: October 16, 2016, 03:27:18 pm »
It is very difficult for a human to utilize large number of registers efficiently, and optimize the code locally and globally so that it will maximize the register usage as optimal as possible. Not to mention what kind of a nightmare it will be to maintain. In a similar way it is very difficult for a human to produce manually efficient code for the architectures having multiple parallel execution units in order to keep the pipeline and the parallel execution units as full as possible. The TI C6000 is one example of this. Therefore, I would say that the optimal register count would be around 16 registers if you produce manual asm code. An optimizing high-level language compiler could possibly benefit from a large register array, but even then the gains may be quite marginal. Of course one can point out some specific applications that can really benefit from large register array, but in general the benefits of a large register array will not be that great.
« Last Edit: October 16, 2016, 03:31:25 pm by Kalvin »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf