Stack scratchpad to break the 2 load port limit?

By: Brett (ggtgp.delete@this.yahoo.com), January 24, 2019 12:42 am
Room: Moderated Discussions
RISC arch does not like special stack instructions, preferring generalized addressing from any register.
However performance matters and most codes are getting load limited, by having a Sparc like rotating spooled stock in a scratchpad with two simple read ports compared to the 2 huge complex memory ports, you can double the effective local memory bandwidth for tasks like recursion. Up to twice the performance at low additional power. I am assuming a two level structure, short addressing for simple things and long addressing of perhaps 256k for use by math libraries.

Or maybe a separate large scratchpad with a stream engine for simpler faster low power direct addressing compared to the two cache load ports. This requires direct programming for and so is more of an embedded feature. But for a performance boost you need to add instructions for this and I do not know of anyone doing this. Lots of dumb scratchpads addressed via standard load/stores.

This is less radical than my L0 cache addressing proposal which adds another level to the register file.

Does this sound like a viable future CPU arch approach?

Mill might do something along this line. I realize historical C code abuses the stack with pointer aliasing, but the software industry is slowly moving away from bad design patterns. Swift and all the other modern languages do not need to abuse the stack.
 Next Post in Thread >
TopicPosted ByDate
Stack scratchpad to break the 2 load port limit?Brett2019/01/24 12:42 AM
  problematic with arrays, I would use only for spilling local vars and return addressHeikki Kultala2019/01/24 03:01 AM
    problematic with arrays, I would use only for spilling local vars and return addressgallier22019/01/25 05:13 AM
      problematic with arrays, I would use only for spilling local vars and return addressJ.J.2019/01/25 09:49 AM
        problematic with arrays, I would use only for spilling local vars and return addressBrett2019/01/25 04:00 PM
          problematic with arrays, I would use only for spilling local vars and return addressdmcq2019/01/25 05:30 PM
            problematic with arrays, I would use only for spilling local vars and return addressMaynard Handley2019/01/25 08:44 PM
              problematic with arrays, I would use only for spilling local vars and return addressdmcq2019/01/26 02:51 AM
                problematic with arrays, I would use only for spilling local vars and return addressBrett2019/01/26 06:36 PM
    problematic with arrays, I would use only for spilling local vars and return addressTravis Downs2019/01/26 09:47 AM
      problematic with arrays, I would use only for spilling local vars and return addressLinus Torvalds2019/01/26 11:48 AM
        problematic with arrays, I would use only for spilling local vars and return addressBrett2019/01/26 06:15 PM
        problematic with arrays, I would use only for spilling local vars and return addressTravis Downs2019/01/26 07:41 PM
          problematic with arrays, I would use only for spilling local vars and return addressHeikki Kultala2019/01/26 09:50 PM
            problematic with arrays, I would use only for spilling local vars and return addressTravis Downs2019/01/27 06:26 AM
              problematic with arrays, I would use only for spilling local vars and return addressNoSpammer2019/01/27 12:42 PM
                problematic with arrays, I would use only for spilling local vars and return addressMaynard Handley2019/01/27 06:49 PM
          problematic with arrays, I would use only for spilling local vars and return addressLinus Torvalds2019/01/27 12:24 PM
            problematic with arrays, I would use only for spilling local vars and return addressMaynard Handley2019/01/27 06:57 PM
              problematic with arrays, I would use only for spilling local vars and return addressLinus Torvalds2019/01/27 08:52 PM
                problematic with arrays, I would use only for spilling local vars and return addressMaynard Handley2019/01/28 11:13 AM
                  problematic with arrays, I would use only for spilling local vars and return addressanon2019/01/28 09:11 PM
                  problematic with arrays, I would use only for spilling local vars and return addresssomeone2019/01/29 02:02 AM
                    problematic with arrays, I would use only for spilling local vars and return addresswumpus2019/01/29 10:05 AM
                      problematic with arrays, I would use only for spilling local vars and return addressanonymous22019/01/29 01:06 PM
                        problematic with arrays, I would use only for spilling local vars and return addressMaynard Handley2019/01/29 05:56 PM
                          problematic with arrays, I would use only for spilling local vars and return addressanon2019/01/29 08:11 PM
                            problematic with arrays, I would use only for spilling local vars and return addressMaynard Handley2019/01/29 09:19 PM
                              problematic with arrays, I would use only for spilling local vars and return addressanon2019/01/29 10:10 PM
        problematic with arrays, I would use only for spilling local vars and return addressdmcq2019/01/27 07:00 AM
          problematic with arrays, I would use only for spilling local vars and return addressMontaray Jack2019/01/28 06:11 PM
            problematic with arrays, I would use only for spilling local vars and return addressdmcq2019/01/28 06:44 PM
              problematic with arrays, I would use only for spilling local vars and return addressMontaray Jack2019/01/29 05:27 AM
                problematic with arrays, I would use only for spilling local vars and return addressMontaray Jack2019/01/29 07:10 AM
                  problematic with arrays, I would use only for spilling local vars and return addressdmcq2019/01/30 04:03 AM
                    problematic with arrays, I would use only for spilling local vars and return addressRicardo B2019/01/30 09:55 AM
                      Ada has nested functions/proceduresMark Roulo2019/01/30 11:56 AM
                        Ada has nested functions/proceduresBrett2019/01/30 12:05 PM
                        Ada has nested functions/proceduresWilco2019/01/30 12:49 PM
                          Ada has nested functions/proceduresRicardo B2019/01/30 02:01 PM
                          Ada has nested functions/proceduresgallier22019/01/31 01:39 AM
                      problematic with arrays, I would use only for spilling local vars and return addressdmcq2019/01/30 03:35 PM
                        problematic with arrays, I would use only for spilling local vars and return addressdmcq2019/01/30 03:53 PM
                        problematic with arrays, I would use only for spilling local vars and return addressRicardo B2019/01/30 06:36 PM
                          problematic with arrays, I would use only for spilling local vars and return addressMaynard Handley2019/01/30 08:04 PM
                            problematic with arrays, I would use only for spilling local vars and return addressrwessel2019/01/30 11:24 PM
                              problematic with arrays, I would use only for spilling local vars and return addressMaynard Handley2019/01/31 10:44 AM
                            problematic with arrays, I would use only for spilling local vars and return addressgallier22019/01/31 01:48 AM
                            problematic with arrays, I would use only for spilling local vars and return addressRicardo B2019/01/31 06:28 AM
                              problematic with arrays, I would use only for spilling local vars and return addressRicardo B2019/01/31 06:49 AM
                                problematic with arrays, I would use only for spilling local vars and return addressdmcq2019/01/31 08:49 AM
                                  problematic with arrays, I would use only for spilling local vars and return addressRicardo B2019/01/31 09:52 AM
                                    problematic with arrays, I would use only for spilling local vars and return addressdmcq2019/01/31 10:57 AM
                                      problematic with arrays, I would use only for spilling local vars and return addressAndrew Clough2019/01/31 11:12 AM
                    the whole post does not make sense (NT)Michael S2019/01/30 10:28 AM
  Everything old is new againsomeone2019/01/24 09:23 AM
    Everything old is new againkabob2019/01/24 10:50 AM
      AMD 29000 registersMark Roulo2019/01/24 02:33 PM
        AMD 29000 registerskabob2019/01/24 05:25 PM
      Everything old is new againBrett2019/01/24 03:01 PM
        Everything old is new againMaynard Handley2019/01/24 03:44 PM
          Everything old is new againwumpus2019/01/24 05:06 PM
        Everything old is new againkabob2019/01/24 05:49 PM
          Everything old is new againBrett2019/01/24 06:42 PM
            Everything old is new againanon2019/01/24 08:41 PM
            Everything old is new againnone2019/01/24 11:40 PM
            Everything old is new againwumpus2019/01/25 05:49 PM
          Everything old is new againMaynard Handley2019/01/24 06:49 PM
    Everything old is new againDmcq2019/01/24 11:46 PM
    Everything old is new againPaul A. Clayton2019/02/06 10:20 AM
      Everything old is new againAdrian2019/02/06 11:25 AM
        Everything old is new againBrett2019/02/06 01:29 PM
          Everything old is new againwumpus2019/02/06 05:16 PM
            Everything old is new againBrett2019/02/07 01:28 AM
              Everything old is new againMichael S2019/02/07 01:59 AM
                Mill 90+% likely to "make it to silicon"Paul A. Clayton2019/02/07 05:40 AM
              Even older is new againwumpus2019/02/07 06:21 AM
                Even older is new againBrett2019/02/07 03:20 PM
  An alternative stack scratchpad designJ.J.2019/01/27 04:04 PM
    An alternative stack scratchpad designMaynard Handley2019/01/27 08:20 PM
      An alternative stack scratchpad designJ.J.2019/01/28 10:29 AM
        An alternative stack scratchpad designMaynard Handley2019/01/28 11:16 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell green?