Which parameters decide the size of data type for a processor?

Is it the data bus which decides this? Or is it the Instruction Set Architecture?

有帮助吗?

解决方案

The maximum width or the maximum amounts of bits a processor can deal with at the same time at a given time is specific to the particular processor you're using and would be decided by the width of it's data bus and also the width of all the data lines inside the CPU.

Essentially a CPU can operate on a certain amount of high's and low's (in terms of voltage) at any particular time, so I guess if you've got a 32bit CPU, it will have 32 physical lines in parallel on which it operates.

EDIT: Seems after a bit of research on this, that my answer is wrong, it's the internal register size of the CPU that determines it's size.

I'm no expert in CPU architecture, so I can't provide more detail.

其他提示

The question is rather unclear, but from your tags I surmise that you are talking about C data structures. The C compiler decides that, based on the architecture for which it is compiling.

Also take a look at this question.

Update: My answer referred to the version of the question before @Mat's edit.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top