16bit to 32bit

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

16bit to 32bit

hbit93
The hack archichecture is a 16-bit computer. What are the potential changes would be required to the hack architecture to develop it into 32-bit architecture?
Reply | Threaded
Open this post in threaded view
|

Re: 16bit to 32bit

WBahn
Administrator
This sounds like a homework question. Is it?

In either case, what do YOU think would be involved? Take your best shot and we'll go from there.
Reply | Threaded
Open this post in threaded view
|

Re: 16bit to 32bit

MrHacker
I have the same question, and personally I think it wouldn't be too complicated, since we already have 16 bit components, we just need to use two of each to make the 32 bit versions.

What I don't fully understand is if we have to give them two 16 bit inputs or just one 32 input. Does anyone know the right answer to this?
Reply | Threaded
Open this post in threaded view
|

Re: 16bit to 32bit

WBahn
Administrator
In principle you could do it either way. But I'm not sure that the present tools will work with a 32-bit signals. Someone posted a while back that they don't. I haven't verified that.
Reply | Threaded
Open this post in threaded view
|

Re: 16bit to 32bit

rleininger
In reply to this post by MrHacker
I believe this is a bit more complicated than simply enlarging the width of the datapath; that is, the operands and output of the ALU to 32-bits.  There is a question of what to do about data memory.  It could be altered to implement 32-bit addressable words and make the data bus 32-bits wide.  This approach seems reasonably straight-forward since in the Hack computer, the instruction bus is completely separate from the data bus (Harvard architecture) and could remain 16-bit if desired.

There is a difficulty with this approach since the data Memory "chip" created in the final build of the Hack computer utilizes several "built-in" 16-bit chips. so you would probably have to go to the underlying Java code to make the change to 32-bit.  There would probably also need to be changes made to the screen and keyboard I/O internal routines to accommodate the change to 32-bit words and the accompanying bus.

Another approach commonly used in many commercial byte-addressable microprocessors would be to leave the memory alone and handle 32-bit ALU operations in 16-bit chunks.  I think this would be more complicated, but I have not really thought much about it.  This would seem to move the Hack CPU into the CISC realm and would not be in keeping with its KISS design philosophy.

I don't think this is a simple exercise at all.