I've talked about the data hazards in a previous installment, now let's talk
about control hazards.
A control hazard is when we need to find the destination of a jump or a branch
and can't fetch any new instruction until this destination is known.
I'm currently working on the data multiplexer, the part that comes between
the CPU and the memory and is responsible for putting the right byte at the
right place, but I can't stop thinking about what comes next.
And let me tell you, there's still quite a lot of development …
These last few weeks, I've been working on implementing the CPU in
Digital.
My initial intention was to stay as close as possible to what will be the
actual implementation, but in practice, it may not have been a good idea,
because it didn't always play well with the simulation …
I would like to go more into detail about each stage of the pipeline, what
they do and how they work. I know I said in the previous installment that I
would not go into the details of hazards, but it looks like I will need it
to document my …
This article is mostly a high-level overview of the Astorisc architecture,
do not expect implementation tricks and gory details in here.
As I said in the presentation, I'd like to make Astorisc a pipelined processor.
But what does this actually mean? I could send you to the
article on Wikipedia …
Now that BB-88 is more or less complete, let me tell you about another project
that has been on my mind for a few years now: a homebrew computer featuring a RISC-V processor made of
74 series logic.
There are already a few projects to make a RISC-V processor from …