Earlier quoted context omitted.
Others have already mentioned how high-quality this is, but I feel the need to reinforce it. The content is excellent, the framing is smooth, the presentation is accessible, and gorgeous. And beyond all that, you also ensured that the generated PDF is high-quality. I'm incredibly impressed. Keep up the great work, but most importantly, hold on to your passion and care! All the best, -HG
Glad you like the PDF! Fun fact: it's actually the print stylesheet output of the one-pager edition. Hit Ctrl-P on https://cpu.land/editions/one-pager (pref. in Chrome)
I'm 17 and wrote this guide on how CPUs run programs
211–220 of 327 posts
Re: I'm 17 and wrote this guide on how CPUs run programs
#212Very nicely written, and congrats on doing such a deep dive on this kind of topic. These days 17 year olds can get away with "programming" by gluing things they don't understand, but I think they'll eventually hit a ceiling. So what you're doing is super valuable, not for yourself, but for everyone else who will learn from your materials. Well done :) EDIT: now go write an emulator if you haven't already, it's a ton…
These days 17 year olds can get away with "programming" by gluing things they don't understand... I've been doing that for 26 years. ...but I think they'll eventually hit a ceiling. I wonder if it'll happen soon.
Re: I'm 17 and wrote this guide on how CPUs run programs
#213Hi! I'm Lexi, I wrote this article/mini-book. There's a classic question of "what happens when you load a website?", but I've always been more interested in "what happens when you run a program?". About 3 months ago, I was really annoyed at myself for not knowing how to answer that question so I decided to teach myself. I taught myself everything else I know in programming, so this should be easy, right? NOPE! Appare…
Having read the first couple of pages, my only feedback is a strong suggestion to drop the cutesy language. >The central processing unit (CPU) of a computer is in charge of all computation. It’s the big cheese. The shazam alakablam. It starts chugging as soon as you start your computer, executing instruction after instruction after instruction. Given the context, that would read much better as: >The central processin…
Lexi, don't change a thing. This document you've created encompasses who you are right now and more importantly, where you are in your technical journey and understanding.
The tone is just fine the way it is. If you're compelled to "fix" something, just correct errors and call it a day.
Re: I'm 17 and wrote this guide on how CPUs run programs
#214Hi! I'm Lexi, I wrote this article/mini-book. There's a classic question of "what happens when you load a website?", but I've always been more interested in "what happens when you run a program?". About 3 months ago, I was really annoyed at myself for not knowing how to answer that question so I decided to teach myself. I taught myself everything else I know in programming, so this should be easy, right? NOPE! Appare…
I love it! And also the natural humor that comes with writing as a 17-year-old. When I was your age I wrote this column of articles on FlipCode, about game development: https://www.flipcode.com/tpractice/ (If you check it out, I’d love to know your opinions). Also, I wonder what are your local state laws about hiring a 17-year-old to work on open source stuff as an intern. I checked out your github and think you migh…
https://www.flipcode.com/archives/Theory_Practice-Issue_00_I...
Re: I'm 17 and wrote this guide on how CPUs run programs
#215Earlier quoted context omitted.
These days 17 year olds can get away with "programming" by gluing things they don't understand... I've been doing that for 26 years. ...but I think they'll eventually hit a ceiling. I wonder if it'll happen soon.
I'm not sure it's always obvious to ourselves when we have. We humans are amazing at denial and telling ourselves whatever story we want to believe in. I'm not picking on you. If there's one thing I'm terrified of, it's blind spots.
Agreed. Some people would have to change employers in order to break through the ceiling, or to even see how they're limiting themselves. And for some of them: why would they?
Re: I'm 17 and wrote this guide on how CPUs run programs
#216Re: I'm 17 and wrote this guide on how CPUs run programs
#217Many articles posted on the internet are meant for one thing, guide a user to buy a certain service or product. But after reading the whole guide I only had the feeling of someone wanting to share knowledge.
The hackclub also seems to be a very interesting organisation and I hope more and more teenagers will join you guys and contribute to society as you have contributed by making this guide.
Re: I'm 17 and wrote this guide on how CPUs run programs
#218I'm almost 40 years old, and I've never accomplished something like this. I was just about to cope about my impostor syndrome. Well, I guess I need to cope more! Great job :p
Re: I'm 17 and wrote this guide on how CPUs run programs
#219Earlier quoted context omitted.
Can you (or archmaster) explain it? I'm not sure I understand what it's for.
When many people read an article on the web, they keep their eyes in one small vertical area on the page and scroll to shift the text (rather than reading the whole visible area and then scrolling to the next "page"). However, when you reach the end of the scroll area, you're suddenly forced to move your eyeline down the page. Adding a bunch of space adds means you can keep scrolling the text to be underneath your ey…
I'm thinking I'd have to have some very fine scrolling skills, and sit exactly still to keep my eyes constantly on one small vertical area of the page. And I'd rather dart and exercise my eyeballs than my scrolling finger :)
Re: I'm 17 and wrote this guide on how CPUs run programs
#220Earlier quoted context omitted.
You're both right. What the GP is saying is that all the details of how modern processors work are out there in books and academic papers, and that the material covered in graduate-level computer architecture courses is very relevant and helpful, and they include all (or nearly all) the techniques used in industry. From the GP's perspective, it doesn't matter at all if the course taught branch predictors on a MIPS pr…
> They still go over the various techniques used, their consequences, etc., so the processor chosen as an example is unimportant. They also include various techniques not used anymore, without mentioning that’s the case. I did a search for “branch predictor static forward not taken site:.edu” and found many documents which discuss that particular BTFN technique. In modern CPUs the predictor works before fetch or deco…
Definitely. Sometimes it's for comparative reasons, and sometimes it's easier to understand the newer technique in the context of the older one.
> discussing particular implementations of branch predictors in Pentium Pro, Alpha 21264, Pentium M, and Pentium 4.
Yeah, but the course is still not the optimization guide you wanted. The slides pick & choose features from each branch predictor to make the point the professor wanted to make and present the idea he wanted to. It's not really useful for optimizing code for that particular processor, it's useful for understanding how branch predictors work in general.
> I’m pretty sure they would be happy to included slides about contemporary CPUs, if only that information was public.
Only if they served as a good example for some concept, or helped make a point that the professor wanted to make. There's no point in changing the examples to a newer processor if the old one is a cleaner implementation of the concept being discussed (and older examples tend to be simpler and therefore cleaner). The point isn't to supply information about specific processors, it's to teach the techniques used in branch predictors.
P.S. See those 3 slides about a "Perceptron Branch Predictor"? Based on a paper from 2001? I'm betting AMD's "neural network" is really just something like that...