Congratulations with your thesis, Kulasko.
Officially, it is 'just' a bachelor thesis, but in reality it is the result of six years of work. A very impressive achievement!
Thank you for your work. I hope you will continue...
Search found 178 matches
- 2023-07-27, 5:11:22
- Forum: forwardcom forum
- Topic: First evidence of ForwardCom effectiveness
- Replies: 1
- Views: 15877
- 2023-03-18, 8:32:44
- Forum: forwardcom forum
- Topic: Should we build a ForwardCom organization?
- Replies: 1
- Views: 15446
Should we build a ForwardCom organization?
Do we need an organization to manage the ForwardCom project? Such an organization could help people get involved, organize online meetings and conferences, facilitate research projects, develop standards, etc. The idea of an organization came up as I was trying to find a solution to the problem of c...
- 2023-02-01, 5:57:39
- Forum: forwardcom forum
- Topic: Proposals for next version
- Replies: 16
- Views: 87283
Re: Proposals for next version
@Moonchild It is too complex for a single instruction. It requires many additions and horizontal data transfer across vector lanes. The latency would depend on the vector length. People could propose a zillion other functions that they would like to implement in hardware, including elementary mathem...
- 2023-01-31, 9:19:39
- Forum: forwardcom forum
- Topic: Proposals for next version
- Replies: 16
- Views: 87283
Re: Proposals for next version
@Moonchild:
Sum scan of an array is a complex instruction with long data-dependent latency. This would require microcode. ForwardCom avoids microcode.
Sum scan of an array is a complex instruction with long data-dependent latency. This would require microcode. ForwardCom avoids microcode.
- 2023-01-30, 6:53:28
- Forum: forwardcom forum
- Topic: Proposals for next version
- Replies: 16
- Views: 87283
Re: Proposals for next version
Good idea, Hubert I have thought about a cheaper solution, though less universal. ForwardCom is intended to avoid memory fragmentation. In small systems and embedded systems you may not need demand paged memory. If you don't have demand paging you don't need to be able to recover from memory access ...
- 2023-01-26, 13:38:46
- Forum: forwardcom forum
- Topic: Proposals for next version
- Replies: 16
- Views: 87283
Re: Proposals for next version
Moonchild wrote:
I don't understand what you mean. The manual explains how to make a horizontal vector sum.vector sum scan instruction
- 2023-01-26, 13:35:39
- Forum: forwardcom forum
- Topic: Bit addressing
- Replies: 8
- Views: 31814
Re: Bit addressing
Moonchild wrote:
There are instructions for set, clear, toggle, and test a single bit or multiple bits. There is bit scan, popcount, and bitfield manipulation. What else do you need?One-off bit operations
- 2023-01-24, 9:58:23
- Forum: forwardcom forum
- Topic: Softcore update
- Replies: 0
- Views: 23727
Softcore update
The FPGA softcore has now been developed to a stage where all integer instructions work. This includes complicated instructions such as: multiplication, multiplication high part, multiply and add, division with a choice of rounding modes, remainder, push/pop a sequence of registers with a choice of ...
- 2022-12-04, 15:13:13
- Forum: forwardcom forum
- Topic: Integer division by zero
- Replies: 4
- Views: 22770
Re: Integer division by zero
Hi Webenson What you propose is indeed the solution I have implemented. Performance counter number 16 will count various errors and show the code address where the first error occurred. This is a cheap solution to implement in hardware. Division by 0 gives INT_MAX, INT_MIN, or UINT_MAX. Returning 0 ...
- 2022-12-03, 6:31:31
- Forum: forwardcom forum
- Topic: Proposals for next version
- Replies: 16
- Views: 87283
Re: Proposals for next version
You are right that speculation is quite expensive in terms of hardware. ForwardCom needs less speculation because there are no numerical error traps. A processor with out-of-order capabilities but no speculation might be attractive. (It could decode both sides of a 2-way branch to reduce pipeline bu...
- 2022-12-02, 8:02:12
- Forum: forwardcom forum
- Topic: Proposals for next version
- Replies: 16
- Views: 87283
Re: Proposals for next version
Hubert, the idea of a priority hint makes sense. A NOP instruction has many unused bits that can be used as various hints. On the other hand, if the compiler knows which instructions should have high priority, it would simply put these instructions first. An out-of-order processor will reorder instr...
- 2022-12-02, 7:41:06
- Forum: forwardcom forum
- Topic: Integer division by zero
- Replies: 4
- Views: 22770
Re: Integer division by zero
Hubert, a % b = a will satisfy a % b == a - (a/b)*b in all cases. There is a modulo instruction, and it is easy to implement because the existing division hardware gives the remainder as well, whether you need it or not. I have considered to make division by 0 give 0, but this would increase the ris...
- 2022-11-27, 16:22:42
- Forum: forwardcom forum
- Topic: Integer division by zero
- Replies: 4
- Views: 22770
Integer division by zero
I have almost finished making the division hardware for the ForwardCom softcore (using a radix-4 division loop). Now I have to decide what to do with integer division by zero. I have tried to google what other microprocessors do with integer division by zero. X86 makes an error trap. ARM and PowerPC...
- 2022-10-23, 14:06:55
- Forum: forwardcom forum
- Topic: Proposals for next version
- Replies: 16
- Views: 87283
Re: Proposals for next version
Thank you for your comments. Regarding speculative read The proposed speculative read should be a special instruction for this purpose. Advantages: no waste of RAM for padding space. Disadvantages: messy hardware logic; does not allow all addressing modes. The alternative is to insert a padding spac...
- 2022-10-17, 12:41:12
- Forum: forwardcom forum
- Topic: Proposals for next version
- Replies: 16
- Views: 87283
Proposals for next version
I am beginning to work on version 1.12 of ForwardCom. I have several proposals for changes that I will open up for discussion: 1. Speculative memory read I would like an option for reading from memory without causing a trap in case the address is invalid. A read from an illegal address should produc...
- 2022-09-16, 4:38:22
- Forum: forwardcom forum
- Topic: New CPU simulator
- Replies: 1
- Views: 15520
Re: New CPU simulator
This looks very exciting. I am looking forward to see your results.
- 2022-08-17, 5:48:27
- Forum: forwardcom forum
- Topic: Bit addressing
- Replies: 8
- Views: 31814
Re: Bit addressing
Your multicore sieve of Eratosthenes would be very expensive to implement in hardware because the data cache needs to combine single bits from each core.
- 2022-05-13, 14:05:14
- Forum: forwardcom forum
- Topic: Bit addressing
- Replies: 8
- Views: 31814
Re: Bit addressing
ForwardCom has many instructions for bit manipulation including instructions to extract, insert, or move bit fields with an arbitrary number of bits in each element. This allows efficient packing of information. If you have many booleans then it is most efficient to make bit vectors that can handle ...
- 2022-04-13, 6:17:10
- Forum: forwardcom forum
- Topic: Memory safety enforcement using CHERI
- Replies: 3
- Views: 19203
Re: Memory safety enforcement using CHERI
I am somewhat skeptical too. CHERI is proposing a very costly solution to a problem that can be solved in other ways. I haven't looked too deeply into CHERI, but as I understand it, it requires a lot of changes in both hardware and software: The hardware ISA must have an extra set of special 128-bit...
- 2022-01-31, 7:16:09
- Forum: forwardcom forum
- Topic: Nonlocal control flow
- Replies: 10
- Views: 30487
Re: Nonlocal control flow
On some processors, yes.does that mean there is no BTB cost for forward never-taken branches?
- 2022-01-20, 9:12:45
- Forum: forwardcom forum
- Topic: Nonlocal control flow
- Replies: 10
- Views: 30487
Re: Nonlocal control flow
Isn't this a case where forwardcom would do much better than traditional cpus? Because the call stack is expressed explicitly, it is the same as the return prediction stack. So after you install a new call stack, you maybe pipeline stall, but then start start predicting returns correctly from it. Y...
- 2022-01-20, 7:37:28
- Forum: forwardcom forum
- Topic: Nonlocal control flow
- Replies: 10
- Views: 30487
Re: Nonlocal control flow
Thank you for trying to find weak points in my system. I think that nonlocal returns may be implemented more efficiently as a sequence of normal returns. 1. Why? Why is it more efficient to return multiple times than just once? Because it doesn't mess up the return prediction. A non-local return wil...
- 2022-01-19, 11:09:59
- Forum: forwardcom forum
- Topic: Nonlocal control flow
- Replies: 10
- Views: 30487
Re: Nonlocal control flow
I think that nonlocal returns may be implemented more efficiently as a sequence of normal returns. It is possible to have multiple data stacks on ForwardCom. The compiler could use a register or an extra stack or a particular stack space to keep track of the nesting level. Error handling can also be...
- 2022-01-19, 7:51:14
- Forum: forwardcom forum
- Topic: Nonlocal control flow
- Replies: 10
- Views: 30487
Re: Nonlocal control flow
You are right that stack unwinding requires privileged instructions. Stack unwinding takes place in the following cases: Exception trapping (try/catch) in object oriented languages Debugging longjmp in C Exception trapping and debugging require privileged access anyway. A program that has a large nu...
- 2021-12-13, 7:13:36
- Forum: forwardcom forum
- Topic: How to avoid memory fragmentation
- Replies: 5
- Views: 15563
Re: How to avoid memory fragmentation
The more fragmented the memory becomes, the more complicated becomes the access: In simple cases where there are few processes running and plenty of vacant RAM, you don't need any address translation. All you need is a small memory map with a few variable-size entries. This memory map can stay on-ch...