Slashdot Mirror


Understanding the Microprocessor

Citywide writes "Ars has a very thorough technical piece up entitled Understanding the Microprocessor. It's pitched lower than many Ars articles (all of which are a bit over my head, to be honest), but that's why it's worth checking out: it explains the fundamentals is a very clear and useful way. And as the author notes, this kind of information is really crucial to get a grip on before Hammer arrives."

165 comments

  1. Oh really? by Glock27 · · Score: 2, Insightful
    And as the author notes, this kind of information is really crucial to get a grip on before Hammer arrives.

    The only information you'll need to know once Hammer has arrived is that it's the fastest thing on the planet, and the only mass-market 64-bit processor.

    Oh yeah, and where to buy one. :-)

    --
    Galileo: "The Earth revolves around the Sun!"
    Score: -1 100% Flamebait
    1. Re:Oh really? by insanecarbonbasedlif · · Score: 3, Insightful

      The only information you'll need to know once Hammer has arrived is that it's the fastest thing on the planet, and the only mass-market 64-bit processor.
      Oh yeah, and where to buy one. :-)

      Except for us who have to make informed decisions about future upgrade paths and which processors are going to provide the best cost and performance for our specific applications. Sometimes you need to know the specifics of how a processor operates and what it's specific strengths and benefits are before you recommend changing a companies whole server base etc...

      --
      Just because I doubt myself does not mean I find your position compelling.
    2. Re:Oh really? by adewolf · · Score: 3, Insightful

      The DEC Alpha's have been 64 bit for a long time and the Alpha backplane is the fastest in the biz.

      Alex

      --
      "The Brady Bunch is back...working homicide"
    3. Re:Oh really? by Glock27 · · Score: 3, Interesting
      Except for us who have to make informed decisions about future upgrade paths and which processors are going to provide the best cost and performance for our specific applications. Sometimes you need to know the specifics of how a processor operates and what it's specific strengths and benefits are before you recommend changing a companies whole server base etc...

      No one with a clue would ever do this any other way than by buying/borrowing a system for evaluation and running the specific application as a benchmark.

      The beauty of Hammer is that doing so will be quite inexpensive compared to other comparable options. :-)

      I stand by my original post.

      (BTW, my vote for most innovative Hammer feature is the integrated memory controller(s) - memory bandwidth scales with processor count in SMP systems.)

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    4. Re:Oh really? by Anonymous Coward · · Score: 0

      Fastest thing on the planet? Please. The only thing I know is that you are a brainless AMD zealot to have made such an unsubstantiated claim. Rah! Rah! Zip boom bah! Clue: 64 bit does not = fast. In fact it may even slow some things down.

    5. Re:Oh really? by Hoser+McMoose · · Score: 1

      The Alpha (now more of an Intel chip than anything else) is not currently being mass marketed by anyone, and it never was mass marketed.

      Actually, Alpha was never really marketed much at all, which is the main reason why it never did very well, despite it's technical strengths.

      The original poster was quite correct, the AMD Hammer will be the first 64-bit, general purpose CPU that is mass marketed.

    6. Re:Oh really? by jason_watkins · · Score: 2, Insightful

      great enthusiasm, but a little mis-informed. As far as spec2k results go, Itanium2 is faster in floating point. And in the real world, "fastest" can vary by individual application, or even the particular inputs you give those applications.

      so maybe not "fastest", but it will be fast.

    7. Re:Oh really? by Glock27 · · Score: 2
      great enthusiasm, but a little mis-informed. As far as spec2k results go, Itanium2 is faster in floating point. And in the real world, "fastest" can vary by individual application, or even the particular inputs you give those applications.

      Oh really? (seems to be my phrase for the day) Please point me to the SPEC numbers for Hammer...

      We'll see what the best compilers available at the time of release can do. Also, there will be PR 4000+ Opterons (according to leaked information) in the first half of '03. Those should beat the Itaniums shipping at that time, even in FP. Don't forget, the highest end Opterons have two memory controllers, and double the memory bandwidth of the baseline Hammers.

      Regardless of whether or not Hammer is behind by a minscule amount in FP performance, I expect it will cost less than 1/2 what Itanium costs, even in its best Opteron incarnation. Finally, AMD will really be able to put the hurt on Intel. :-)

      Myself, I just want one of these babies coupled to a GeForce FX card. I'm thinking about June of next year... =)

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    8. Re:Oh really? by AlgUSF · · Score: 1

      I just want it for the kewlness factor! Yep here is my Athlon XP 2100+, and my Athlon 64 2XXX. :-) I could probably heat my house with just those two boxes....

      --


      I want my rights back. I was actually using them when our government stole them after 9/11.
    9. Re:Oh really? by Jhan · · Score: 2

      And not one second to soon. See this machine (points to the floor and right)? It's got 2 GB of memory (2^63), and it's my friggin' home computer. The fact that Intel is not pushing for 64-bit desktops is very strange indeed, considering that the will be nessecary even for high-end consumers like myself within the year.

      And don't give me that crap about 36 bit virtual adressing... The reason I use 2 GB in my machine is that I USE >1GB, in one process, and in a very random fashion (in fact, the hobby program I'm developing would really like ~7 GB of RAM (yes, just for this one process), but I can't afford that just yet).

      For those who are wondering what kind of "hobby program" I'm writing that needs such a shit-load of memory: It's an application that displays the globe, using the Blue Marble world texture maps at 1x1 km resolution from NASA (40,000x20,000 pixels, night and day side). And sometime soon-ish they'll release 100m maps, and I will need 700 GB of ram, then 10m/70TB, 1m/7PB...

      --

      I choose to remain celibate, like my father and his father before him.

    10. Re:Oh really? by jrwyant · · Score: 1

      Are you implying that you store all the world texture maps in-memory, all the time? Why wouldn't you instead scale the data to fit the current resolution for the current viewpoint of the globe? In other words, if you fit the entire glob into a 1280x1024 pixel screen, the display's resolution limits what you can see on the surface of the earth, why put more, unnecessary, data into memory?

      I would imagine that depending on what your zoom factor is, and with culling of the unviewable hemisphere, etc., you don't need all that data in memory at once. Put a really fast SCSI/RAID subsystem in there to maximize disk throughput, and rely upon retrieving needed data on-the-fly if you go to rotate the glob etc.

      Just curious....

    11. Re:Oh really? by Fulcrum+of+Evil · · Score: 2

      Given your application and the reasonable maximum resolution of 1920x1440, a 4kx4k texture map should be sufficient - just downsample your original map and display it. Even if you made your map zoomable, you wouldn't need gobs of ram. Ideally, you could store the large map on disk as a series of large squares, thus allowing efficent access to data in the shape you're likely to need. No a major memory requirement and probably fairly interesting to build.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    12. Re:Oh really? by Wolfrider · · Score: 1

      --Dude -- You, my friend, are Root!!

      --You should investigate a mainframe-tryout site, that would add some horsepower and speed to your app - especially if it's taking a while to compile. Only problem would be displaying the gfx, but if you're using XWindows or making dynamically-served pages it's cake.

      --
      .
      == WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
    13. Re:Oh really? by Jhan · · Score: 2

      Of course I keep the humongous texture map in memory. The whole point of my program is to be able to see the entire globe, quickly zoom in on an area of interest, then quickly zoom out and move to another area of interest. Basically, I'm trying to reproduce the effect in MiB (although that movie had'nt been done yet when I started in 1996 (on a 128 MB SparcStation, with 8192x4096 textures)). To smoothly scan to any region of the Earth at great detail.

      Regarding keeping the interesting parts of the map in memory, and swapping the others to disk... That's what virtual memory is supposed to do for you, yes? I do use mip-mapping, ie. having a hierarchy of textures, each with half the resolution of the last. When looking at the whole globe, you're just using the 1024x512 texture, but when you're fully zoomed in, you're using (a small subset of) the 40,000 x 20,000 map.

      Basically, you are suggesting that I should use complex alogorithms to shift any un-needed data to disk (when normal paging will probably do the same task faster and simpler).

      I should use a SCSI RAID (or perhaps fibre channel SAN?) to make globe-turning faster? Yes, it will be less than turgid, but it won't be smooth. Besides, I run this on a normal consumer computer, no RAID in sight... What you don't see here is that I, simply, for good reasons, wan't to keep it ALL in memory, allowing beautful, fast sweeps from any region on the Earth to any other. I DON'T want to swap to disk. Thankfully, I won't have to, in a year or so (due to current RAM increases), IFF Intel finally realizes that some programs do need more than 4 GB. AMD does. Guess which system I'll buy.

      --

      I choose to remain celibate, like my father and his father before him.

    14. Re:Oh really? by jason_watkins · · Score: 2

      the spec numbers released by AMD are "estimated" and used the intel compiler without the native x86 mode. they're all over the web:

      hammer:
      specint 1202
      specfpu 1170

      itanium2 numbers are real spec results available on their site:
      specint 674
      specfpu 1431

      AMD says they expect hammer aware compilers to render a 20% performance improvement in fpu, thanks to using the extra registers, etc. This is likely true, but also convenient that it's just enough to bring them to the same level as I2.

      In the end, hammer will always dominate i2 in performance per $ just based on the volumes of markets. As time progresses, itanium will ride moore's law wider, whereas it's not clear how hammer will capitalize on die shrinks. Interconnect delay is becoming the dominate issue, and so riding the clock advance like processor makers have been for the last 5 years will not be so straightforward.

      I'm earger to by a hammer as well. Don't think I'm somehow badmouthing the chip. Just wanted to balance out over-enthusiastic statements like "it's the fastest thing ever!!!".

  2. Sure by gowen · · Score: 4, Funny
    This kind of information is really crucial to get a grip on before Hammer arrives
    Yeah, right. In exactly the same way its necessary to understand the principles of the cathode ray tube and sideband modulation before the new season of Buffy starts.
    --
    Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
    1. Re:Sure by DarkHelmet · · Score: 4, Funny
      Oh my God? None of this news is really necessary?

      You mean I've been sacrificing my social life for nothing? Say it ain't so!

      You bastard... You cruel, cruel bastard... Can't you break things to the slashdot community gently?

      --
      /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
  3. Nomination by Apathy+costs+bills · · Score: 5, Funny

    Nomination for Best Diagram Ever. I really wish my "Introduction to MicroProcessors" had had something like that; instead we were drowned in the whiteboard handwavings of a man with an accent I could hardly understand. Maybe this guy should spin this off into a book, make a killing selling it to Undergrad CS students lost in space...

    --
    Kill Trolls Dead. Here's
    1. Re:Nomination by greechneb · · Score: 4, Funny

      Fortunately, my microprocessor teacher didn't have an accent, but nonetheless, the diagrams were on a whiteboard, and highly illegible. A book like this would be nice for students taking such a class. The worst part of my class was the $150 book, and using it only for the ASCII table. Then they decided to change the book the next year so I couldn't sell it back -

      On a related note - Anybody wanna buy a used book on architecture, programming, and interfacing with the 8086 and 8088 microprocessors? Rarely used, little wear, only used page 33 (ascii table)

    2. Re:Nomination by Anonymous Coward · · Score: 4, Funny

      Anybody wanna buy a used book on architecture, programming, and interfacing with the 8086 and 8088 microprocessors? Rarely used, little wear, only used page 33 (ascii table)

      I would, but I don't want to buy a book with a used ASCII table

    3. Re:Nomination by JonTurner · · Score: 4, Informative

      Maybe this guy should spin this off into a book,
      Too late. Charles Petzold has already done it. See CODE. It should be on every geek's bookshelf.

    4. Re:Nomination by Sobrique · · Score: 1

      Erm, no. Did you, on the first day you tried to use a computer go 'oh, I know how this works' and start bashing away in machine code to make it do stuff?
      I'd hope not ;p
      The whole point of dummed down is so you _can_ start to understand it. You start at a fairly high level (this is a processor. It does stuff) and work your way down to the detail. If I were to just throw a schematic of Hammer at someone, very few would have any idea what it was, let alone have a detailed understanding of it.

    5. Re:Nomination by SomeoneGotMyNick · · Score: 5, Insightful

      I disagree.....

      Everybody has a 'level' they need to start at when learning ANYTHING.

      More often than not, the starting level offered to someone is a bit higher than their current comprehension level on a given subject. It happens all the time to college freshmen. It doesn't mean they are dumb. They have the capability to learn it. It means that their life experiences and knowledge are incompatible with the method in which the subject material is being presented.

      With the assistance of an additional reference level (a bridge to knowledge, if you will), a person can then make 'the connection' to the material being taught. The microprocessor diagram helped me a lot. I learned about microprocessor theory from many books and diagrams. I'll be damned if I'll ever be able to share my knowledge with anyone else because it seemed tough to explain to someone else after I understood how it worked. I've always had a problem with 'dumbing down' anything I needed to explain. People always complain that I talk over their heads when they want an answer to a 'simple' question.

      The example given in this article greatly streamlines the concept. Now I can give a quick intro to microprocessors the next time the subject comes up.

    6. Re:Nomination by Anonymous Coward · · Score: 0

      33? Would that be the escape page? Oh wait... They're still numbering pages in decimal...

    7. Re:Nomination by ccweigle · · Score: 3, Funny

      On the other hand, I found this one pretty confusing.

    8. Re:Nomination by Anonymous Coward · · Score: 0

      There was a stellar book mentioned in the Terra Soft PPC mobo topic. One of the authors was Hennessey?

    9. Re:Nomination by ShotgunEd · · Score: 2, Informative

      Maybe this guy should spin this off into a book, make a killing selling it to Undergrad CS students lost in space...

      Computer Organization and Design: The Hardware/Software Interface is the ultimate intro to microprocessors book. It covers instruction sets and architecture extremely well. As the title suggests, it show how (and why) the instruction set and architecture are tied together. (Most of the discussions revolve around MIPS, but they have stuff on Pentiums and PowerPCs, too.) The meat of the book involves actually designing a pipelined, MIPS-like processor from scratch. Really cool stuff - you can actually implement the final design on an FPGA board pretty easily. The final design is, of course, much much much simpler than an actual processor, but it really gives you a sense of what all the components do and how they function together. Anyways, highly recommended...

      Computer Organization and Design: The Hardware/Software Interface from Amazon

    10. Re:Nomination by Anonymous Coward · · Score: 0

      How many people does your ASCII table hold? Does it come with chairs? How much are you selling it for?

    11. Re:Nomination by Anonymous Coward · · Score: 0

      That's SO funny. Exact same thing, though back in the day it was an $80 book; twice as expensive as any of other text books.

      We too used it only once for an ASCII table. At the end of the year, the prof apologized and said they weren't using it the next year so we couldn't even sell it back. He said, with a straight face, that we could keep it for a reference. BTW, it was written by a faculty member higher up the food chain than my prof.

      The song remains the same.

    12. Re:Nomination by irix · · Score: 2

      This book reminds me of my university education. When I was done, we had done transistors, digital logic, PC architecture, assembly language, C and C++ and network protocols. I have always felt that having an understanding of how everything works has made me a better programmer.

      --

      Do you even know anything about perl? -- AC Replying to Tom Christiansen post.
    13. Re:Nomination by SocietyoftheFist · · Score: 0

      Everybody is free to disagree. You're right,everybody starts at the beginning. I disagree that that the understanding is there if one has to always have it explained. There are plenty of CS grads that couldn't tell you what a cpu does when it powers up and that is more of what I'm getting at. I personally have felt that I learned more on my own that I did from some professors and I took objection to somebody whining about their understanding coming from one person. If somebody really wants to know they will find a way, not blame their understanding on the problems of others.

    14. Re:Nomination by commbat · · Score: 1

      Maybe this guy should spin this off into a book,

      Too late. Charles Petzold has already done it. See
      CODE . It should be on every geek's bookshelf.

      I second that. Very good book, second only to Forrest M. Mimms's coverage in a Radio Shack book from the early 80's which I've forgotten the name of after my ex-girlfriend stole it (she really knew how to hurt me) and I couldn't find another copy anywhere. I really miss that book keeping warm at night.

      --
      'Intellectual Properties' are uncontrollable in the wild. To base an economy on them is just stupid.
    15. Re:Nomination by Anonymous Coward · · Score: 0
      This country has a problem that begins with "A", and it's not alcohol.

      Americans ?!?

  4. Yo yo by Burgundy+Advocate · · Score: 4, Funny

    And as the author notes, this kind of information is really crucial to get a grip on before Hammer arrives.

    Yah, you don't want to be caught without da knowledge when the MC gets back in town to teach these new kids a "lesson".

    2 legit 2 quit! Hammer time, yo!! Word!

    --
    Dragging people kicking and screaming into reality since 1996.
    1. Re:Yo yo by mschoolbus · · Score: 1

      That's word,we pray(pray,pray)
      We got to pray
      Just to make it today
      I said we pray(pray) ah,yeah,pray(pray)
      We got to pray
      Just to make it to pray
      That's word,we pray


      I mean, yeah MC Hammer rocks and all, but come on... what does this have to do with Microprocessors?

    2. Re:Yo yo by M.C.+Hampster · · Score: 3, Funny
      2 legit 2 quit! Hammer time, yo!! Word!

      Finally, someone really understands me.

      --
      Forget the whales - save the babies.
    3. Re:Yo yo by Anonymous Coward · · Score: 0

      When using AMD products, you got to pray ... that the heatsink/fan doesn't fall off.

  5. Here's What I'd like to see by WookieOnTheRun · · Score: 2, Insightful

    Ok, I know that this probably doesnt jive with the majority of people who post here, however I'm not a tech person totally. I have my moments, but over all I'm just not. I'd like to get a better understanding of the inner workings of microprocessors from a laymans perspective... kind of like I'm in 4th grade. I feel like if I had that understanding I would better understand my machine, but this stuff is just too much for me...

    1. Re:Here's What I'd like to see by OrangeSpyderMan · · Score: 1, Offtopic

      A layman is someone who can get laid, and hence a "non-geek" :-)

      --
      Try NetBSD... safe,straightforward,useful.
    2. Re:Here's What I'd like to see by baywulf · · Score: 5, Interesting

      I've been studying hardware design for a while now and the following course documents from the (former) ARSDigita university are a clear yet consise depiction of what you would learn in a beginnning microprocessor design course.

      http://www.aduni.org/courses/how_computers_work/

    3. Re:Here's What I'd like to see by Skamandrios · · Score: 2, Interesting

      I am currently enjoying Charles Petzold's book "Code", which essentially walks you through the workings of a CPU by describing one built with telegraph equipment from the 19th century. Lots of interesting history as well. This is the best written popular tutorial on microprocessors I've seen.

    4. Re:Here's What I'd like to see by dohnut · · Score: 4, Informative


      I think what you would like, although it's a bit dated, would be Understanding Digital Computers. This book takes starts at the gate level and goes through the layout and operation of a simple 8 bit CPU. I got this book when I was 13. When I went to college and took my digital architecture classes I aced them, and even though that was much more difficult I credit my success to having read this book first instead of diving in naked like most students do/did. It's been forever since I've read it, but I still have it on my bookshelf.

      --
      Stupider like a fox! - H.S.
  6. I understand microprocessors... by craenor · · Score: 1

    I used to have a t-shirt with "2b or not 2b" in Boolean Algebra on the back.

    That's about all I ever needed to know about microprocessors.

    Craenor

    1. Re:I understand microprocessors... by Anonymous Coward · · Score: 0

      hm, taking 2b to be 10 in binary this equates 10|~10 which is 11 in binary or 3 in decimal. What happened to 42?

  7. I concur! Not a joke! by mekkab · · Score: 4, Funny

    It is nice to have an appreciation for the underlying mechanisms of the things we use.
    As Socrates said, the unexamined life is not worth living.

    But as many EE or even ECE people know, most programmers don't give a rats ass about what the hardware is doing. those that do have this understanding ( OS people, real-time people, embedded people, well a lot of people!) have it because they need it.

    I'm not arguing that it isn't beneficial to know the difference between SIMD, SISD, MIMD, MISD systems, but if you aren't programming or designing for parallel systems, how will this help you when a new processor comes to market?!

    The "Hammer" line is just a fumble for relevance. Guess what? We're reading this on a computer. The relevance is already there!

    --
    In the future, I would want to not be isolated from my friends in the Space Station.
    1. Re:I concur! Not a joke! by warpSpeed · · Score: 5, Funny
      ( OS people, real-time people, embedded people, well a lot of people!)

      embedded people, are they, like, fetuses?

      But seriously (and to stay on topic), I am really excited about hammer too. 64 bit processors for the people! I hope the mobo manufacturs get some nice, commodity products out there so that hammer is a viable chioce for my desktop!

    2. Re:I concur! Not a joke! by Merlin42 · · Score: 2

      Ok I am quite familiar with SISD(Single Instruction Single Data), this is the basic abstraction that pretty much every computer out there uses.

      SIMD(Single Instruction Multiple Data) is the hot 'new' kid on the block and the basic abstraction/concept behind altivec, MMX, SSE, VIS, etc.

      MIMD(Multiple Instruction Multiple Data) would (IMNSHO) be just a misnomer for VLIW(Very large instruction word) which is almost the same thing as EPIC(Explicitly parallel instruction set computing) aka Itanic ... er ... ia64 ... er ... itanium(2) ... er ... whatever.

      Now what exactly would a MISD(multiple instructions single data) system be?! And, can anyone point to an example of such a system?

    3. Re:I concur! Not a joke! by swright · · Score: 2, Insightful

      Now what exactly would a MISD(multiple instructions single data) system be?! And, can anyone point to an example of such a system?

      They don't exist - just a theoretical fourth type to complete the set. Always in computer science courses, but none ever built.

    4. Re:I concur! Not a joke! by Sobrique · · Score: 3, Informative

      SIMD ~= Array processing. Take this bazillion element array and add 1 to each. MIMD ~= current multiprocessing. x processors running x separate bits of code.
      MISD is fairly near useless, since it's basically one great big implicit race condition. It's included in the list for completelness only.
      (These two processors in parallel, add 1 to this element and multiply it by 2. So do you get 2 (x+1) or do you get (2x + 1))

    5. Re:I concur! Not a joke! by Scott+Wood · · Score: 2

      ARM has a feature that could be considered MISD, whereby a single instruction can do a shift/rotate on one operand of an arithmetic or logical operation (e.g. add r0, r1, r2, lsl #3 to place the value of r1 + (r2 << 3) in r0).

    6. Re:I concur! Not a joke! by The_K4 · · Score: 1

      Actaully you would get X = 2X and X = X+2 (the 2 operands are the same the instruction is different) and the race would be to 2X + 2 or 2(X+2).

    7. Re:I concur! Not a joke! by Anonymous Coward · · Score: 0

      EE people... That would be the kind of people that think polling something 10,000 times per second is a great strategy to determine if a critical situation needs resolving, while at the same time the CPU is trying to do some real work... "Interrupts? What are those?"

      No joke, this really happened to me.

    8. Re:I concur! Not a joke! by Glock27 · · Score: 2
      But as many EE or even ECE people know, most programmers don't give a rats ass about what the hardware is doing. those that do have this understanding ( OS people, real-time people, embedded people, well a lot of people!) have it because they need it.

      Plenty of OS, real time and embedded people have no need for anything beyond instruction timings, if that. C is a wonderful thing.

      Don't get me wrong, you should read the article just to appreciate the technology. But to imply that reading the article is necessary for a programmer (even an assembly level one), much less an end user, is a big overreach. That was my original point...along with the fact that Hammer will rock! :-)

      BTW, whoever moderated my original post a "troll"...get a life. :-)

      As someone else's tagline reminds us: "To moderate is human, to reply divine." ;-)

      Moderation Totals: Troll=1, Insightful=4, Overrated=3, Total=8. Heh. I guess I have some anti-fans. Most likely Intel employees or fans I guess...diversify those portfolios guys! ;-)

      Disclaimer: I don't currently hold AMD or INTC stock. That will change soon though. =)

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    9. Re:I concur! Not a joke! by Anonymous Coward · · Score: 0

      Just so you know, 'interrupts' are generated by basically having the CPU poll the IRQ lines after every instruction (part of the CPU's instruction processing loop).

      Polling at 10,000 Hz is bad, eh? How about at 2.5 GHz? :)

      Polling makes the [synchronous] world go round. And, BTW, perhaps 'sampling' would be a more accurate term.

  8. you're not alone. by rebelcool · · Score: 2
    most people here know very little about how the machines actually work. They just like to claim they do because they can write insignificant shell scripts.

    Some things, like microprocessor design, simply can't be gleaned without a proper education and then experience working in the field. Even the best undergrad program will only take you to about the pentium II level in design. I had a course where we built (paper design, and simulated of course) a processor that was a PII equivalent.

    Anything higher than that... well, go get a job with amd or intel.

    --

    -

    1. Re:you're not alone. by mekkab · · Score: 2

      When you say "paper", do you mean VHDL?
      Cuz that's pretty much all you need to do!

      I've done some sili-layout first with L-Edit and then with Cadence (Ugh!) but you VHDL first, and let that layout your chip. Ship that to the fab, and you got yrself a nifty micro.

      --
      In the future, I would want to not be isolated from my friends in the Space Station.
  9. It's hammer time!!! by Anonymous Coward · · Score: 0
    can't touch this.

    can't touch this.

    My my my music hits me so hard
    Makes me say "Oh my Lord"
    Thank you for blessing me
    With a mind to rhyme and two hype feet
    It feels good when you know you're down
    A super dope homeboy from the Oaktown
    And I'm known as such
    And this is a beat uh you can't touch

    I told you homeboy (You can't touch this)
    Yeah that's how we living and you know (You can't touch this)
    Look at my eyes, man (You can't touch this)
    Yo, let me bust the funky lyrics (You can't touch this)

  10. This is news how? by radiumhahn · · Score: 5, Funny

    Everybody knows computers work because the ONEs and ZEROs are at war with each other...

    1. Re:This is news how? by Walterk · · Score: 1

      And then there is the occasional TWO, AKA The One. All the ONEs and ZEROs tremble is his presence.

      Wait a minute.

    2. Re:This is news how? by vectra14 · · Score: 4, Funny

      you should never bend computer wires too much. you see, 0's are round, so they get through fine, but 1's tend to get stuck in the bends =)

    3. Re:This is news how? by radiumhahn · · Score: 1

      I should clarify... I'm rooting for the ZEROs. I hate those ONEs with their picture perfect good looks and their "holier than thou" attitudes. People of the world hold down your ZERO keys! We'll make an army the likes of which no ONEs have ever seen! If the freedom fighters can just hold out there will be only ZEROs after the new year!

    4. Re:This is news how? by Anonymous Coward · · Score: 0

      Err.. you do realize right that actual ones and zeros aren't sent along the cable?

    5. Re:This is news how? by vanza · · Score: 2

      Yeah, also remember not to use 1's too much during an electrical storm... you know, all those pointy edges are a hazard.

      --
      Marcelo Vanzin
  11. But i thought by youngerpants · · Score: 4, Funny

    that my 'puter was powered by a series of little mice on little wheels.

    Suppose I'd better stop putting food for them in the coffee cup holder. Who would have thought that the nice man from IT support was right all along

    1. Re:But i thought by theperplepigg · · Score: 2
      Suppose I'd better stop putting food for them in the coffee cup holder.

      question is...where has the food you put in your CD-dri^H^H^H^H^H^Hcoffee cup holder gone??

      --paul

      --
      -- Every time you kill a kitten, God masturbates.
    2. Re:But i thought by spakka · · Score: 2
      that my 'puter was powered by a series of little mice on little wheels.

      I thought that computers all had an autistic kid inside.

    3. Re:But i thought by imcclure · · Score: 1

      I don't know about you guys, but my computer runs on three Idaho potatoes.

    4. Re:But i thought by Anonymous Coward · · Score: 0

      Everyone knows computers work because of djinnis. Djinnis are smoke. If you let the smoke escape, releasing the djinnis from their servitude, the computer stops working.

  12. Guess what? by mekkab · · Score: 3, Interesting

    If you are in that position,
    chances are you don't need, or you could write this article.

    Also, if you are a big enough player, you get some sample procs and run some benchmark tests, maybe even write some of your own.

    --
    In the future, I would want to not be isolated from my friends in the Space Station.
    1. Re:Guess what? by jgerman · · Score: 3, Insightful

      Except for those who may want to be in that position in the future, except for students who want to learn about it, except for children taking their first steps into becoming really good with computers. Except for ANYONE who doesn't want to be clueless about what's going on with something they bought, and why. ;)

      --
      I'm the big fish in the big pond bitch.
    2. Re:Guess what? by Sobrique · · Score: 1

      Sorry, from what I've seen the people who advocate, trial and recommend new tech are usually at management level looking for cushy numbers.
      The kind of person who goes and buys a WLAN, deploys it without locking it down, and goes 'oh I was trying it out' when the resident security weeny tries to kill them. All with higher up technophile management approval of course. They don't bother to consider the implications of new tech, they just go 'ugh, shiny new laptop. Must be better. Must have'.

    3. Re:Guess what? by mekkab · · Score: 2

      Most of the time you don't need ALL the nitty gritty, just a little bit of the goods to make good high-level decisions. And if you do want the nitty: Not to troll, but, go read a book! Take a class!

      Actually, I'm spoiled. My Microprocessors class had a hand written text book that was SUPER FANTASTIC. This guy could teach. He could also design systems like a madman.

      But really reading a book (becuase your gonna need something on hand you can reference) and then getting one of those trainer boards (With the hex input and 8 segment LED display of IAR and register A) and you are set.

      --
      In the future, I would want to not be isolated from my friends in the Space Station.
    4. Re:Guess what? by jgerman · · Score: 2
      Need is seaparate from want. Personally, I don't need to go and buy another book on the subject, when I was a kid and first getting into computers I couldn't afford all the books I would have needed (of course there was no web at that time either).


      I don't think you're trolling, but there's no reason the information shouldn't be available in multiple places, especially places where it's free.

      --
      I'm the big fish in the big pond bitch.
  13. I went to get Brain Scanned.. by teamhasnoi · · Score: 0, Troll

    I got in the MRI and they showed me a picture of the Hammer, but my boner told them what they needed to know.

  14. why? by stratjakt · · Score: 0, Troll

    >> And as the author notes, this kind of information is really crucial to get a grip on before Hammer arrives

    Why? This doesn't explain why Hammer is better at all. Yay, now we can have a rudimentary explanation of how a CPU works, but it'll just encourage more uninformed fanboy type crap.

    Basically, Hammer (64 bit cpus) = larger addressing space, not nescessarily faster processing. That's good enough for me, though.

    But, it's like 9th grade physics students telling you why Einstein is a 'big dumbass'. AMD has Hammer! It better! Intel is gay! bleh.

    Although, it is crucial for /. posters who have no clue how a computer works and just spout BS about how what is better than what based on some marketing benchmarks.

    But they wont RTFA anyways.

    --
    I don't need no instructions to know how to rock!!!!
    1. Re:why? by Junks+Jerzey · · Score: 2

      Basically, Hammer (64 bit cpus) = larger addressing space, not nescessarily faster processing.

      And almost certainly higher cost and higher power consumption.

    2. Re:why? by oliverthered · · Score: 3, Informative

      "Basically, Hammer (64 bit cpus) = larger addressing space, not nescessarily faster processing."
      I suggest you go read the developer docs for the hammer.

      Memory addressing has been re-designed, because no-one uses the protection model in x86. etc....
      Do you understand me, or the developer docs, probably not.
      now read Understanding the Microprocessor and say that the Hammer isn't an improvement.

      --
      thank God the internet isn't a human right.
    3. Re:why? by Zathrus · · Score: 2

      Well... kinda...

      I suspect some people do use alternate addressing, since Intel put it in the Xeon -- it has a (slower) 36-bit mode that can address up to 8 GB of virtual memory.

      The Hammer has a 48-bit virtual and 40-bit physical addressing -- not 64-bit, although there's a good bit of confusion on this (particularly since AMD's own docs refer to 64-bit addressing in some areas, but refer to the 40/48 bit addressing in others -- I doubt they implemented full 64-bit addressing; it'd be massive overkill for the lifetime of the CPU).

      I agree that Hammer is important for much more than address space though.

    4. Re:why? by oliverthered · · Score: 2, Insightful

      Hmm... By the looks of things there using a flat model, no CS/DS and a few other bits and bobs, it's not just the addressing that's changed by but the 'way' that you address memory.

      This is a small step away from CISC, since the memory access model is becoming simpler, which inturn can give performance improvements.

      --
      thank God the internet isn't a human right.
    5. Re:why? by Anonymous Coward · · Score: 0

      no. the hammers have a 64 bit virtual and a 52 bit physical addressing.
      the implementations for the first run are 40 bits but subsequent hammers will epand as needed. he x86-64 spec sez 64/52 which is what developers should rely on. they have a page translator to downconvert automatically on 40/48 bit hardware.

  15. Underdstanding the internals of CPUs by syntap · · Score: 0, Troll

    is as important as understanding the particular interleave method of the Macintosh floppy mechanism. What does Joe Six-Pack care as long as he's got a desktop rocket?

  16. pah! VHDL is for pussies! by rebelcool · · Score: 2
    we did use vhdl for most of it though. I recall an early design class I had where the professor demanded we design a multiplier - at the transistor level.

    That was fun, let me tell you.

    --

    -

    1. Re:pah! VHDL is for pussies! by mekkab · · Score: 2

      we (tried) to design an entire 8-bit micro at the silicon level. Yep- Here's your P region, here's your N region, run some poly here, some metal 1 here, a via and then some metal 2 here, and VOILA! You have an 8 bit register that shifts and increments. My partner made the ALU. We got about as far as designing the RAM and WHOOSH the semester was over.

      Thank god for the Gentleman's C!

      --
      In the future, I would want to not be isolated from my friends in the Space Station.
    2. Re:pah! VHDL is for pussies! by Anonymous Coward · · Score: 0

      I also have done some extensive layouts useing cadence, however we did not use vhdl. We designed two chips at the transistor level. Each chip containing 10-11 thousand transistors. The chips had multiple functions but were custom to a specific product we were designing. We then had the chips fabbed and had to incorporate them into our end project. It was a great experience. This was all done as an undergrad last year in ECE.

      Some of the functions were compact flash initialization/reading/writing, RS232 communication, and data collection from sensors.

  17. As you say in your post... by mekkab · · Score: 0, Troll

    I think an article like this will prevent comments like:
    "AMD has Hammer! It better! Intel is gay!"

    and will instead promote more educated comments like:
    "AMD is TEH GODE! INTEL is TEH SUCK!"

    Wake me when you kids are running RISC processors...

    --
    In the future, I would want to not be isolated from my friends in the Space Station.
    1. Re:As you say in your post... by Sobrique · · Score: 0, Troll

      how about "x86 IS SUK. U suk. Gimme SPARC". Or something...

    2. Re:As you say in your post... by mekkab · · Score: 0, Troll

      Dewd, we just got moderated by "The Guy With No Sense of Humor." He seems to get a lot of mod points...

      --
      In the future, I would want to not be isolated from my friends in the Space Station.
    3. Re:As you say in your post... by Sobrique · · Score: 0, Offtopic

      Colour me happy, I got a TROLL point. And that wasn't even for a blatant troll either.
      Woo hoo!

  18. IN SOVIET RUSSIA by Anonymous Coward · · Score: 0

    MC Hamburger was a screaming hermersexual.

    1. Re:IN SOVIET RUSSIA by turgid · · Score: 1

      No, but it was so cold in the winter, that even the ice was frozen.

  19. if you *really* want to understand by ch-chuck · · Score: 4, Interesting

    build one of these

    --
    try { do() || do_not(); } catch (JediException err) { yoda(err); }
  20. $ dict -P - layman by Walterk · · Score: 2, Insightful

    2 definitions found

    From Webster's Revised Unabridged Dictionary (1913) [web1913]:

    Layman \Lay"man\n.; pl. {Laymen}. [Lay, adj. + man.]
    1. One of the people, in distinction from the clergy; one of
    the laity; sometimes, a man not belonging to some
    particular profession, in distinction from those who do.

    From WordNet (r) 1.7 [wn]:

    layman
    n : someone who is not a clergyman or a professional person
    [syn: {layperson}] [ant: {clergyman}]

  21. Not too low! by Anonymous Coward · · Score: 2, Insightful

    "It's pitched lower than many Ars articles (all of which are a bit over my head, to be honest)"

    I used to feel the same way, but now that I have had several courses in this area, I find Ars's usual detail about right. (if they are still too low pitched you can always read the references) If your a person who understands this stuff, but doesn't want to spend the time reading the latest journals and conferences, Ars articles often provide a great way to stay up to date. Although they may not be accessable to some (I've been there). I hope this "lower pitch" doesn't become a trend.

    1. Re:Not too low! by misterhaan · · Score: 2
      i agree--for those of us who don't need anymore background, the articles are a great resource, and it would take a lot away for them to start writing all stories with a "lower pitch".

      on the other hand, i think this article is a good idea too--it helps out those of us who would like some more background to help us understand the normal stories.

      all in all, i think that running articles giving background info is good, but i hope they keep it separate from the other articles. when i already have the background, i'd rather not have to drudge through it everytime i want to read an article on the subject.

      --

      track7.org has all kinds of interesting stuff!

    2. Re:Not too low! by jason_watkins · · Score: 1

      Yeah, I'd tend to agree. But, those of us with a couple classes or a couple good books under our belt are different than people who'd like a better understanding, but don't want it enough to go read a couple hundred pages of hennesy and patterson or whoever.

  22. Behold the power of nerdism... by Mysticalfruit · · Score: 1

    Try walking out of the lab and explaining what a multimasked register is... then you'll understand why this article is nice!

    --
    Yes Francis, the world has gone crazy.
  23. Unless of course by burgburgburg · · Score: 2

    you're using a liquid crystal display to watch Buffy, Dawn, Spike, Xander, Anya, Giles (assuming he's still alive) and Willow as they work to defeat The First (From beneath you, it devours).

  24. wow by netwiz · · Score: 4, Insightful

    This is quite possibly the best "intro to computers" on a high level that I've ever seen, and it even delves into some of the more specifics of CPU operation. Kudos to Ars...

    However, I still don't see how this is relevant to Hammer, as the article doesn't even go into detail about different takes on architecture vis a vis Intel and AMD. There's a few links at the end to a discussion of the diffs in the G4e and the P4, but nothing on the AMD side.

    [offtopic]
    Personally, I'm getting wary of various AMD products. I continually see issues w/ AMD and games (the EQ debacle being one of them), I see general weirdness w/ my software on my Athlon, and it just reminds me of all the hideously weird incompatibilities I've had over the years (some that aren't even regularly reproduceable, maybe it's a bad mobo?), and it makes me recall a discussion w/ some of my friends:

    "If you want it to run right, use Intel. Everyone, _everyone_ tests w/ Intel stuff first. From MS (yah, boo, whatever) to id, from nVidia to Creative Labs, everyone tests on Intel _first_."

    I'm not trying to bash AMD, it's just that, well, every time I use an AMD system, I end up experiencing weird glitchy errors, that come and go as they please. While my Athlon setup has been orders of magnitude more stable than past AMD systems, it's still not the rock that my P3 was.
    [/offtopic]

    1. Re:wow by Anonymous Coward · · Score: 0

      I work at a game developer. We all have Athlons. I guess the publisher might test to see if the games work on other systems like Intels though. Just not as often/soon as on the mainstream system.

    2. Re:wow by aero6dof · · Score: 4, Insightful

      Having built and bought systems for many years now, I've decided that the processor doesn't matter much for stability. If you want a stable system, you need to put thought and money into selecting a solid motherboard, chipset, and power supply.

      AMD's problem is that their image is that of a "cost-saving" choice. So some system builders who use AMD go into "cost-saving" mode on all the other compenents of the system -- leading to a greater chance of instablility and a bad rep for AMD.

    3. Re:wow by Listen+Up · · Score: 2


      I have found Athlons to be just as stable as any Pentium III or IV. I sell only Athlons to all new customers, and will install P4's if specifically requested. But, I spend, and I do mean spend, tons of painstaking amounts of time research the AMD motherboards. Almost all of the cheap ones are crap (along with almost anything VIA used to make more than 1 1/2 years old). Please consider this before you let anyone tell you otherwise about Intel chips or Athlons. My bestfriend works at Cray Inc. and they are building a super cluster computer using all Athlons. Think about it. Those are not VIA chipsets in those beasts.

  25. But in that case ... by burgburgburg · · Score: 2

    we'll never get a grip because "Can't touch this".

  26. IN SOVIET RUSSIA by Walterk · · Score: 0, Offtopic

    This kind of pissy music isn't actually listened to!

  27. Mod this up. by Anonymous Coward · · Score: 0

    LOL. Thanks for the laugh.

  28. MISD by pommiekiwifruit · · Score: 1

    How about a graphics processor?

  29. 64 bit? by Anonymous Coward · · Score: 0

    Why is everyone getting excited about 64 bit hammer? For crying out loud the Atari Jaguar (like 10 years old now) and the N64 were 64 bit. Hell, my geforce is 256 bit. These processors we have these days totally suck lol. When I see a processor that is as fast as the processor on mah video card, thats when I'll upgrade.

    1. Re:64 bit? by Anonymous Coward · · Score: 0

      If you think your N64 ran a true 64bit CPU, I think you'd better go read the article :-)

  30. Now Everyone Can See by Anonymous Coward · · Score: 0

    This is a great article. I'm going to email this to several people I can think of. When you look at a computer this way, and really start to understand it for what it is, a lot of silly computing issues really fly out the window. It really does underscore how ridiculous some software prices are, and it points out why some of the things Microsoft and the Entertainment Industry want to do to computers are so asinine.

    A good followup to this article would be a beginner's guide to programming a computer, along with an explanation of why you aren't able to do it with Windows without shelling out big bucks for VC++.

  31. Ahh! by Inoshiro · · Score: 3, Funny

    Words bad, hurt Oog head!

    Oog simple Caveman, like Hammer. Oog use 64-bit Hammer bash! Oog buy AMD. Oog love AMD!

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
  32. Computer Organization and Design by Snoochie+Bootchie · · Score: 3, Interesting

    For a more detailed treament of the topic, take a look at David Patterson's and John Hennessy's _Computer Organization & Design_. It is an excellent text book on the topic.

    1. Re:Computer Organization and Design by Anonymous Coward · · Score: 1, Informative

      Or, for an even more detailed treatment, try Hennessey and Patterson's _Computer Architecture: A Quantitative Approach_.

  33. In Soviet Russia... by Phosphor3k · · Score: 3, Funny

    The microprocessors understand YOU!

    1. Re:In Soviet Russia... by stud9920 · · Score: 2

      Actually a question that always struck me is : what computers did the soviets use ? These people had a comparable space program, and yet I have never heard of the computers they were using. I tried a while ago to make some google searches (yes, I do know in soviet russia google searches YOU), but the only thing I found was a pay per view IEEE article. Does anyone know a good website on the matter ?

    2. Re:In Soviet Russia... by bstadil · · Score: 2
      They used a fair amount of Western technology, mainly at the board level. Back in the 70's it was common knowledge (I worked in the industry) that certain distributors that covered "University accounts" shipped into the east block. It was centered around Finland, Austria and for Telecom products France. They paid a huge premium as the boards was marked-up by two or three levels of distribution.

      --
      Help fight continental drift.
    3. Re:In Soviet Russia... by Mac+Degger · · Score: 3, Interesting

      Do a google for "silicon zoo"; you should find a site which has loads of pictures of 'silicon art', basically 'doodles' (well, too high tech to call them doodles, really) made on production chips, in the die margins, whereever.

      One of them has a message to russian reverse engineers, in cyrilic russian, to the effect of "only steal from the best" :)

      --
      -- Waht? Tehr's a preveiw buottn?
    4. Re:In Soviet Russia... by bstadil · · Score: 1
      Thanks, I vaguely remember I have seen this before.

      It must have been strange to be a USSR engineer at the time. On one hand playing along with all the Anti West rhetoric, at the same time having to steal technology just to keep up.

      --
      Help fight continental drift.
    5. Re:In Soviet Russia... by turgid · · Score: 2

      There were lots of Eastern Bloc Z80 clones. If you google, you can find loads of Sinclair Spectrum clones from Russia, East Germany etc. IIRC they were actually ahead of the West in supercomputer design though, because the Soviet government poured large amounts of cash into it.

    6. Re:In Soviet Russia... by Detritus · · Score: 2
      Some of their computers were clones of popular U.S. computers such as the IBM 360, PDP-11 and VAX.

      Many years ago, I heard a rumor about a VAX-11/780 (first model of the VAX) disappearing while being shipped on a train in West Germany. Supposedly it was taken to East Germany for reverse engineering.

      --
      Mea navis aericumbens anguillis abundat
    7. Re:In Soviet Russia... by tqft · · Score: 1

      I heard a rumour that some work was done in the USSR on hardware/software using trinary logic (yes/no/doesn't matter) - does anyone know if it true? I do - just googled it myself http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe =UTF-8&q=ternary+logic+ussr OK - has anyone done much reading of this and would like to enlighten me/us?

      --
      The Singularity is closer than you think
      Quant
  34. More /. FUD by Anonymous Coward · · Score: 0

    $99 is big bucks?

    Never mind that all the GNU tools are avialable for windows for free. The same exact tools used to build everything in and on Linux itself.

    Keep you stupidity to yourself please.

  35. This reminds me... by TeknoHog · · Score: 3, Funny

    You can compress data by removing all zeros, because they don't contain any information anyway. Besides, a "0" is more bulky than a "1" so you'll save more than half of the space.

    --
    Escher was the first MC and Giger invented the HR department.
    1. Re:This reminds me... by aulendil · · Score: 1

      Oh, the spoiled kids of today...When I was young we didn't have those fancy Ones. All we had was Zeroes, and even then we had to use capital o.

    2. Re:This reminds me... by Des+Herriott · · Score: 1

      Really? I always thought 1's were a bit more than 0's...

  36. Pretty Useful by Badgerman · · Score: 3, Interesting

    This was definitely worth posting - it's a good, helpful summary. It's the kind of thing that I wish there was more of since I can pass the article on to people who need it.

    I'd like to see a series of books on the way computers work, at various levels of knowledge, so people can get the knowledge in bite-sized chunks. It'd be helpful to me, since I often end up being "Mr. Explainer" and I'd LOVE to just hand someone a book and get back to work.

    --
    "The Sage treasures Unity and measures all things by it" - Lao Tzu
  37. A good introduction, but... by Animats · · Score: 2
    It's a good introduction to how a computer works.

    But if you need it, you shouldn't be reading Slashdot, or at least, not posting stories.

    The classic on this subject, is, of course, Von Neumann's First draft report on the EDVAC.

    1. Re:A good introduction, but... by Izeickl · · Score: 2

      How arrogant can you get? People have different skills and different knowledge.
      Also Slashdot is good for people to learn new things, the whole point of articles is to bring to light information that people can discuss and be informed!!

  38. what I understand about microprocessors by rock_climbing_guy · · Score: 2, Funny

    There are 10 kinds of people on this board: those who understand the language of microprocessors and those who don't. As for myself, I fall into the latter category because the darn thing is /.ed already.

    --
    Wh47 d1d j00 541, 31337 15n't t3h r0xor5 ne m0r3???
  39. Just a few problems by drinkypoo · · Score: 4, Informative
    First of all, I think it would have been beneficial to examine a really stupid CPU (like the 8086 perhaps) before launching into stuff like SIMD.

    Second, the first two instruction types given are arithmetic and load/store. Unfortunately something like half the instructions (or more) in a program are usually arithmetic and branch instructions (conditional jumps in fact.) So those are definitely the things to discuss first, before load/store, if you're going to do it that way. I personally would bring all three types of operation to the front right away and then delve into how they work, but that's a personal decision.

    Speaking of branching instructions he describes forward and backward branches. This is silly. There are two kinds of branches, relative (offset) and absolute. You can jump to a location which is +/- however far from your current position, or you can jump to a specific address. Some CPUs only allow one or the other of these. x86 uses both. (A short jump is an 8 bit signed jump, -128/+127 offset from your current location. A near jump is 16 bit. A far jump specifies a segment and offset, because x86 uses a segmented memory model.) So branching forward or backward is only a significant concept (at all - of course the assembler handles this for you) when talking about relative branches.

    I thought that this article was going to talk about how it was actually done. Maybe I'm just special (where's my helmet?) but I've got most of this material (in this article) out of previous ars technica articles. The stuff in this comment I'm writing now, on the other hand, is based on a class in x86 assembly, the final for which is on this coming Tuesday. I want to know how the instruction decoder is put together, for example.

    If you ignore every other point I've made in this, consider the possibility that it is a big mistake to start talking about heavily pipelined CPUs. It would be best to start with the classic four-stage pipeline (fetch -> decode -> execute -> write) in which an instruction is fetched from memory (via the program counter; In x86 this is coupled with the CS register (code segment) and it is called the instruction pointer (IP or on 32 bit CPUs in 32 bit mode, EIP) and so you load the new instruction from CS:IP. As per my above paragraph a short or near jump updates IP or EIP, a far jump updates CS and [E]IP.

    Finally, is it just me or is it amusing that we're supposed to understand this before hammer arrives but every page has a gigantic animated Pentium IV ad? Up yours, ars adsica.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    1. Re:Just a few problems by dubstop · · Score: 1

      Is this a troll, or are some people still being taught about x86 segments and offsets?

      The flat memory model has been the standard on x86 since the advent of win32. Maybe the segmented memory model is an interesting historical footnote, but I can't see why it would actually be taught as part of an x86 assembly language course.

    2. Re:Just a few problems by TheSunborn · · Score: 1

      How would you address 16GB ram with only 32 bits and no segments? Besides segments always start at 0(virtual address) which allow for some optimization. (Well nobody does that kind of optimizing anymore, and the only os which allow you to controll the segments is OS/2) but still :}

      Martin Tilsted

    3. Re:Just a few problems by drinkypoo · · Score: 3, Informative
      Is this a troll, or are some people still being taught about x86 segments and offsets?

      Probably everyone who takes a class in x86 assembler (I would have preferred 68k but x86 is what was offered here) is learning about segmented addressing. This is because:

      1. x86 CPUs still use segmented addressing. It is necessary to cross the 4GB boundary. In addition BIOS executes in real mode so even the most modern x86-based systems do segmented addressing at some point in the boot process.
      2. ASM is used for three things. The first is inline assembler for optimization. The second is drivers, where things either have to happen on schedule (one operation MUST follow the prior and be followed by another specific operation.) The third is embedded systems where ALL of the code is sometimes STILL written in assembler, from front to back, typically runs on small x86-based computers running some form of DOS, and is typically 16 bit real mode code.

      In addition even in 32 bit mode you still have and use segment registers. Oh, you might never CHANGE them, but they are still there. As the sibling to this comment points out, you can use them for optimization (changing DS and ES to allow your offsets to be the same, or smaller than they otherwise would be) and save a few cycles. The registers are there, and still in use.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    4. Re:Just a few problems by Hannibal_Ars · · Score: 5, Informative

      "First of all, I think it would have been beneficial to examine a really stupid CPU (like the 8086 perhaps) before launching into stuff like SIMD."

      Did you read the article, or did you just skim it. Nowhere do I launch into a discussion of SIMD. The only reason the term is present is because I used a diagram from a previous article.

      "Second, the first two instruction types given are arithmetic and load/store. Unfortunately something like half the instructions (or more) in a program are usually arithmetic and branch instructions (conditional jumps in fact.) So those are definitely the things to discuss first, before load/store, if you're going to do it that way. I personally would bring all three types of operation to the front right away and then delve into how they work, but that's a personal decision. "

      Yes, it's "personal decision," and I opted to go a different route. I think the order in which I introduced the concepts works. Other orders, are, of course, possible.

      "Speaking of branching instructions he describes forward and backward branches. This is silly. There are two kinds of branches, relative (offset) and absolute. You can jump to a location which is +/- however far from your current position, or you can jump to a specific address."

      Once you're done with your little intro to ASM, chief, you might stick around for some more advanced courses. In them, you'll learn that what branch prediction algorthims care about are whether a branch is forward or backward, because this tells you whether or not to assume it's part of a loop condition or not. I won't explain further, though, because a. I've covered the topic in previous articles, and b. I don't like to feed trolls anymore than I have to.

      "I thought that this article was going to talk about how it was actually done. Maybe I'm just special (where's my helmet?) but I've got most of this material (in this article) out of previous ars technica articles."

      Maybe if you'd have read the intro a little more closely, you'd know that I made it clear that everything in that article was covered in more depth in previous Ars articles. This article was intended as background for those articles.

      "If you ignore every other point I've made in this, consider the possibility that it is a big mistake to start talking about heavily pipelined CPUs."

      I don't discuss heavily pipelined CPUs, or pipelining in general, in this article. I do refer back to previous articles on the P4, but that's recommended as furthe reading. I'll cover pipelining in a future article (a point that I made clear in the conclusion.) And yes, I know that PC = IP in x86 lingo. Thank you. Now we all know that you know, too. Here's a cookie.

      "Finally, is it just me or is it amusing that we're supposed to understand this before hammer arrives but every page has a gigantic animated Pentium IV ad? Up yours, ars adsica. "

      I made one reference to Hammer in the intro, along with a reference to Itanium2, Yamhill, etc. Let it go, man. This article doesn't pretend to have much of anything specific to do with AMD.

      --
      Senior CPU Editor | Ars Technica | http://arstechnica.com/
    5. Re:Just a few problems by user32.ExitWindowsEx · · Score: 1

      You don't. You get an Alpha or a MIPS box off eBay and write it in 64-bit code.

      --
      "Evil will always triumph because good is dumb." -- Dark Helmet
    6. Re:Just a few problems by tortap-0 · · Score: 1

      "Some CPUs only allow one or the other of these. x86 uses both. (A short jump is an 8 bit signed jump, -128/+127 offset from your current location. A near jump is 16 bit. A far jump specifies a segment and offset, because x86 uses a segmented memory model.)... ...In x86 this is coupled with the CS register (code segment) and it is called the instruction pointer (IP or on 32 bit CPUs in 32 bit mode, EIP) and so you load the new instruction from CS:IP. As per my above paragraph a short or near jump updates IP or EIP, a far jump updates CS and [E]IP."

      Now that kind of talk is exactly the reason you are just a geek and "Hannibal" gets to write articles explaining Microprocessors. You only know of one type and fail miserably to explain the concepts of it's innner workings.

      I'm amazed you missed every part of the article that explained what it was about and what he tried to achieve with it. Skipped both intro and conclusion, eh?

      I'm not so amazed you actually got modded up, this is a geek site and that was a whole lot of geekspeak, but the moderators clearly never read or understood the article.

      "The stuff in this comment I'm writing now, on the other hand, is based on a class in x86 assembly, the final for which is on this coming Tuesday."

      I really hope you teach that class, otherwise you just made a giant fool of yourself.

      Hannibal if you read this - that was the best intro to microprocessors I ever read. Keep up the good work!

    7. Re:Just a few problems by drinkypoo · · Score: 2
      Now that kind of talk is exactly the reason you are just a geek and "Hannibal" gets to write articles explaining Microprocessors. You only know of one type and fail miserably to explain the concepts of it's innner workings

      Uh, I wasn't trying to do that, I was showing why what he wrote was erroneous. As I said the kinds of jumps are not forward and backward, those are two kinds of jumps by offset which on x86 (the only processors I know very well are old intel ones, plus I did writeups on the G3 and G4 chips for E2) are only ways to describe far and near jumps, and he's completely ignoring a direct jump as opposed to a jump by offset. Saying that there are two kinds of jumps, forward and backward, is like saying that there are two ways of moving along the X axis or that a door can be open or closed. That's true, but it doesn't tell anyone anything. It's more interesting to explain the actual kinds of jumps (again, relative and absolute - I wouldn't go into as much detail for an article like that as I did with my /. comment because I assume people here can handle it, and if they can't, that's not my problem. If my point is to explain things to people so they can understand them, then I do so. That's not what I'm doing here.)

      It's amazing how you decide that I am "just a geek" -- as if being a geek made you less of a person, when in my opinion it makes you more of one, whoa I'm getting off topic -- based on one slashdot comment I've written. Even if every one linked from my user page currently makes me look like I can only speak technically, it still wouldn't mean that was true.

      I'm amazed you missed every part of the article that explained what it was about and what he tried to achieve with it. Skipped both intro and conclusion, eh?

      My point (as I say above) is that the information he was providing was incorrect. I didn't feel the entire article was incorrect, or I would have said so. But again saying you are making a jump forward or backwards is true but it doesn't mean anything.

      Hannibal if you read this - that was the best intro to microprocessors I ever read. Keep up the good work!

      I think I'll call you Hoover J. Electrolux.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  40. Not had any problems by Wee · · Score: 2
    Personally, I'm getting wary of various AMD products. I continually see issues w/ AMD and games ...

    I've been using home-built AMD-based PCs since the K6 series. I've run Linux, Windows (various flavors), one or two BSDs and BeOS on them -- with all manners of software. I've never had any issues whatsoever with the processor. I have had issues with dodgy motherboards/chipsets, but never the CPU (e.g., same CPU, different mainboard or new BIOS clears up the problem). I'd look elsewhere for the source of your problems. Heat, specifically, would be a good start. I'd check memory next (a lot of the "weird", or at least intermittent, errors I've seen have had to do with one of the two).

    As for the "everyone tests on Intel", well, possibly. But they also probably test on AMD, and it really shouldn't matter much anyway since the two are essentially completely compatible as far as your game is concerned. In addition, I know a lot of people using AMD now in fairly intensive environments (for things like clustering) since you can effectively reduce the cost per cycle in half. I haven't heard them complain of "glitchy errors" or "general weirdness". I imagine when the Hammer line comes out they will be even more popular, especially on the low cost high-end.

    -B

    --

    Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

  41. Processors? by madhatter01 · · Score: 0

    This reminds me of a teacher I had in high school, Mr. Golebeski, that was convinced on failing me if I didnt show him the "little man in green overalls" that sits inside every machine turning gears.

    Needless to say, I failed.

    --

    I got this sig off of KaZaA this morning

  42. Congratulations! by Anonymous Coward · · Score: 0

    Congratulations! You just won the humourless ass award from the Society of people with no god damned sense of humour!

    To claim your prize, simply bend over and I'll shove it up your ASS!

    1. Re:Congratulations! by Anonymous Coward · · Score: 0

      Lollerskates

  43. Undefined Acronyms by Mike610544 · · Score: 1

    Anyonw else notice the number of acronyms in this "basic introduction" type article with no definitions. Just off the top of my head there were: SISD (single instruction single datum??) SIMD (single instuction multiple data??) ISA (instruction set architecture?????)

    --
    ... also, I can kill you with my brain.
  44. I'm getting off topic... by mekkab · · Score: 2

    YES I agree. I think the initial point was in reference to the "this is in some way related to the Hammer coming out" comment.

    That relation is so tenuous, that you could say "My boss might buy a computer, so I need to read this."

    --
    In the future, I would want to not be isolated from my friends in the Space Station.
    1. Re:I'm getting off topic... by jgerman · · Score: 2

      Sounds good to me. I was actually posting to the "the only thing you need to know parent". Doesn't really matter, those that are interested in this kind of thing will check it out, those that aren't will complain... something for everybody ;)

      --
      I'm the big fish in the big pond bitch.
  45. For those who really need an elementary view . . . by Soggy_Cornflake · · Score: 1

    Checkout how Dr Seuss explains computers crashing here

  46. Assembler teaches so many of these concepts.. by grayhaired · · Score: 1

    Articles like this remind me of why I think we're missing out by not having the old 8 bit computers with a built-in Basic interpreter. Some clever folks wrote a nice little assembler that used the Basic interpreter (Petspeed, for those who remember it) and writing assembly was about as hard as writing Basic.

    Most of the concepts in this article would be picked up by people -if- they had access to as easy-to-use assemblers as they had in those days. These days, with the crap that passes for an OS (Windoze, etc.. excusing Linux, as it has a gazillion coding tools for free), its a wonder anyone learns how to use a mouse (and you probably have to take a $2000 Windoze class to learn how to do that).

    1. Re:Assembler teaches so many of these concepts.. by Anonymous Coward · · Score: 0

      Typical moronic luddite crap. Computer users are infinately better off by having premade functional applications than they were back then when you had to write every single thing yourself. Yes, I was alive then and writing B.A.S.I.C. apps.

      All the Linux GNU development tools are also available for free for Windows as well as Linux. So you are dead wrong on that statement as well.

      As for you final statement, well that was just a dumb-ass troll.

      In short. You are an idiot.

  47. Don't forget the Intel Museum by Das_Trench · · Score: 1
    I was in San Jose this summer and made a trip
    to the Intel Museum (free admission IIRC),

    they had a large scale model of a microprocessor that demonstrates how
    microprocessors work it mapped everything out for you with the use of led animation.

    Sure it was aimed at a younger aged person, but it was non-the-less interesting.

    Between that and some of the other displays it was worth the trip

  48. Mod parent up by Anthracks · · Score: 1

    I for one found the article excellent, and Hannibal's reply nicely says anything I was going to toss to the troll.

    --
    Rock over London, Rock on Chicago. Wheaties: Breakfast of Champions.
  49. Hardware: by schlpbch · · Score: 1

    The part of the computer system that can be kicked.

    I really like that quote from 'Programming Embedded Systems in C and C++'.

  50. You know what they say: by Dark+Lord+Seth · · Score: 1, Offtopic
  51. Article is VERY basic by geekee · · Score: 1

    The article is overy simplistic, but ok for someone who knows nothing about processor architecture. Doesn't cover such things as pipelining, caching, etc. Hennessey and Patterson have a very good book on the subject for people who really want to know about processor architecture.

    --
    Vote for Pedro
  52. Last Post! by alpg · · Score: 1

    UNIX Trix

    For those of you in the reseller business, here is a helpful tip that will
    save your support staff a few hours of precious time. Before you send your
    next machine out to an untrained client, change the permissions on /etc/passwd
    to 666 and make sure there is a copy somewhere on the disk. Now when they
    forget the root password, you can easily login as an ordinary user and correct
    the damage. Having a bootable tape (for larger machines) is not a bad idea
    either. If you need some help, give us a call.
    -- CommUNIXque 1:1, ASCAR Business Systems

    - this post brought to you by the Automated Last Post Generator...