Or a train schedulerIt's probably a godsend for somebody making a full-blown CPU.

Or a train schedulerIt's probably a godsend for somebody making a full-blown CPU.
well I store all of them that way I can store huge lists and even instructions! I was using each>0 deciders until now, that way I can filter unwanted signals and remove the need for one extra deciderpiriform wrote: Not sure I understand, do you store more than one signal per memory cell?
Branch in 7 ticks? do you eat those ticks on the breakfast or you are using them to mine bitcoins?piriform wrote:For the past couple of months, I've been working on/off on a new version of CPU (i.e. MK4). Even though it's not ready for general release as it needs more testing, I'd thought to show what I have for comments (good or bad).
Description
Boxes outline different functional areas
white- PC (ish)
brown- X,S,Y,Z registers (X on a top)
blue – read/write assists
green –pipelineahem. spine
red - arithmetic unit (i.e. +,-,*,/)
teal - accumulator and buffer
yellow- branch logic
the two stacks peeking from the bottom are ROM and RAM
more description and discussion
Gaah! I would not eat them even on top of the steak. (well maybe..on a bet..if I was really drunk)do you eat those ticks on the breakfast
Sounds pretty awesome. Can't wait to see it cook. Are you planning an action video.extending alu to be able process up to 150 different instructions per tick,
But I'm afraid of breaking my (beloved) registersMain execution cycle should be 1 tick long = this is must have.
That seems like a popular theme. I've seen at least one example of that.example: array processing by 10 cells per tick
Normally this would be the point where you accept a self posed "challenge" and publish your own CPU that fixes all those issues.XKnight wrote:Branch in 7 ticks? do you eat those ticks on the breakfast
Main execution cycle should be 1 tick long = this is must have.
Thanks for the kind words and no worries. I don't consider XKnight's comments discouraging. If anything, I think he is trying to encourage others, as am I. We just have a different approach.Regarding the CPU: I love it, don't let XKnight spoil the fun
If you can make a logistic train network and a kanban factory it's fine, I guess.piriform wrote:A big part of the problem is not fully understanding the problemCase in point, I've intended for this CPU series to become capable of controlling a factory, only t o realize that I have no idea what that means. Sure, you could point out bits and pieces and say: "Well, this could be controlled ... and this".
It's a CPU, it's what inside your mobile phone and your PC (and your microwave oven). Only smaller.matjojo wrote:Holy shit, I just saw this on the subreddit in a comment somewhere, and I must say, this looks amazingly comlicated, I myself do not have any idea what you are doing here, but I see what it does in the end, keep it up!
Yeah, I got that, but HOW it works I don't know:)siggboy wrote:It's a CPU, it's what inside your mobile phone and your PC (and your microwave oven). Only smaller.matjojo wrote:Holy shit, I just saw this on the subreddit in a comment somewhere, and I must say, this looks amazingly comlicated, I myself do not have any idea what you are doing here, but I see what it does in the end, keep it up!
Actually, if you drill down, and look at all the bits and pieces separately, they are simple and easy to understand. (i.e. this bit does this, that bit this etc.)this looks amazingly comlicated
Couldn't agree more!XKnight wrote:Main execution cycle should be 1 tick long = this is must have.
sorry for fakingmatjojo wrote:Holy shit, this looks amazingly comlicated, keep it up!
Code: Select all
Challenge:
build a factorio where you can enter your desired endproduct and all outposts or lab arrays and rockets are always getting filled while you stand nearby the complex mess, proud, watching your digital clockwork.
Rules:
- Factory must produce your demand (count accurate)
- All being controlled by a CPU of your choice
- You are not allowed to set recipes (this is 0.14)
- Unlimited Coal, Oil, Ore for making things easier
(+ is optional)
+ Controlled train network with only 1 locomotive for factory-supply (to satisfy siggboy)
+ 1 Rocket silo, 10 labs, must be getting their stuff unless demand is prioritized
You do know that faking will get you only so far. Sooner or later you run out.sorry for faking
Do you also agree that doing three times the work in two ticks is worse then twice in two?Couldn't agree more!
I'm currently writing a program that uses stack extensively. A demo will be posted on YouTube,within a week (time depending). If you study the program (which I will also provide) you will learn how to (ab)use the stack.No clue why one would need a stack
I agree with siggboy on you proposed 'challenge'. Having said that, if a 'valid' benchmark can be devised, I would not be opposed to having a go.Lets challenge ourselfs a little bit for the coming 0.14 update!
That's basically what the scheduler does:piriform wrote:what's your take on computing with Sets (eg set of stations, set of trains, conditions, some magical operators and poof dispatch list)?
and my approach always was to aid the game, not build a CPU which like all the minecraft computers to name an example dont really do, they just are, they dont dosiggboy wrote:This is a GENERAL PURPOSE CPU
thanks! I was probably thinking about subroutine or multithread which are usually OS based.siggboy wrote:Branching means "If X then jump to Y".
thanks for clearing up.siggboy wrote:Stack...(to make function calls and returns)
piriform wrote:Do you also agree that doing three times the work in two ticks is worse then twice in two?
Nothing of that is OS based. The operating system is concerned with distributing resources among the programs that are running. So if you need disk space or RAM, then you go through the OS.Gertibrumm wrote:thanks! I was probably thinking about subroutine or multithread which are usually OS based.siggboy wrote:Branching means "If X then jump to Y".
Yes, but this thread is showcasing a general purpose CPU. Your challenge has basically nothing to do with that.Gertibrumm wrote:A challenge is what we need to actually improve progress in factorio and to make good use of the features we are getting!!
It is a little discouraging because when you are challenging me this way, Ill probably never come back due to lack of possibility.If you have a better CPU, maybe one with 60 IPS performance and some amazing features, then you can come back and pose a "challenge". But first you need to learn what a CPU actually IS. So there is some road ahead.