Is there any difference between word size and size of internal register of CPU ,since "Word size" refers to the number of bits processed by a computer's CPU in one go ,so does this imply that word size is architecture dependent and ALU register's size is same as word size ?
2 Answers
The term "word size" is defined in different ways by different sources, but almost everybody agrees that it is architecture dependent.
In the definition you quote: "number of bits processed by a computer's CPU in one go" it is not clear what "processed" refers to.
(Sorry about using ancient example, but I have not really looked at hardware specs for ages)
For example: The 486DX processor can add 32 bit integers for a 32-bit result (plus carry). It can multiply 32 bit integers for a 64-bit result. It can add or multiply 80-bit floating-point numbers for 80-bit results.
It has 32-bit integer registers and 80-bit floating-point registers. The 64-bit int multiplication stores in result in two registers.
I won't even start on the various physical and virtual memory address sizes.
The integer multiply instruction 32x32 -> 64 is an oddity, most integer instructions can only process 32 bits.
Now, what is the word size?
It all depends on your definition.
-
$\begingroup$ So , word means a unit of data which a CPU manipulates at some instant of time , right ? $\endgroup$– radhikaJan 14, 2017 at 10:55
-
$\begingroup$ Word is the smallest unit of accessible data in a computer system. A word maybe 1 byte, 2 bytes, 4 bytes,etc. depends on architecture. Suppose we store some characters in an array, in a computer system which has one word = 4bytes. Now if character is 1 byte long. So , if we need to access 1st character, then we should bring first byte from the starting address of the array. However since in this system 1 word = 4bytes, we have to access and bring 1word . That means, we will be fetching the first 4 bytes (=first four characters) even though we needed only one. ,Is this terminology correct ? $\endgroup$– radhikaJan 14, 2017 at 10:57
-
-
$\begingroup$ So is it true that word size is equal to size of memory data register ,since register has to do all computations and we generally access a word , so does this imply that size of register must be always equal to word size ? $\endgroup$– radhikaJan 17, 2017 at 10:03
-
$\begingroup$ There are registers that contain multiple "words". For example 512 bit registers on a modern Intel CPU containing eight 64 bit words, or sixteen 32 bit words. Trying to define "Word" is not very useful today. $\endgroup$ Jul 7, 2017 at 16:27
One. Yes the size of one word is the size of a single register present in a register file.
Your memory storage may store the data in 4,8,16,32,64 bits of data, but they ultimately have to be loaded into a register before the CPU can use it for performing operations. Here MIPS reads the data from the memory in sets of the size which can be accomodated in a single register file.
e.g: If your register has 32 bits capacity and your memory stores the data in 8bit values, then MIPS will read 4 memory locations and fit it into a single register and this set is called as a "word" or "data word".
In short, one word is the data which can be fit into a single register in the register file of your computer.
Hope this helps!!