Is it correct to say that main memory (RAM) is a part of CPU?
I recently had an argue with my English teacher, because of text given to us for translation. It states:
The pieces of equipment making up the computer system are known as hardware. The most important item of hardware is the CPU (Central Processing Unit). This is the electronic unit at the centre of the computer system. It contains the processor and the main memory.
She rejected my point about that author probably meant CPU cache and clarified that main memory is RAM. Nor did she accept that he's probably wrong in that case.
I didn't get any explanations about that. Trying to find something in Google didn't help me either.
The text is about computers and in the following paragraphs it claims that computers may have a keyboard, display and printer; I guess it's pretty safe to say that the text is about PCs.
So, with exception of microcontrollers and SoC (most of them use external memory however), is it correct to say that CPU contains RAM? Or did it at any point in any form?
125 Answers
The key point in your question is my English teacher so this is not about technology but about English language understanding and possibly translation.
Whether the text is technically correct or not shouldn't matter. If the author wrote the RAM is part of the CPU, you have to take it as it is and not alter the author text. Arguing about computing details with an English teacher is probably pointless and doomed, as you experienced.
In any case, the text you studied is quite outdated, probably from the early eighties, as this sentence exhibits: Microcomputers, commonly known as micros, are the smallest and the least powerful. They are about the size of a typewriter. Its author is opposing the Central Processing Unit to the peripherals in which case RAM is indeed part of the former. Later, the text tells the microprocessor is made of registers and an ALU and that it acts as the Central Processing Unit of the computer, rectifying the controversial initial statement.
5First, I'll focus on your question:
Is it correct to say that main memory (RAM) is a part of CPU?
Which seems prompted by the quoted assertion that:
The most important item of hardware is the CPU (Central Processing Unit)....It contains the processor and the main memory.
No, the CPU doesn't contain Main Memory.
Wikipedia defines the CPU as:
A central processing unit (CPU) is the electronic circuitry within a computer that carries out the instructions of a computer program by performing the basic arithmetic, logical, control and input/output (I/O) operations specified by the instructions. The computer industry has used the term "central processing unit" at least since the early 1960s. Traditionally, the term "CPU" refers to a processor, more specifically to its processing unit and control unit (CU), distinguishing these core elements of a computer from external components such as main memory and I/O circuitry.
The Processor is separate from main memory. Going all the way back to the the Intel 4004 created in 1971, the first microprocessor in which modern CPUs find their legacy, RAM (a.k.a. "Main Memory") has been a component external to the CPU.
Here's a block diagram of the 4004's successor, the Intel 8080, introduced in April 1974 (it's very similar to the Motorola 6800 released in August of the same year):
Notice the pins labeled D0-7 and A0-15. The D pins are connected to the Main Memory and are used to transfer 8-bits of data to or from RAM at a time. This makes the Intel 8080 an 8-bit processor. The A pins are also connected to Main Memory, but are used to specify the address in memory that should be accessed by the next data read/write operation. These 16 address signals enable the processor to access up to 64KB of memory (216 = 65536 = 64KB).
The fact that memory is external to the processor is explained on page 263 of the book Code by Charles Petzold (published by Microsoft Press):
The 8080 is an 8-bit microprocessor that reads data from memory and writes data to memory 8 bits at a time. The chip includes eight signals labeled D0 through D7. These signals are the only ones on the chip that are both inputs and outputs. When the microprocessor reads a byte of memory, the pins function as inputs; when the microprocessor writes a byte to memory, the pins function as outputs. [emphasis mine]
Of course, an input (or output) signal is only necessary when a device connects to another device, in this case, Main Memory.
A further observation is that if Main Memory were integrated into the CPU, it would be impossible to expand the amount of memory available to the computer. It was recognized very early in the course of developing integrated circuits used for computers, in part to the extremely high cost of RAM at the time, that users may need to add more memory later. It would and continues to be a ludicrous idea to integrate Main Memory into the CPU.
Is it correct to say that CPU contains RAM? Or did it at any point in any form?
Yes, even early CPUs contained RAM (kinda).
That is, if by RAM we mean memory that can be accessed non-sequentially and is volatile, i.e. its content is lost when power is no longer applied.
On page 264 of Code we find a description of this "integrated memory":
In addition to the accumulator, the 8080 contains six registers that can also hold 8-bit values inside the microprocessor....Like the accumulator, the other six registers are latches; the processor can move bytes from memory into registers, and from registers back into memory.
So this is probably a stretch of the definition of RAM (and it's by no means Main Memory). However, it's obvious that the Registers in a CPU function as memory. For example, they are used to temporarily store values while the processor performs calculations using the Accumulator or store an address in Main Memory to read/write data to/from.
Modern processors now also include CPU Cache. This still isn't Main Memory though. When it comes to the CPU's cache and Main Memory, the former is used to store a copy of select data found in RAM in order to speed up processing time (by virtue of the fact cache memory is much faster than main memory). At no point does the CPU use its cache as a "permanent" storage location for data in the way Main Memory is used.
Side note:
As others have noted, the full of the text quoted in your question is a bit ambiguous. Particularly the bit I quoted earlier:
The most important item of hardware is the CPU (Central Processing Unit)....It contains the processor and the main memory.
Whether the text means to claim the CPU is the box in which all of the other "important" components are contained, or that it is the microprocessor, I can't say. Whatever the case, hopefully this answer helps provide an answer to what I believe your core question is: Whether or not main memory is part of the CPU.
12The pieces of equipment making up the computer system are known as hardware. The most important item of hardware is the CPU (Central Processing Unit). This is the electronic unit at the centre of the computer system. It contains the processor and the main memory.
You can look at what interpretation is most likely.. and it's far more likely that by It, it doesn't mean processor. It's absurd to think it does. It's ridiculous to interpret it the way you have and say it's wrong.
For example, if you think that by CPU it means processor, / that "it" means processor, then it'd be saying that the processor contains a processor. Or, the other absurd interpretation you come up with, that the processor contains main memory (it doesn't).
One consideration is this -
Well, there are two different definitions of CPU. An old fashioned one that I saw in British A-Level Computing textbooks when I last checked some in 1998-2000, that defined CPU as the computer case. The box. Most people are very unfamiliar with that definition of CPU. Or with that ever being a definition of CPU. And even many people that have been in computing for a long time are unfamiliar with that definition. Note- commenter "Class Stacker" who is probably based in America, has seen definition used in the past too, and also on international projects he has worked on.
And the definition that people are more familiar with nowadays, which is CPU as processor.
Another consideration is this. The "It" in the last sentence.
It contains the processor and the main memory.What is "It" referring to. Does it mean, not even CPU, but the Computer System, in which case, yes, that's true.
Does it mean CPU in the now unusual sense, of the box, a definition common in some books i've seen in the UK about 15 years ago. Yes that's true. So, CPU in the sense of the box.. Then Yes, that's true.
But if "it" refers to processor, or CPU in the sense of processor, then no, that's not true.
She rejected my point about that author probably meant CPU cache, and clarified that main memory is RAM. She neither accepted that he's probably wrong in that case.
She's right that Main memory is RAM, and you were wrong not to agree with her on that - that main memory is RAM. (if main memory isn't RAM then there is a very subtle difference), and anyhow, most people don't use the phrase "main memory" much anymore anyway. CPU can contain memory, storage locations, known as registers, which are distinct from the storage locations in RAM/main memory.
Everything hinges on what is referred to by the "It" of that last sentence. Also i'd be interested in what the textbook is. Title, author, year.
The text didn't say the CPU did, it said "It", but let's say "It" meant CPU. You ask "is it correct to say that CPU contains RAM? Or did it at any point in any form?" Yes it is correct, under a definition of CPU that is old (and maybe UK based), and that most people aren't familiar with! But in terms of choosing definitions that are accepted and agreed upon by people, in this interconnected age of the internet, modern times, no, CPU should really just be defined as processor because it's easier that way and people get confused otherwise. But certainly from time to time the old definition of CPU pops up.
But as for what that text means, it is clearly using the old definition of CPU. It's not saying the processor contains a processor, that's absurd. And therefore it's also clearly not saying the processor contains ram.
10I've been researching historical definitions of CPU, so I can answer your question: Under the current definition of "CPU", it is not correct to say that the CPU contains main memory. However, historical definitions were split; sometimes the CPU contained main memory, and sometimes it didn't.
For instance, the Bureau of the Budget created an influential computing dictionary in 1962
for use as an authoritative reference by all officials and employees of the executive branch of the Government
It defined the "main frame" as
The central processor of the computer system. It contains the main storage, arithmetic unit and special register groups. Synonymous with CPU and central processing unit.
In other words, main storage was part of the CPU under this definition.
This is what you're trying to translate:
The pieces of equipment making up the computer system are known as hardware. The most important item of hardware is the CPU (Central Processing Unit). This is the electronic unit at the centre of the computer system. It contains the processor and the main memory.
Now, you're not trying to correct it or improve it. You're just trying to translate it. In order to do that, you have to figure out what the word "It" refers to. It could refer to either the CPU or the computer system. Both are legal Enligsh grammar.
For example, consider this statement:
"Mary struggled to see the bicycle through the dirty store window. It was so dirty it was nearly translucent."
Perfectly valid. The "It" almost certainly refers to the store window. But I can also say this:
"Mary struggled to see the bicycle through the dirty store window. It looked like so much fun to ride."
This is also perfectly valid. But, here, the "It" almost certainly refers to the bicycle.
The point is, when you see the English word "it" and need to translate it, you have to reason out what the "It" refers to. Here, it could be either the CPU or the computer system. English grammar doesn't tell you which.
So you have to figure out which of two things are more likely:
The original author got the technical information wrong.
The original author meant the "It" to refer to the computer system.
If you decide on option 1, you should include a notation that the error is in the original.