-
More operator symbols
11/24/2023 at 14:51 • 0 commentsTo say that I am frustrated by the vocabulary of some common languages is an understatement. JavaScript introduced the ">>>" symbol for the arithmetic (sign-preserving) shift but we're still far from satisfaction.
The Pascal family of languages don't bother with such details because operators use all-letters operators : sll, shl... But the C-like syntax is preferred today so I need to be creative.
Carry-related operations are traditionally absent, which is a shame. So let's skip directly to the rotations : there is no direct symbol for this, but I have long wanted to modify the shift symbols:
<<@ rotate left >>@ rotate right
Or maybe a shorter version:
<@ rotate left @> rotate right
which is less effort than having to analyse the syntax tree and look for a compound operation (OR of two SHIFTs with the same arguments and the shift amounts sum up to 32 or 64).
Now there is an even trickier symbol to choose : I need UMIN, UMAX, SMIN and SMAX (unsigned and signed minimum and maximum) The < and > symbols will be used but how to discern between signed and non signed operations ?
<? MIN ?> MAX
The Dollar symbol looks like a S so
<$ SMIN $> SMAX
could do the trick.
Any advice or prior art is welcome !
-
Addendum ABCE
09/26/2023 at 06:43 • 0 commentsI have covered permutations of control signals in binary trees many years ago, I have even published 2 articles:
And I recently became aware that I am only a rediscoverer, as there are 2 patents:
https://patents.google.com/patent/US5243599A/en by IBM, expired in 2011
"Tree-type multiplexers and methods for configuring the same"
Figure 6 is clearly a balanced tree (32 leaves, 1,7,7,8,8 configuration)
https://patents.google.com/patent/US20120194250 AMD, seems identical but expires in 2031 ???
I have not been able to understand the difference between the two patents but this would explain why the technique has not appeared on my radar before : who wants to walk on IBM's toes ? However its validity is gone since a dozen years now so why restrain ourselves ?
-
strings in C
05/06/2023 at 03:58 • 4 commentsI'm 46 years old and only now do I realize that there is <strings.h> and <string.h>
WTF.
Hello Yann...
Why so many CPU projects? I really don't understand. I've seen 13 CPU projects from you on hackaday. That's huge! And I'm pretty sure that there are some other projects missing on hackaday.
YGREC-ECL ; YGREC8 ; YGRECmos ; Discrete YASEP ; AMBAP ; SPDT16 ; YASEP ; YGREC-РЭС15-bis; YGREC-Si; YGREC16; FCPU (FC0 & FC1); YASEP ; microYasep...
It's really difficult to understand the organisation of all these projects, and therefore it is difficult to understand all your work.
Furtheremore, it seems that none of these projects is finished. Why? After so many years working on CPUs, no one is finished?
I think that you should concentrate on only one project, and finish it before starting a new one, and avoid dispersing with so many projects.
Finishing one project is a great reward... at least from my point of view. It's only an advice, you do what you want.
You have great knowledge and a lot of ideas about CPUs architectures. I really hope that you can show to us soon a finished project, a great project, with all this knowledge. I will be very happy to discover it.