Freenode #cpudev
-
- Member
- Posts: 501
- Joined: Wed Jun 17, 2015 9:40 am
- Libera.chat IRC: glauxosdever
- Location: Athens, Greece
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
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
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?
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?
OS: Basic OS
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader
About: 32 Bit Monolithic Kernel Written in C++ and Assembly, Custom FAT 32 Bootloader
-
- Member
- Posts: 501
- Joined: Wed Jun 17, 2015 9:40 am
- Libera.chat IRC: glauxosdever
- Location: Athens, Greece
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
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
-
- Member
- Posts: 501
- Joined: Wed Jun 17, 2015 9:40 am
- Libera.chat IRC: glauxosdever
- Location: Athens, Greece
Re: Freenode #cpudev
Hi,
It was decided to put a (temporary?) wiki anyway.
https://cpudev.miraheze.org/wiki/Main_Page
Regards,
glauxosdever
It was decided to put a (temporary?) wiki anyway.
https://cpudev.miraheze.org/wiki/Main_Page
Regards,
glauxosdever
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
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).
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Freenode #cpudev
Why is this in auto-delete? I'm pretty sure it wasn't in here originally.
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
-
- Member
- Posts: 501
- Joined: Wed Jun 17, 2015 9:40 am
- Libera.chat IRC: glauxosdever
- Location: Athens, Greece
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
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
Re: Freenode #cpudev
Done - I decided it was an announcement
Cheers,
Adam
Cheers,
Adam
Re: Freenode #cpudev
You couldn't be more wrong!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.
http://www.homebrewcpu.com/
-
- Member
- Posts: 501
- Joined: Wed Jun 17, 2015 9:40 am
- Libera.chat IRC: glauxosdever
- Location: Athens, Greece
Re: Freenode #cpudev
Hi,
Regards,
glauxosdever
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.alexfru wrote:You couldn't be more wrong!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.
http://www.homebrewcpu.com/
Regards,
glauxosdever
-
- Member
- Posts: 501
- Joined: Wed Jun 17, 2015 9:40 am
- Libera.chat IRC: glauxosdever
- Location: Athens, Greece
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
Regards,
glauxosdever
We have setup a proper CPUDev Wiki now. Let's now hope it won't have the same fate as compilerdev.org
Regards,
glauxosdever
-
- Member
- Posts: 1146
- Joined: Sat Mar 01, 2014 2:59 pm
Re: Freenode #cpudev
I missed this because the thread was moved, sorry.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 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).
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing
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.
Re: Freenode #cpudev
Props to you, really.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.
As a suggestion, would you consider looking into Bookstack instead of Mediawiki?
Writing a bootloader in under 15 minutes: https://www.youtube.com/watch?v=0E0FKjvTA0M
-
- Member
- Posts: 61
- Joined: Sat Jan 28, 2023 11:41 am
- Location: Belarus
- Contact:
Re: Freenode #cpudev
Take a look at my processor circuit https://github.com/Alexey1994/simple-processor-circuitglauxosdever 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
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.