76 votes
Accepted

Why don't we make CPUs with 1000s of layers to make use of space in the third dimension?

The two killer reasons are yield, and heat. Yield. Every time you do a process step, you get less than 100% perfection. Let's say you get 99% perfection per step. In a process with 20 steps, you would ...
user avatar
  • 140k
69 votes
Accepted

Why are relatively simpler devices such as microcontrollers so much slower than CPUs?

There are other factors that contribute to the speed. Memory: Actual performance is often limited by memory latency. Intel CPUs have large caches to make up for this. Microcontrollers usually don't. ...
user avatar
  • 20.5k
68 votes

Can a CPU function with nothing more than a power supply and a ROM, using only the internal cache as RAM?

See this extremely detailed account of the PC boot sequence: http://www.drdobbs.com/parallel/booting-an-intel-architecture-system-par/232300699?pgno=2 Since no DRAM is available at this point, code ...
user avatar
  • 45k
51 votes
Accepted

How can a CPU deliver more than one instruction per cycle?

First, as Keelan's comment and Turbo J's answer point out, the measurement was 113,093 Dhrystone MIPS not native MIPS. The Ivy Bridge microarchitecture of the i7 3630QM can only commit 4 fused µops ...
user avatar
40 votes
Accepted

If the silicon wafers from which the processors are made are so sensitive that workers wear special suits how is delidding a processor possible?

Wafers are extremely sensitive during manufacture, because if any dust or dirt particle settles on it between any process steps, then the following process steps will fail on the contaminated spot. ...
user avatar
  • 57.6k
37 votes

Why don't we have more registers in microprocessors?

There are several factors: high performance micro-architectures use register renaming. That is, the number of physical registers is higher than the number of architecturally visible registers and ...
user avatar
36 votes

Why do Microcontrollers need a Clock

An illustrative example or two may help here. Take a look at the following hypothetical circuit: simulate this circuit – Schematic created using CircuitLab Suppose to start both A and B are ...
user avatar
  • 7,619
35 votes
Accepted

Why do we need the "nop" I.e. No operation instruction in microprocessor 8085?

One use of NOP (or NOOP, no-operation) instruction in CPUs and MCUs is to insert a little, predictable, delay in your code. Although NOPs don't perform any operation, it takes some time to process ...
user avatar
34 votes

Maximum number of opcodes for a microprocessor

All options are wrong. Maximum number of (unique) opcodes a processor can execute is not limited by bus width. One may think that a CPU with 12-bit data bus would probably be designed to be able to ...
user avatar
27 votes
Accepted

Why does a processor get hot?

A transistor (FET, in modern ICs) never switches instantly from full OFF to full ON. There is a period while it's turning on or off where the FET acts like a resistor (even when fully ON it still has ...
user avatar
  • 55.4k
26 votes

Why are relatively simpler devices such as microcontrollers so much slower than CPUs?

A major underlying technical reason for the slow speeds is that cheap/small MCUs only use on-chip flash memory for program storage (i.e. they don't execute from RAM). Small MCUs generally don't ...
user avatar
  • 3,379
24 votes
Accepted

What generates the clock signal in a fast CPU and how does it work?

Actually crystal oscillators can easily go up to 10's of MHz. Above that in most cases a PLL (Phase Locked Loop) is used, which is an oscillator that is not very accurate in itself, but can be tuned (...
user avatar
24 votes

Why are relatively simpler devices such as microcontrollers so much slower than CPUs?

Why do people ride a bicycle or a small motorbike, when you have a Formula 1 car? Surely it must be better to drive say 300 km/h and get everywhere instantly? To put it simply, there's no need to be ...
user avatar
  • 22.6k
23 votes

Why does a processor get hot?

All current flow in anything that isn't a superconductor generates heat. In chips, it's mostly flowing in aluminium "metal" layers (why not copper? Nasty chemical interaction with other parts of the ...
user avatar
  • 45k
23 votes

Writing DSP algorithms directly in C or assembly?

If the compiler writers put some effort into optimizing it for that target, it will at least make some use of the special DSP instructions / architecture. But for ultimate performance it will never ...
user avatar
  • 6,056
23 votes
Accepted

How do processors control their clock speed?

This is done using a device called a phase-locked loop, or PLL. Here is a block diagram of a basic PLL: simulate this circuit – Schematic created using CircuitLab The oscillator on the ...
user avatar
21 votes

Why do Microcontrollers need a Clock

I feel a lot of these answers are not exactly hitting on the core question. The micro-controller has a clock simply because it executes (and is driven by) sequential logic. In digital circuit ...
user avatar
  • 311
21 votes

Writing DSP algorithms directly in C or assembly?

Premature optimization is the root of all evil. - Donald Knuth When you find that you don't get enough performance from your code, profile your program first, find the bottlenecks, analyze your ...
user avatar
21 votes
Accepted

Writing DSP algorithms directly in C or assembly?

It's always better to have your algorithm implemented in a higher-level language (which C is compared to assembly), even if you plan to implement everything in assembly in the end. chances are, you ...
user avatar
20 votes

Does a CPU completely freeze when using a DMA?

If there is a single memory interface, there would be hardware to arbitrate between requests. Typically a processor would be given priority over I/O without starving I/O, but even with I/O always ...
user avatar
18 votes
Accepted

Does a CPU completely freeze when using a DMA?

You are correct that the CPU cannot be accessing the memory during a DMA transfer. However there are two factors which in combination allow apparent parallel memory access by the CPU and the device ...
user avatar
18 votes

If the silicon wafers from which the processors are made are so sensitive that workers wear special suits how is delidding a processor possible?

Something not mentioned by the other answers is that it's not only the chip itself that's so sensitive to dust. It's also the lithography plates used to print the resist layers for each stage of the ...
user avatar
  • 326
18 votes

Writing DSP algorithms directly in C or assembly?

Your DSP will be advertised with a maximum sustained MACs, assuming all the pipes are filled. That is obviously an upper limit to what can be achieved. You know how many MACs your filters and other ...
user avatar
  • 140k
18 votes
Accepted

What happens if clock cycle is replaced with constant high voltage in a processor?

Your doubts arise from lack of understanding of the basics about synchronous sequential logic networks, of which modern CPUs and related basic blocks, like counters, are just particular examples. As ...
user avatar
17 votes
Accepted

What's the purpose of an array of same VALUE capacitors?

If you count the power pins on the IC, and the supply decoupling caps of the same value, you'll probably find a 1:1 correspondence. This indicates you are expected to place one per power pin, as close ...
user avatar
  • 140k
17 votes

If the silicon wafers from which the processors are made are so sensitive that workers wear special suits how is delidding a processor possible?

A passivation layer is the final step, excluding the atmosphere. This layer is formed by exposing the wafer to high temperature oxygen (low growth rate) or steam (high growth rate). Result is silicon-...
user avatar
17 votes

Why don't we make CPUs with 1000s of layers to make use of space in the third dimension?

Heat removal is the issue. Already some chips have higher energy density than a nuclear reactor. Consider a hair_drier ---- 1,500 watts with a air_blast fan to cool the tungsten coils. And the coils ...
user avatar
16 votes

Why do Microcontrollers need a Clock

Short answer: managers want a simple, testable, PROOF of function before committing to millions (or more) dollars to a design. Current tools, just do not give asynchronous designs those answers. ...
user avatar
  • 161
16 votes

Why don't we have more registers in microprocessors?

While registers and RAM are both memory, they are accessed in different ways, to reflect the cost (in chip area, or of hidden clock cycles) of accesssing them. Registers are tightly bound to the ALU, ...
user avatar
  • 140k
16 votes

Why is the 8061 microcontroller described as having 256 bytes of internal memory?

Their terminology is sloppy IMO. In any case: 0x00 - 0x0F are specialized registers 0x10 - 0xFF are memory registers (SRAM) There are only 240 bytes of SRAM. If you need more SRAM than this, you can ...
user avatar
  • 9,076

Only top scored, non community-wiki answers of a minimum length are eligible