1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

CPU Desgin

  1. Jun 7, 2008 #1
    I am interested in CPU design as well as computer hardware design. However, I could find very little information on CPU design. I was wondering what the best major would be, the salary, and any other information regarding this topic.

    Advice would be greatly appreciated.

  2. jcsd
  3. Jun 7, 2008 #2


    User Avatar
    Science Advisor
    Education Advisor

    You should probably check out engineering physics, electrical engineering, materials science/engineering, and physics. If you're more interested in developing the manufacturing aspects, or getting into the field straight out of undergrad, I'd lean towards the engineering route. If you're more interested in studying electon interactions on the nano scale, I'd lean more towards physics.
  4. Jun 7, 2008 #3


    User Avatar
    Science Advisor
    Gold Member

    I don't think there is such a thing as "CPU design" nowadays. A modern CPU is so complicated that it takes a LOT of people with many different specialities (for something like an Intel desktop processors hundreds or more people are involved even at the design stage) to design a CPU.
    Much of the overall design is actually done using software today (using VHDL and other languages) and is presumably mainly being done by people with a CS background. But then you still have to implement the hardware which is done by many different types of EEs(everything from the actuall arrangement of gates in time-critical parts to design of high-speed intereconnects etc); at the lowest level you have the transitors that are designed by EEs and physicists.
    Then you need to figure out how to actually mass-produce the thing which means yet another set of people with other skills.
    Hence, I don't think there is a simple answer to your question.

    However, electrical engineering would probably be a good start.
  5. Jun 7, 2008 #4
    Unsurprisingly, Computer or Electrical Engineering would be the best majors for a career in CPU or computer hardware design.

    http://www.payscale.com/research/US/Job=Hardware_Engineer/Salary can give you some idea of the salary.

    Keep in mind that modern CPU designs are the result of a large team working together. Getting to be one of the architects at the top of the pyramid takes a lot of time and effort!

    Oh and I have to add... most of the people I know writing VHDL or Verilog for a living have EE degrees, not CS degrees. But I agree, this is very similar to writing software in many ways...
    Last edited: Jun 7, 2008
  6. Jun 7, 2008 #5


    User Avatar
    Science Advisor
    Homework Helper

    At the desktop end of the market it's huge teams.
    At the more interesting; low power, embedded end of the market you can design the world's most popular CPU on your own at the kitchen table .

    There are even open source processor designs you can implemement in an fpga for a few $100.
  7. Jun 7, 2008 #6
    Agreed. I've never met a person with a CS degree that even knows VHDL or Verilog, let alone uses them on a daily basis.

    If you want to get into CPU design, or hardware design, you'll have to do some research and check out the various levels and stages of design. Depending on where your interests lie, you'll either want to go for a electrical engineering or a computer engineering degree.

    Oh, and a few CPU design/Hardware design keywords to help you on your search would be: computer architecture, VLSI, digital design, FPGA, ASIC, digital logic, Verilog, VHDL, Assembly Language, and CMOS. That's a small mix of introductory keywords that should help you get an idea of the field.

    Also: http://en.wikipedia.org/wiki/CPU_design
    Last edited: Jun 7, 2008
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?