I'm gonna make a stupid cpu because i'm bored.
Old:
Alright, there will be more info on the ISA later. Right now it's a 12 bit IS, and my longest non i/o op is 11 ticks. Everything else is <10 thanks to my tiny internal data bus :3
I will hopefully have decent, feasible peripheral support aswell. I have 8 peripheral ports which have 2 bytes out and 1 byte in.
You can:
request data from a peripheral and stall until data is received..
Or schedule a read operation and then retreive (or wait for) a localy stored copy of the data when it is needed later in the program. (instruction-level pipelining, anyone? )
The i/o system is VERY general. You have 2 control pulses out (read and write in most cases), and 1 control pulse in to signal that the peripheral has completed the operation.
A write operation uses two bytes of data out, and it also stores a copy of the peripheral's output (if any) so you can use the write op as a 16 bit addressing system if you like
Old:
Alright, there will be more info on the ISA later. Right now it's a 12 bit IS, and my longest non i/o op is 11 ticks. Everything else is <10 thanks to my tiny internal data bus :3
I will hopefully have decent, feasible peripheral support aswell. I have 8 peripheral ports which have 2 bytes out and 1 byte in.
You can:
request data from a peripheral and stall until data is received..
Or schedule a read operation and then retreive (or wait for) a localy stored copy of the data when it is needed later in the program. (instruction-level pipelining, anyone? )
The i/o system is VERY general. You have 2 control pulses out (read and write in most cases), and 1 control pulse in to signal that the peripheral has completed the operation.
A write operation uses two bytes of data out, and it also stores a copy of the peripheral's output (if any) so you can use the write op as a 16 bit addressing system if you like