-8

How can we say an Intel i7 processor is a microprocessor? It has got:

  • internal cache memory
  • RAM
  • BIOS memory
  • ROM.

Only thing left would be I/O pins. If it has got that too, how come that is a microprocessor?

Renan
  • 5,090
  • 2
  • 27
  • 45
Inquisitive
  • 321
  • 3
  • 12
  • 5
    If you can build a [at least somewhat cost-effective] toaster with it, then it's a μC. No, I'm not suggesting to use Intel i7 as a heating element in a toaster. – Nick Alexeev Dec 24 '12 at 19:04
  • 2
    Question seems to be based on both mistaken assumptions and quite possibly mistaken information; suffice to say that these extra on-chip capabilities, if even present (bios?), are neither disqualifying, nor, much more importantly in this case intended to eliminate the need for external resources. – Chris Stratton Dec 24 '12 at 19:54
  • The term microprocessor was coined back in the 70s. It referred then to 4004 type of processors, and then to somewhat more capable 8-bit processors. Compared to the 12 and 16 bit monsters being used by real businesses at the time. I am not sure the term applies anymore. – Tony Ennis Dec 24 '12 at 20:48
  • 1
    It (1) processes data, and (2) is small, fitting on a piece of silicon that is fabricated into a "microchip". – Kaz Dec 25 '12 at 00:28

4 Answers4

15

The terms microprocessor and microcontroller are most often defined by marketing people -- a certain sub-genus of Homo Sapiens that does not tend to follow common literary convention.

The terms microprocessor and microcontroller (and the related terms CPU and MCU) are often used incorrectly (or some might claim that they are not well defined). Even when they are used and defined correctly, there are many shades of grey between microprocessor and microcontroller that confuse matters.

For example, let's say that the Intel line of chips are called a Microprocessor. But if Intel came out with a line of highly integrated chips made for mobile devices they would be very close to a microcontroller -- but the Intel marketing people would never advertise them as microcontrollers! Instead they would call them something like "highly integrated mobile microprocessors," or maybe they'd invent a new term ("Intel On-The-Go" or something).

It is best to not get hung up on the terms microcontroller and microprocessor. Doing so risks causing brain damage -- or at the very least, you will stop being any fun at parties.

JYelton
  • 32,302
  • 33
  • 134
  • 249
8

There's a major misunderstanding there: an i7 doesn't have RAM, ROM or BIOS memory - they're provided by the motherboard.

Actually, as was noted in a comment, the i7 does have a small amount of RAM (the cache can be used as RAM) and ROM (for the boot ROM). But even then, for the CPU to be useful, you still need external memory and peripherals.

Renan
  • 5,090
  • 2
  • 27
  • 45
  • 3
    There is Cache that can be locked down to function as simple RAM. It might even be locked down at power-up to provide some functionality until main memory is properly detected and initialized. The i7 does have RAM and some ROM to store the microcode (which the BIOS can update). There is also a small boot ROM which stores the code required to read the BIOS from serial Flash EPROM (but I can't remember if this last one is stored in the chipset or the CPU itself). –  Dec 24 '12 at 19:34
4

The history of cpu design is what defines something as a microcontroller vs a microprocessor.

CPUs used to be huge boards with multiple integrated circuits and individual transistors. Then Intel had enough of that nonsense and created the Intel 4001 in 1971. It integrated the CPU and all of its main components into a single chip. This is considered the first microprocessor. It still needed external peripherals (like memory for it to do anything meaningful). Simply, it made things easier and smaller to create computers.

Then TI said, wait, why not throw everything in a single chip? So they came out with the first micro controller in 1971 as well, the TMS 1000. It combined read-only memory, read/write memory, processor and clock on one chip and was targeted at embedded systems. Intel responded with the 8048, and eventually the 8051, which is STILL a very popular microcontroller type (go figure).

Main differences at that point, microprocessors are part of bigger designs, while a microcontroller are plug and play and ready to go.

Today, anyone referring to a cpu is referring to a microprocessor. While microprocessers now tend to have a ton of extra things inside them (like you mentioned, multiple levels of caches, some ram, some rom, multiple caches), they are still designed as components for large computer systems, including allowing for co-processors (north/south bridges, fpus, gpus), externally extended memory buses, etc.). Microcontrollers haven't changed much. And then you have Systems on a Chip, which does the same to microprocessors as microcontrollers did (You can get Noac (NES) and Goac (Genesis) and Aoac (Atari) the size of a flash drive. Do you remember how big those were?).

The main difference between microprocessers and microcontrollers today is really that a microprocessor is still designed for larger systems, and takes ARBITRARY RUN TIME CODE (OS, user applications). Microcontrollers on the other hand, are still designed for embedded circuits, and are programmed with the only code they need (they are sometimes used for things like basic interpreters, but the majority are used for a single goal).

There is much overlap, but intended market and the goal for Arbitrary Run Time code vs embedded fixed code is what makes one or the other. (Analogy, microprocessors are like an Operating System, while microcontrollers are like single function applications.)

JDługosz
  • 675
  • 1
  • 4
  • 12
Passerby
  • 72,580
  • 7
  • 90
  • 202
1

It's Micro-processor and we can not call it a Micro-controller because micro-controller is something that has On-chip peripherals like Timers/UARTs etc. Intel i7, in my knowledge, don't have any on-chip peripherals. Having loads of memory doesn't make it a Micro-controller. You may refer this question for more difference points.

Swanand
  • 3,245
  • 5
  • 28
  • 45
  • He is asking about a microPROCESSOR NOT microCONTROLLER – placeholder Dec 24 '12 at 18:37
  • 1
    He is asking why It's Microprocessor? I am interpreting it as, "It has these much stuff then why it's not a micro controller?" – Swanand Dec 24 '12 at 18:41
  • Given the other types of questions he's been posting ... like building 200 MHz computers using 8MHz 80286 chips etc. – placeholder Dec 24 '12 at 19:03
  • i7 works with the QPI bus, so it do have UART(s). QPI is a serial bus. However my comment will make confuse the reader. – Standard Sandun Dec 24 '12 at 19:36
  • @sandundhammika - QPI has an explicit clock so it is not an "asynchronous" interface, hence it does not involve a UART. However, neither UART nor timer peripherals are required to make a micrcontroller. Pragmatically speaking, the line between microprocessor vs microcontroller is one of intended use / marketing focus - there is no absolute distinction. – Chris Stratton Dec 24 '12 at 19:58
  • Is a SoC (System on a Chip) a microcontroller? – jippie Dec 24 '12 at 20:43
  • I would say that what distinguishes a microprocessor from a microcontroller is that the primary intended use of the former is to run code fetched from external random-access bus. Even if the boostrap ROM and cache RAM would allow an I7 to control a toaster without need of an external random-access bus, such a design would bear no relation to the intended use of the chip. – supercat Jun 15 '15 at 15:25