[HN Gopher] Apple M1 Microarchitecture Research
       ___________________________________________________________________
        
       Apple M1 Microarchitecture Research
        
       Author : my123
       Score  : 148 points
       Date   : 2021-03-07 11:49 UTC (11 hours ago)
        
 (HTM) web link (dougallj.github.io)
 (TXT) w3m dump (dougallj.github.io)
        
       | mhh__ wrote:
       | Source for what a validation buffer is? Couldn't find a reference
       | on google
        
         | sesuximo wrote:
         | They say the M1 may use a validation buffer instead of a re
         | order buffer. This makes it somewhat clear if you know what a
         | re order buffer is.
         | 
         | Processors basically do this: read instructions, execute them
         | out of order to fully use cpu resources, put the instructions
         | back in order along with their results, and then write results
         | to memory. This way the "final state" follows the order of
         | instructions.
         | 
         | The "put back in order" step is handled by the re order buffer.
         | It is basically an online sort algorithm.
         | 
         | Fully sorting instructions after execution is simple and
         | correct, but in extreme cases may be suboptimal; perhaps it
         | doesn't matter if the final state is exactly in order or just
         | close to that. I believe the article is saying the M1 may just
         | validate states as they are written rather than fully
         | reordering.
        
           | mhh__ wrote:
           | It was the distinction between validation and re-order that
           | confused me.
        
         | algorithm314 wrote:
         | Probably this
         | https://www.researchgate.net/publication/250780982_The_Valid...
        
       | [deleted]
        
       | black_puppydog wrote:
       | Hats off to people who do this kind of work. However... *clears
       | throat*
       | 
       | I have real trouble using the term "research" for something like
       | this, lumping it together with activities such as "research" in
       | natural science, "research" in anthropology, or even journalistic
       | "research".
       | 
       | The difference to me is that this activity could be "done", or
       | rather entirely avoided, if Apple didn't decide to keep it a
       | secret.
       | 
       | Mind you, I'm not saying Apple doesn't have good reasons to keep
       | them secret, for some definition of "good". I just think that
       | this person just spent hours upon hours of their life working
       | around a quirk in our current society.
       | 
       | I'm aware I'm splitting hairs, but "we don't know what the
       | architecture is" to me is fundamentally different to "we don't
       | know what dark energy is." The former is something that could
       | "easily" be changed, the latter is not. Lumping them together
       | just cements the idea that the systems we built and navigate, for
       | better or worse, are to be treated like natural laws that can't
       | be argued with.
       | 
       | /rant
        
         | mindvirus wrote:
         | Your comment reminds me of a scifi story (Greg Egan maybe?)
         | where AI has taken the lead on science, and humanity's
         | scientists' job is now just to understand the AI's discoveries.
        
         | guerrilla wrote:
         | Research you don't like is still research.
        
         | koolkat666 wrote:
         | lots of journalistic research is also about uncovering secret
         | knowledge and information, for example classified government
         | documents, corporate cover-ups and various forms of human
         | rights violations. you are right tho, that with more
         | transparency and less predatory legal constructs the jobs of
         | both journalist and computer researchers would be way easier.
        
         | glangdale wrote:
         | That's a weird take. Journalistic research, for example, also
         | often involves bringing to light facts that some in-group
         | already knows. The word research is a lot broader than what you
         | claim; people talk about "researching" which television set to
         | buy, and everyone understands what they mean.
         | 
         | So your contribution here is "this guy is figuring out stuff
         | that people at Apple already pretty much know". Err, thanks,
         | Captain Obvious.
        
           | guerrilla wrote:
           | Security research could be considered another similar
           | example.
        
         | mensetmanusman wrote:
         | Think of it as approaching the topic from the other side. It is
         | very analogous to what security researchers to.
         | 
         | Consider things like the incompleteness theorem, and how there
         | will always be gaps in our implementation of a given
         | epistemology, in this case computer science, hoping to achieve
         | a given end.
         | 
         | Researchers then look at that output while entirely blind, and
         | then they work backwards, and they can sometimes uncover very
         | useful insights that the original creators may have been blind
         | to.
        
         | gumby wrote:
         | I understand where you'd coming from and also do a double take
         | when I read this term, though I think it's legit.
         | 
         | Consider: what does an agency that spies on other countries'
         | governments do? Research?
        
         | monocasa wrote:
         | Just because other humans created the knowledge in question,
         | doesn't make the search for that knowledge not research, if the
         | knowledge isn't held by the general public in the first place,
         | and if that knowledge requires independent gathering of data
         | and interpretation to acquire.
         | 
         | I agree that Apple and the quirks in our society that encourage
         | that secretive behavior has the effect of researchers
         | independently replicating a small subset of Apple's work in a
         | way that they'd be redirected to something more useful in a
         | more open society. That doesn't make the independent
         | researcher's work not research though.
         | 
         | Otherwise nearly the whole field of anthropology wouldn't exist
         | or wouldn't be considered research.
         | 
         | > Lumping them together just cements the idea that the systems
         | we built and navigate, for better or worse, are to be treated
         | like natural laws that can't be argued with.
         | 
         | The systems we have built are pretty fixed in time. We can
         | argue about how to change them going in the future, but we
         | should also record, externally if need be like here, what has
         | happened so that we can make better decisions going forward.
         | Apple's choices for the M1 are arguably more set in stone than
         | our conception of physics. We're able to retcon all of physics
         | when we make changes to the standard model, but "what tradeoffs
         | did Apple make in the M1" are pretty much done and set in stone
         | (or silicon I guess).
        
         | njitbew wrote:
         | The distinction you're making is more about _fundamental_
         | research vs. _applied_ research, but it is research
         | nevertheless.
         | 
         | From the first hit I found on Google:
         | 
         | * Fundamental researches mainly aim to answer the questions of
         | why, what or how and they tend to contribute the pool of
         | fundamental knowledge in the research area.
         | 
         | * Opposite to fundamental research is applied research that
         | aims to solve specific problems, thus findings of applied
         | research do have immediate practical implications.
        
       ___________________________________________________________________
       (page generated 2021-03-07 23:01 UTC)