5 Replies Latest reply on Apr 23, 2017 2:08 AM by chromatix

    Specification of my CPU

    hootfat

      Let's say I have a AMD CPU, how can I find specification of every ability of his? All asm instruction with details of how they work, memory and operating mechanisms, stuff like that. It's just seems very odd that I had to read some third-party papers to find out whats happening inside my CPU, so for a moment I thought maybe there is offical documents for that?

        • Re: Specification of my CPU
          dipak

          http://developer.amd.com/resources/developer-guides-manuals/

          For more manuals and references please visit here: Tech Docs

           

          P.S. You've been white-listed now.

           

          Regards,

            • Re: Specification of my CPU
              hootfat

              Thank you for respond.

               

              There is "AMD64 Architecture Programmer’s Manual Volume N" which is for AMD64, but I only have AMD Athlon K7 so how can I find manual exactly about my CPU? The clostest thing I found is "Am486®Microprocessor Software User’s Manual". I'm no expert, but this isn't the one, right?

                • Re: Specification of my CPU
                  hootfat

                  24592.pdf

                   

                  LEA has a limited capability to perform multiplication of operands in general-purpose registers using scaled-index addressing. For example: lea eax, [ebx+ebx*8] loads the value of the EBX register, multiplied by 9, into the EAX register.

                  *8, multiplied by 9, that doesn't seem right

                    • Re: Specification of my CPU
                      chromatix

                      No, he's right.  The expression specified in the ASM instruction is [ebx+ebx*8], so that's EBX multiplied by 8 PLUS an extra copy of EBX, making 9 in total.  There are quite a few small integers for which LEA can be used as a cheap multiplier.

                    • Re: Specification of my CPU
                      chromatix

                      I think you can still use the AMD64 manuals for K7, as long as you remember that K7 doesn't support "long mode" (64-bit), SSE2, or any later ISA extensions; the AMD64 architecture still includes the "old" modes for backwards compatibility, and these are documented as such.

                       

                      You can use CPU-Z or /proc/cpuinfo to remind yourself of exactly which ISA extensions *are* supported on your particular CPU.

                       

                      You might also find Agner Fog's optimisation resources helpful.  These include a fairly detailed description of the full pipeline layout of various CPUs (K7 being the oldest AMD CPU covered, while on the Intel side he goes all the way back to the classic Pentium), and an instruction-by-instruction table of latencies and throughputs for each of these CPUs.