Computer Architecture: Is Electrical Engineering background necessary to became CPU designer?
-
Or would a Computer Science graduate also fit in? What particular areas of expertise are required for a CPU design apprentice?
-
Answer:
I guess it depends as you won't really see Computer Science graduates doing semiconductor research but I'm guessing you mean the more "higher level" design - as in how the flow of information goes from one CPU unit to another - so still pretty low level. In that case you most likely will be required to learn some Verilog or VHDL or some other hardware description language as while it looks similar C or other languages the concepts behind it are quite different - and I haven't seen computer science courses focusing on hardware description languages that much. Debugging such language is different as it's done looking at waveforms which represent the signals in the processor across time (e.g. Modelsim is a software which simulates Verilog & VHDL and looks like this: http://model.com/content/modelsim-pe-simulation-and-debug - you could consider it the equivalent of a compiler). You would most likely need to get familiar with FPGA's (field-programmable gate arrays) as thats what's used to simulate a processors in development at a more reasonable speed while also having a solid understand of digital logic - such as gates and the timings involved. I've seen computer science graduates learn these concepts and start their career as a CPU designers so it's definitely possible to go that route. However another area that computer science graduates would be well placed for in the area of CPU design is at the compiler level - as each time a major change in processor architecture is made the compiler for it is going to have to be changed and optimised so their expertise in software is very well valued.
Sebastian Grubb at Quora Visit the source
Other answers
Not anymore. Introductory Computer Engineering courses will typically focus on the CPU's architecture and probably assign the students to create their own in a hardware description language like VHDL. A solid understanding of digital logic is very important. That said, it is practical to learn the basics of electrical engineering if you ever want to work on embedded systems or other applications that aren't related to CPU architecture itself.
John Ryan
I don't think it is an absolute requirement. It helps to have peripheral knowledge as there are various aspects to processor design. Very broadly, there is an architecture aspect, a circuit aspect, and a process aspect to designing a CPU. If we go for the intrinsic, even mechanical engineering expertise is required for designing the heatsink for the CPU. The process engineers at the fabrication centers for manufacturing the CPU in real silicon need know-how in semiconductor physics, fabrication technology, and possibly material science. It all depends on how deep you want to go down the rabbit hole. Computer or Microprocessor architecture is where a computer science graduate should feel right at home. Because this involves a lot of simulation of benchmarks, coding up any innovation and testing it against benchmarks to see how your cool idea impacted performance, and power consumption and bunch of other metrics. A lot of ideas from OS, networks, compiler design, and distributed systems can be applied here, with a singular purpose of delivering the maximum performance at the lowest cost. However, if you are the curious type, you're going to want to know everything about how a CPU works. And that is a good direction to go, because having knowledge of supporting technology will also help you to be a better computer architect.
Jacob Minz
As an opinion, I wouldn't say necessary, but it could be helpful. When it comes to basic Newtonian Physics, we have a standard set of equations. As you move up the scale to Light Speed, these equations are stretched out of all proportion, and as you move down to the Quantum level you're again dealing with distortions in the opposite direction, or in some cases completely new equation sets. If one places "Electricial Engineering" in a domestic household setting (as opposed to "Industrial Electrical Engineering" for big heavy equipment) the details to which one pays the most attention will change. In the Industrial Environment, where electrical loads are going to be heavy and long term, more attention will be paid to the size of the electrical conductor. In the Household setting, many manufacturers will cheat. Here in Australia, the standard electric kettle is rated 240VAC 10A (2400 Watts), yet many such appliances manage to get away with 7.5A cable instead of 10A. The incentive is to save money. They get away with it because a kettle is a short-use appliance and the cable can cope with 10A for a few minutes. On the other hand, should that cable become damaged, I'll go for over-engineering and spend the extra to replace it with 15A cable because I don't like the idea of power cords getting hot! This sort of thinking isn't going to work inside the construction environment of a CPU where one wants maximum conductivity through minimum material and ever-decreasing insulation gaps. When you look at an NE555 timer in its DIL package of 8 pins, it contains approximately 25 transistors and it's not uncommon, in these days of super-miniaturization, for people to use discreet components to reproduce the NE555 for education and experiment. When you compare that to a CPU with 500+ pins and several thousand transistors crammed into less space, it's not something that is going to be reproduced on a breadboard smaller than a city block. Remember that the modern "exposed" chip is around the size of a finger nail and must be in direct contact with a heatsink or all of the magic smoke will escape all in less than a second. This requires thinking at the opposite end of the spectrum, which is why I suggest it would be helpful but not entirely necessary.
Michael Daniel
Not just electrical engineering, you need to also have a deep knowledge of quantum physics and material science to design a CPU on your own. Not every electrical engineer will ever get the knowledge and chance to design a CPU since the technology is very advanced and requires huge investments and teams of scientists from many fields to work in parallel. And of course computer science is a must but not enough to get over all design challenges.
Haem Zaff
Related Q & A:
- How much can you make with a master's degree in electrical engineering?Best solution by Quora
- What faculty to chose between electrical engineering and computer science?Best solution by Yahoo! Answers
- Which degree has good job prospects: Computer science or Electrical and electronic engineering?Best solution by Quora
- What are some mechanical engineering software necessary or useful to be proficient in?Best solution by autocadanswers.com
- Computer engineering or electrical engineering?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.