AnyCPU http://anycpu.org/forum/ |
|
16/32 bit cpu for a late 1976 cpu. http://anycpu.org/forum/viewtopic.php?f=23&t=671 |
Page 2 of 5 |
Author: | robfinch [ Thu Oct 01, 2020 3:03 am ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
Amazing! Done amazingly fast too. |
Author: | oldben [ Wed Oct 07, 2020 7:24 pm ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
No slow, I had the one bug that takes up the other 90% of the debugging time. Now that I have most of my ideas developed and bug free, I am redesigning my 9 bit cpu from a few years ago. Code: OPCODE LAYOUT 987 654 321 +---+---+---+ |OOO|JAA:WXX| +---+---+---+ REG IX AC!=S AC=S 0 A # ST(ORE) - - 1 B Z LD Z Z 2 X X ADD S !C 3 S S SUB Z+S Z+!C 4 AND !(ODD) TRUE 5 OR !(Z) - 6 XOR !(S) !(!C) 7 ADX !(S+Z) !(Z+!C) ADC/SBC or LOGIC REG S used a special decode. AC is reg A OP MATRIX 3 1 2 0 ST # # ST X X 0 BYTE CTL BYTE BYTE 1 WORD RET WORD WORD 2 JSR JCC LEA JCC 3 LD% SCC LD% SFT Ben. I will take over the word, my cpu is a bit (1) better than any 6502, after I change may name to Ben Gates. |
Author: | oldben [ Sat Oct 17, 2020 6:58 pm ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
Ideas from the 9/18 bit cpu, gives me a simple 20 bit cpu. The original goal was a 6800 stretched to 18 bits, in the 1974-1977 time frame, with the concept bytes need to 9 bits, so you don't lose addressing space over a word addressed cpu as well as 8 bit opcode limits what operations you can do. Expanding to 20 bits lets me now use a 2901 bit slice. The PDP 8 has emulated floating point, and a floating point trap is added to my instruction set. This will give me REAL numbers, so I can have a ALGOL type language. Thinking how this would compete with a real PDP8 price wise (memory was $$$ but dropping in price) 20 bits gives me the best value for the money over a 12 or 16 bit cpu. The use of Dual 8" floppy drive with GCR would give me a low cost system, compared to DEC and 25% more over a CP/M system in 1976. All the changes, lets me use cheap 72 pin .156" card edge connectors to make a simple mother board, compared to bigger projects with more connectors. SDC cards, fake dual floppies drives. Ben. |
Author: | oldben [ Wed Oct 28, 2020 7:50 am ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
I have been designing too early ~ 1975. I need to wait untill ~ 1977, just after the APPLE I. By then 16K drams were out, and early FPLA's like the 82S100 as well as the 2901 bit slice and 512x8 proms. Using them I can cut the data path to 4 chips per 4 bit slice (25+glue) and about 25 chips for the control logic. I have gone to a 24 bit computer because that is next standard size for problem solving, rather than a bigger address space. Cards will be on a mother board with S-100 style connector, and about a S-100 card size for 16Kb x 24 bit memory, 48Kb for programs and 32Kb for the OS. The OS is rather small, just that ~ 12K is for Disc and 4Kb stack. 200ns ram lets me have 6.144 MHZ clock. 8" floppies with unknown a GCR will give me 6Kb (1K blocks) per track ~462K per disk. Ben. |
Author: | oldben [ Mon Nov 09, 2020 9:31 pm ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
I am dropping the 16/32 bit CPU as it is too big a project, as well as the 20 bit cpu. The 24 bit cpu wil use core style timing, and all the pins on the S100 bus connector. BDP ( Ben Data Processor ) will have 48Kb of memory, with 768 byte disk blocks on DSSS 8" floppies. 76 tracks with 5 sectors / track GCR. ~ 530K per floppy. 1.5 us Memory cycle. Data Path 5 chips per 4 bit slice+ glue. Control Path 5 22v10's , 74ls161/74ls163 counters +buffers + glue. 19 bit addressing. Opcodes similar to the 9 bit cpu, but 7 registers+ PC. Ben. |
Author: | robfinch [ Wed Nov 11, 2020 7:13 am ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
Is the 768 size disk block because of the use of 24 bit values? It would seem more natural for disk blocks to be 512 or 1024 bytes. |
Author: | BigEd [ Wed Nov 11, 2020 8:42 am ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
I would guess it's 256 words. |
Author: | oldben [ Wed Nov 11, 2020 9:33 pm ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
I read /write 3 256 x 12 disk block from the SD card, with 0's to pad the 16 bit words. 4 blocks make a disk sector of 768 12 bit bytes. block number = sector << 2. This lets me emulate 8" floppy drive with 76 tracks and two heads. I use a FAT table disk format and 760 sectors per disk. Disc Buffers take up most of 16Kb I have reserved for the OS. I still have wire in the 2 Arduino SD (standard) shields to the FPGA expansion bus. I have lots of cheap chinese SD cards to use as floppies. ~ 520Kb per floppy make a usable development system. $2 floppies and $10 drives VS $20 floppies $1K drives of the 1970's. Ben. |
Author: | BigEd [ Thu Nov 12, 2020 9:00 am ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
Ah, I see: you're using 12 bit bytes, but necessarily padding into 16 bits to access an SD card. Makes sense! |
Author: | robfinch [ Thu Nov 12, 2020 1:28 pm ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
That is an interesting mish-mash of old and new technology. Using the SD cards as floppies to emulate 8” disks, wouldn’t that leave a lot of space on the SD card unused? Could they be partitioned like a hard-disk? |
Author: | oldben [ Thu Nov 12, 2020 6:44 pm ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
For that era mass media was rather sparce, 8" floppies or the RK05 hard disk @ 1.6MB.(DEC) As the goal here is a small computer, a RK05 is out of place. RK05's were for UNIX. A 8" floppy about $1,200. RK05 about $8,000. A 16 meg SD covers most removable media from that era. Ben. |
Author: | oldben [ Tue Dec 22, 2020 2:37 pm ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
Revised to add R++ and --R to the instruction layout of the 32 bit cpu with a 2901 ALU. The new BIOS now can load a bootstrap from the serial port, but disk I/O needs to be revised for the new hardware and system jmp tables moved. One meg of address space is reserved, giving me a DOS dual floppy like computer system. Ben. |
Author: | robfinch [ Wed Dec 23, 2020 4:51 am ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
1MB of address space is a lot for 1976. At 32 bits is this a mini/mainframe equivalent? R++, --R address modes are hard for a compiler to use. I am tempted to try a come up with a TTL based computer myself. But then I think: someone already did this and for what I'd want it would be a whole cabinet of electronics. Still it might be fun. |
Author: | oldben [ Wed Dec 23, 2020 9:46 am ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
Quote: R++, --R address modes are hard for a compiler to use. More often called POP and PUSH if R is the Stack pointer. The design more a Mini-computer for the simple reason I have no MMU and Floppy Style Drives. I have been using several 22V10 PALS to simplifiy control decoding, that replace 5 or 6 TTL compnents per PAL. 82S100 FPLA's would have been used in the 70's time frame. |
Author: | oldben [ Tue Dec 29, 2020 9:09 pm ] |
Post subject: | Re: 16/32 bit cpu for a late 1976 cpu. |
Found several bugs in the microcode, mostly cut and paste errors as I revised the Instruction Order Codes. It seems now to be working as 3 chip err card cpu, proving that a 32 bit cpu could be home built design, providing one had the money as it is 4x the cost of 8 bit cpu.Disk Block size is 1Kb blocks so I could run FORTH. No C compiler prevents me from doing a small Unix style OS. Ben. |
Page 2 of 5 | All times are UTC |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |