Programmers, in general, are not required to know how each CPU architecture works to optimise a game. That's the reason we have languages that abstract these details away for us.
One method video game programmers use, to optimise games, is called "Profiling". What this does is, you run the game, and you see which parts of the game are more resource-intensive than others. The results that you see are not "one size fits all", as in, it's possible for one part of the program to be heavier in a specific platform with specific hardware, but be very light on another. But for the most part it gives you an idea of what you can prioritise.
The average programmer, does not need to know the "ins and outs" of every CPU out there, nor for any new CPU that's coming out. There are people out there who like to make games on assembly, I do not have a lot of experience in that area, but I image one would need to know how a CPU architecture works in order to support it. However that's not a requirement and I'd image people do it more because they enjoy it, than that they have to.