Keil Logo Arm Logo

Discussion Forum

size of an architecture depends on

Next Thread | Thread List | Previous Thread Start a Thread | Settings

Details Message
Read-Only
Author
SENTHIL ARUMUGAM
Posted
28-Nov-2006 05:54 GMT
Toolset
None
New! size of an architecture depends on

Size of an microcontroller or processor architecture depends on whteher the address bus or data bus or ALU or all the three

Read-Only
Author
Andy Neil
Posted
28-Nov-2006 07:25 GMT
Toolset
None
New! RE: size of an architecture depends on

The "size" of a processor architecture is its word size;

Thus an 8-bit processor works on an 8-bit word;
A 16-bit processor works on a 16-bit word;
etc, etc, ...

The "word" is the basic unit of data that the processor processes - thus it will be the general register size.

The address bus is usually bigger than the word size; eg, the 8051 is an 8-bit architecture, but has a 16-bit address bus...

Read-Only
Author
senthil arumugam
Posted
28-Nov-2006 12:54 GMT
Toolset
None
New! RE: size of an architecture depends on

What you said was correct, but i have a doubt regarding the below situation?

Lets consider like this: Our address bus is small(8bit) in size than data bus(16 bit). So by the time what may be the size of the processor. So in determining the size of a processor no need to consider the address bus , ALU right?

Read-Only
Author
Andy Neil
Posted
28-Nov-2006 13:02 GMT
Toolset
None
New! RE: size of an architecture depends on

I said, "The 'word' is the basic unit of data that the processor processes" (emphasis added).

I think it's the processesing that's the key word - as already noted, the 8-bit 8051 has a 16-bit address bus; similarly the 16-bit 8086 has a 20-bit address bus, and didn't the 8088 have an 8-bit external data bus?

Thus the ALU width is probably the key...

Read-Only
Author
Richard McCoy
Posted
28-Nov-2006 13:09 GMT
Toolset
None
New! RE: size of an architecture depends on

I would have thought that the "size" referred to the length of the instructions which are fetched from code memory...

-=Rich=-

Read-Only
Author
erik malund
Posted
28-Nov-2006 13:47 GMT
Toolset
None
New! RE: size of an architecture depends on

I would have thought that the "size" referred to the length of the instructions which are fetched from code memory...
HUH?

e.g. the '51 has 1,2,3 and 4 byte long instructions. Most (all?) computers I have worked with have had a variable instruction length.

Erik

Read-Only
Author
Martin Macher
Posted
28-Nov-2006 17:04 GMT
Toolset
None
New! RE: size of an architecture depends on

I would suggest: The width of the working register(s) is relevant for the width of processor architecture.

Few examples:
*8051 ist a 8bit machine, although it has 16bit DPTR and 16bit addressing space.
*Intel Pentium III ist a 32bit machine, it has also 32bit addressing space.
*Intel Core2Duo ist a 64bit machine, although it has 128bit special SSE registers (and some legacy 32bit registers!), it has only 36bit addressing space.

...the "size" referred to the length of the instructions which are fetched from code memory... is irrelevant, as Erik already said.
For example, a PIC 8bit µC has 14bit 16bit or 18bit opcodes (depends on appropriate family e.g. PIC18Cxxx has 18bit opcodes).

A little off topic @Erik: An 8051 has 4-byte instruction(s)? By which OpCodes? I know only 1-, 2- and 3-byte instructions for 8051.

Martin

Read-Only
Author
erik malund
Posted
28-Nov-2006 17:41 GMT
Toolset
None
New! RE: size of an architecture depends on

A little off topic @Erik: An 8051 has 4-byte instruction(s)? By which OpCodes? I know only 1-, 2- and 3-byte instructions for 8051.
neither do I, I got carried away typing numbers :)

Read-Only
Author
Drew Davis
Posted
28-Nov-2006 18:28 GMT
Toolset
None
New! RE: size of an architecture depends on

"Size" doesn't matter.

Or at least for almost any practical purpose you need to be a lot more specific about which part of the CPU you're talking about. As this thread shows, trying to characterize an architecture with a single scalar number is a bit too simplistic to mean much.

When people say "it's a X-bit processor", in my experience they generally mean the width of the internal general-purpose data registers used for computation. The address and data busses of particular implementations often vary. Address spaces often get complicated with segmenting / paging / banking schemes.

The Intel 8086 had a 16-bit data bus; the 8088 had an 8-bit data bus, with the CPUs otherwise largely identical: variable length instructions, 16-bit registers, 16-bit internal data paths, 20-bit address bus (using segment registers internally). Most people called both of them "16-bit processors".

The 68000 had variable length instructions, 32 bit registers, a 16-bit data bus, and a 24-bit address bus. Internally, addresses were 32 bits, but only 24 came out, as Apple found out to their chagrin when they switched to 68020s. Turned out a few too many programmers were being "efficient" and using that upper byte of the address to store data, confident in the knowledge that those bits would never actually appear on the address bus...

ARM7s have 32-bit registers, fixed 32-bit instructions, and a 16-bit data bus, so many operations take two memory accesses. Most people call all ARMs "32-bit processors".

It gets complicated in detail.

Read-Only
Author
Andy Neil
Posted
28-Nov-2006 19:20 GMT
Toolset
None
New! RE: It gets complicated in detail.

life's like that!

Next Thread | Thread List | Previous Thread Start a Thread | Settings

Keil logo

Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.