OSDev.org
https://forum.osdev.org/

Freenode #cpudev
https://forum.osdev.org/viewtopic.php?f=2&t=32365
Page 1 of 1

Author:  glauxosdever [ Wed Aug 23, 2017 3:07 pm ]
Post subject:  Freenode #cpudev

Hi,


Along with other CPU design hobbyists and enthusiasts, we have decided to create the #cpudev channel on freenode.net. If we manage to populate it, a wiki about CPU development is coming!


Regards,
glauxosdever

Author:  Octacone [ Fri Aug 25, 2017 12:57 am ]
Post subject:  Re: Freenode #cpudev

Are you guys doing it practically or theoretically?
Building an 8 bit processor sounds fairly interesting.
Or you want to build a next gen 128 bit 600 cores 500 threads processor that uses 20 ^ -250 watts?

Author:  glauxosdever [ Fri Aug 25, 2017 1:10 am ]
Post subject:  Re: Freenode #cpudev

Hi,


To be fair, I'd like to build something real (but I'm aware of the costs involved, unlike some people that for a couple of months recently have been talking about subleq and its superiority). Then again, most people are doing it for fun and I suppose no-one has done anything more than an emulator and/or an assembler.

Note that we are very few still (about 10 at the peak).


Regards,
glauxosdever

Author:  glauxosdever [ Fri Aug 25, 2017 2:05 pm ]
Post subject:  Re: Freenode #cpudev

Hi,


It was decided to put a (temporary?) wiki anyway.

https://cpudev.miraheze.org/wiki/Main_Page


Regards,
glauxosdever

Author:  onlyonemac [ Fri Aug 25, 2017 2:37 pm ]
Post subject:  Re: Freenode #cpudev

I once designed a CPU. There were only a few instructions and they were all decoded and executed in hardware, usually in a single clock cycle. Every instruction was more or less a move instruction with two parameters (a source register and a destination register) plus additional flags. With no flags set, the value would be copied directly from the source register to the destination register. With the indirection flag set for the source or destination, the value copied will instead come from or go to the memory location at the address given by the specified register rather than the register itself. There was also a flag that would swap the high and low bytes (it was a fully 16-bit CPU, including memory access), this was to allow one to write the high byte of a 16-bit value from memory to some registers that were only 8-bit, and other flags that would only execute the operation if the contents of a specific "conditional execution" register met particular conditions, required for conditional jumps (or a "shortcut" conditional execution where a particular value was only written to a register, to memory, or to memory-mapped IO if a particular condition was true, without actually changing the program counter).

Author:  onlyonemac [ Thu Aug 31, 2017 3:07 pm ]
Post subject:  Re: Freenode #cpudev

Why is this in auto-delete? I'm pretty sure it wasn't in here originally.

Author:  glauxosdever [ Thu Aug 31, 2017 11:39 pm ]
Post subject:  Re: Freenode #cpudev

Hi,


I originally put it here. I don't exactly remember my reasoning for this though. Mods: Feel free to move it to General Ramblings or General Programming if you find this thread useful.

As for your CPU, I find it quite interesting. In what language/program did you design it? Do you have some test programs for it?

Too bad however you limited it to 16-bit.


Regards,
glauxosdever

Author:  AJ [ Fri Sep 01, 2017 3:17 am ]
Post subject:  Re: Freenode #cpudev

Done - I decided it was an announcement :)

Cheers,
Adam

Author:  alexfru [ Fri Sep 01, 2017 4:30 am ]
Post subject:  Re: Freenode #cpudev

glauxosdever wrote:
Then again, most people are doing it for fun and I suppose no-one has done anything more than an emulator and/or an assembler.


You couldn't be more wrong!
http://www.homebrewcpu.com/

Author:  glauxosdever [ Fri Sep 01, 2017 6:08 am ]
Post subject:  Re: Freenode #cpudev

Hi,


alexfru wrote:
glauxosdever wrote:
Then again, most people are doing it for fun and I suppose no-one has done anything more than an emulator and/or an assembler.
You couldn't be more wrong!
http://www.homebrewcpu.com/
I was talking about us, the ones in the channel. I know that many others have done physical implementations and they are of course welcome to the channel.


Regards,
glauxosdever

Author:  glauxosdever [ Fri Sep 01, 2017 12:21 pm ]
Post subject:  Re: Freenode #cpudev

Hi,


We have setup a proper CPUDev Wiki now. Let's now hope it won't have the same fate as compilerdev.org :P


Regards,
glauxosdever

Author:  onlyonemac [ Wed Sep 27, 2017 7:54 am ]
Post subject:  Re: Freenode #cpudev

glauxosdever wrote:
As for your CPU, I find it quite interesting. In what language/program did you design it? Do you have some test programs for it?

Too bad however you limited it to 16-bit.
I missed this because the thread was moved, sorry.

I never actually produced a completed design for this CPU because I wanted to be able to interface with standard peripherals (VGA, PS/2, floppy disk or even IDE hard disk) and the design of those held me back. I had already produced and ran in a simulator a "proof-of-concept" 8-bit design of a completely different and rather inelegant architecture just to prove that it was possible for me to design and implement a CPU. That was actually quite an amazing experience, seeing how hardware and software fitted together at the very layer where they meet, and was something that I didn't really understand before (I understood the concept of a CPU but the whole thing seemed a bit like magic to me, to have a device that could take software, something that's non-physical, and turn it into physical outcomes). CPUs are actually pretty fascinating devices.

My design isn't limited to 16-bit. I was originally going to build an 8-bit CPU but decided to extend it to 16-bit because 256 bytes of memory seemed far too restrictive and I didn't want to have to deal with paging or a 16-bit address line on an 8-bit CPU (I know the 6502 managed this somehow but it was too complicated for me at the time and I still think it's rather messy). I extended it to 16-bit because it seemed like a good compromise between complexity and functionality, but in the end it proved too expensive to build. The actual design however is very modular and can easily be extended to any number of bits (and extra bits means more bits are available for encoding the source and destination registers for each instruction which means more registers are available and more complex features could be mapped directly to "virtual" registers as with the ALU in the original design).

Author:  immibis [ Fri Feb 17, 2023 10:04 am ]
Post subject:  Re: Freenode #cpudev

After this wiki disappeared some time ago, I got the domain (https://cpudev.org) and put another wiki up, themed after the osdev wiki, and the #cpudev channel on irc.libera.net. It's not much more than a placeholder.

Author:  BigBuda [ Fri Feb 17, 2023 4:50 pm ]
Post subject:  Re: Freenode #cpudev

immibis wrote:
After this wiki disappeared some time ago, I got the domain (https://cpudev.org) and put another wiki up, themed after the osdev wiki, and the #cpudev channel on irc.libera.net. It's not much more than a placeholder.


Props to you, really.

As a suggestion, would you consider looking into Bookstack instead of Mediawiki?

Author:  Alexey1994 [ Mon Feb 20, 2023 2:17 am ]
Post subject:  Re: Freenode #cpudev

glauxosdever wrote:
Hi,


Along with other CPU design hobbyists and enthusiasts, we have decided to create the #cpudev channel on freenode.net. If we manage to populate it, a wiki about CPU development is coming!


Regards,
glauxosdever

Take a look at my processor circuit https://github.com/Alexey1994/simple-processor-circuit

It is much easier to program and implement any other scheme. Does not include obvious implementations of adder, multiplier, binary operations, and other ALU components. You implement only the operations you need (binary only, arithmetic only, binary and arithmetic, etc.)

If you need a translation from Russian to English, write to me, the translation will be done in a week.

Page 1 of 1 All times are UTC - 6 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/