80
votes
Accepted
Why is the Nintendo Entertainment System (NES) referred to as an 8-bit system, rather than a 1-byte system?
"Back in the day" computers were defined more by their word size, for example the PDP-8 had 12-bit words composed of two 6-bit "bytes". A "nibble" was half a byte, or 3 bits in this case (and here the ...
44
votes
Why is the Nintendo Entertainment System (NES) referred to as an 8-bit system, rather than a 1-byte system?
A) Historically, machines have been characterized by number of bits per 'machine word'. Why should NES be handled differently?
B) Calling it a 'byte' is not as clear since historically a 'byte' has ...
41
votes
Accepted
How does a computer determine the data type of a byte?
Your suspicion is correct. The CPU doesn't care about the semantics of your data. Sometimes, though, it does make a difference. For example, some arithmetic operations produce different results when ...
25
votes
Is a computer without RAM, but with a disk, equivalent to one with RAM?
Sure. In principle, given appropriate hardware, you could have just a disk, with everything stored on disk. Any time the CPU did a load or store instruction, there could be some hardware that turns ...

D.W.♦
- 143k
16
votes
Accepted
Writing a multitasking operating system for a processor without MMU
It's actually not that hard to design an operating system that doesn't require an MMU. There are a few conveniences you'll have to do without, but nothing insurmountable.
Since different tasks will ...
16
votes
Is a computer without RAM, but with a disk, equivalent to one with RAM?
In terms of computability, it is known that every modern day computer can be simulated by a Turing Machine whose only storage is a single, linear tape cells that can be written. Assuming you can keep ...
14
votes
How does a computer determine the data type of a byte?
As others have already answered, today's common CPUs do not know what a given memory position contains; the software decides.
However, there are other possibilities. Lisp Machines for example used a ...
14
votes
Is a computer without RAM, but with a disk, equivalent to one with RAM?
The question is not purely academic. It is a matter of historical record that one of the earliest commercially-produced computers [sorry, I don't recall which offhand] did not have any RAM - all ...
10
votes
What is oblivious RAM and how does it work?
Oblivious RAM is an interface between a program and the physical RAM that when you perform a read or write, does both at the same time on the physical RAM to hide if you are reading or writing. Plus, ...
9
votes
Is a supercomputer more powerful than the total of all the world's computers in 2004?
No, and not by a long way.
Take 25,000,000 ordinary desktop PCs from 2004. To exceed the supercomputer you're talking about, each would need an 88megaflop CPU, 40Mb of memory and a 940Mb hard disk. ...
8
votes
How can a CPU access more memory locations than 2^wordsize?
The 8080, as @TEMLIB pointed out, had 16 bit registers (the program counter, the stack pointer and BC, DE, and HL), and could access 216 bytes of memory. The 8080 had an 8-bit bus, and for ...
8
votes
How is data written to RAM
When you read data from a given memory address, the memory manager checks if there is a copy in the cache. If yes (cache hit), the copy is read into the register. If no (cache miss), the cache is ...
7
votes
Accepted
Why is word-addressable the exception, not the rule?
Byte operations will always be important because a lot of a modern workload involves bytes. Text processing and bytecode interpretation (including emulation of other CPUs) are obvious examples, but ...
7
votes
Is a computer without RAM, but with a disk, equivalent to one with RAM?
No. Disk drives are not Random Addressable like RAM. Instead they're block storage devices. You can't read or write a byte from them. And your CPU cannot read a whole sector at once, they need that ...
6
votes
Accepted
Why do Computers use Hex Number System at assembly language?
Computers don't use the hexadecimal number system for assembly language. Assembly language, or rather machine code, uses base 256 (typically): instructions are encoded in units of bytes. When ...
6
votes
Who converts binary/machine code to electrical signals and how?
In old computer you actually had a row of switches on the front panel
that would allow entering 1s and 0s directly by hand in the registers
of the machines. But this is no longer done.
You never have ...
6
votes
Relationship between RAM size and 32-bit vs 64-bit word size
x86 is a 32-bit processor. Memory addresses for x86 are 32 bits. Each byte has a different address, so a 32-bit address means that you can only address up to $2^{32}$ bytes of memory. $2^{32}$ ...

D.W.♦
- 143k
6
votes
Where is the reorder buffer (ROB)?
Somewhere which is not part of the user accessible memory (i.e. not in the main memory nor in the cache -- that would be too slow, one of the main use of OOO is to hide part of the latency of main ...
6
votes
Accepted
Computer cache - data removing
Cache lines are evicted :
When the OS requests it, it may occur for example in non cache-coherent systems when a peripheral does a DMA transfer (direct transfer from a peripheral to main memory), or ...
6
votes
Accepted
Why RAID 2 would ever be used instead of RAID 3?
RAID 2 doesn't use parity: it uses a Hamming code. This allows error correction as well as error detection. Remember that a parity bit is just a bit that tells you whether the sum of the other bits is ...
6
votes
Accepted
Representation of used space and free space in hard drives
Free space is a concept at the level of the filesystem, which is part of the operating system. It is up to the filesystem to determine what space is free, and how to exploit it.
Data is stored on the ...
6
votes
Accepted
How does software prefetching work with in order processors?
"In-order" processors only issue instructions in order. Completion is out-of-order even on most processors that are called "in-order". "in-order" just means: if the ...
5
votes
Accepted
What is the maximum directly adddressable memory capacity?
Start with a simpler example. Suppose you only had 3 address bits, rather than 24. With $3$ bits we could have $2^3=8$ addresses: 000, 001, 010, 011, 100, 101, 110, 111. In this case, we could think ...
5
votes
/How/ is the machine code within the CPU physically implemented; /why/ precisely does this work; and /where/ is it stored?
This is a very broad question which would be far easier to answer in person with a whiteboard than in a short online missive.
I found this document for the design of a simple computer from Purdue (...
5
votes
Accepted
Variable size and CPU performance
Would it make any difference performance-wise to only use the largest variable size on the platform and use business logic to enforce reasonableness in the values being processed and stored?
Yes, it ...
5
votes
Accepted
Why do we still use a Von Neumann Architecture in modern computers?
So why do we still use this architecture in the majority of modern
computing?
The assumption itself, first clause: Modern Computer <= Von Neumann
Firstly, do note that the Von Neumann ...
5
votes
Why is 2^32 in a 32-bit system = 4GiB and not 4Gib?
"32-bit" describes the size of many of the units of data that the processor can use. In this context, it refers to the size of memory addresses. A 32-bit address can address $2^{32}$ distinct objects; ...
4
votes
How is data written to RAM
From my understanding(correct me if I am wrong) when I read data from RAM memory it is copied into processor cache and than it is copied into register to be used by the processor.
That is generally ...
4
votes
Accepted
What is this trapezoid-shaped logic component?
Looking at slide 5-43 "Data Path Revisited" these are MUX, multiplexors.
As such they are a "switch": When the red input is 1, ...
4
votes
where is all deleted data will go from memory system/internet?
Deleting is not necessarily destroying data. It can be done (much faster, indeed) by making it inaccessible. You can do it by erasing critical information from the data structures that are used to ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
memory-hardware × 187computer-architecture × 86
memory-access × 39
memory-management × 29
cpu-cache × 29
cpu × 22
operating-systems × 19
virtual-memory × 14
memory-allocation × 12
arithmetic × 4
performance × 4
storage × 4
time-complexity × 3
terminology × 3
reference-request × 3
cache × 3
algorithms × 2
parallel-computing × 2
simulation × 2
process-scheduling × 2
binary × 2
encoding-scheme × 2
cpu-pipelines × 2
security × 2
digital-circuits × 2