Last visit was: Sat Jul 31, 2021 6:56 am
It is currently Sat Jul 31, 2021 6:56 am



 [ 3 posts ] 
 What is the OR_q register in OPC1? 
Author Message

Joined: Sat Dec 21, 2019 9:58 pm
Posts: 1
I'm attempting to go through each of these one page CPUs to try to understand them better but I can't for the life of me figure out what the OR_q register is supposed to stand for. Help?

PC = program counter
ACC = accumulator
FSM = finite state machine
IR = instruction register
LINK = link register (not sure why this is called link)
OR = ?????

Operand Register?


Sat Dec 21, 2019 10:03 pm

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1626
Welcome! And thanks for your interest in the OPC series.

Yes indeed, it's the operand register.

(Ref: https://github.com/revaldinho/opc/blob/ ... /opc5cpu.v)

(As for the "_q" that's a naming convention to remind us that this signal is the output - the Q side - of a flop or a register made of flops.)


Sun Dec 22, 2019 8:44 am

Joined: Tue Apr 25, 2017 7:33 pm
Posts: 32
I think the name makes more sense in the very first OPC which is a true accumulator machine. Ih that version you need somewhere to hold the incoming operand from memory when performing any operation on two data words (with the other in the accumulator).

The function of the operand register is similar for the other OPCs, in that it holds one of the two operands for an ALU operation immediately before execution. However, since those are all load/store type machines all operands are being taken from the larger register file, so really it's just a pipeline stage now.


Sun Dec 22, 2019 4:07 pm
 [ 3 posts ] 

Who is online

Users browsing this forum: CCBot and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software