• 0 Posts
  • 20 Comments
Joined 1 year ago
cake
Cake day: June 18th, 2023

help-circle







  • Maybe, but Microsoft’s competitors are doing a lot better on the battery life front so they’re leaving a lot on the table for competitors to swoop in by not fixing their sleep and wake issues. It was a big consideration for the company I work at to go with Apple machines because they do lots of field work and need the machines running all day. I can say from experience it’s incredibly frustrating to leave home with my MS Surface on a full charge only for it to have majority of the battery drained by the time I pull it out of my backpack due to waking up when it wasn’t supposed to.




  • Even knowing this, I’m still both in awe and jealous of talented people. Some people I know who can practice so much that they become exceptional at something seem to be immune to burnout on their passions for long periods of time, or seem to have a brain chemistry that remains resilient in the face of it, and that ain’t me. I’ve suspected I have ADHD but it’s hard to get a diagnosis and my doctor said he’s hesitant to diagnose his patients even though he thinks it’s possible (and I’m in Canada where I’m lucky to even have an assigned family doctor so I can’t really get a good second opinion on that). Programming just happens to be one of the few things that I get burned out on the least compared to everything else and even then it’s hard to sustain interest in it for long periods.









  • It will prefetch the instructions and put into the pipeline the branch it thinks is mostly likely. It may do ahead-of-time speculative execution on certain instructions but not always. If it missed the correct branch it will flush the pipeline and start the pipeline over again from the correct branch. Afaik it doesn’t execute or prefetch both branches. The other guy is saying it does but that doesn’t really gel with my own recollection or the Wikipedia article he cited. You can see some further discussion that suggests only one branch gets prefetched here here and here. Reasons cited for only predicting one branch are: 1) Two pipelines with all the associated circuitry to look ahead, decode, and speculatively execute is incredibly expensive in terms of both processing requirements and die real estate. 2) Caching both would thrash your caches with new data constantly. 3) Modern branch prediction is already so accurate, there’s really no need for two pipelines anyways.