16/32 bit cpu for a late 1976 cpu.
Author |
Message |
oldben
Joined: Mon Oct 07, 2019 2:41 am Posts: 594
|
Changed the Instruction set around to be more compact a few weeks ago, but software the required a some minor changes in input text formating. Now that I found the typo in the bootrap loader, things seem to work correctly now. Still not sure if I want to impliment a simple virual memory system. as that makes a OS much more complex with page faults and traps. Ben.
|
Wed Feb 17, 2021 3:33 am |
|
![](./styles/serenity/theme/images/spacer.gif) |
oldben
Joined: Mon Oct 07, 2019 2:41 am Posts: 594
|
In the last week the FPGA software suddenly decided to build working hard ware again. I have new version of the 8/16/32 bit cpu, with 7 GP registers and a PC. Addressing modes are R+,# indexed and direct addressing. indexed is 16bit offset, and direct is 512KB. Hardware is up to 1 MB of ram and with a limited front panel addressing of the First and last 32kb or ram or prom. No mmu at all. Simple IRQ service. Data types are signed/unsigned byte and signed/unsigned half words and full words Working now at FPGA emulation stage, the PCB layout to begin soon. 5 card set, ALU#1 ,ALU#2, Control card, front panel card/rom/io, memory card. Using 22v10's about 25 IC's are needed for the control card. 50 IC's using rom's only and TTL decoding of microcode. 512 24 bit words of micro code is used. 2901A's are used in the two alu cards. 16 bit bus/20 bit address lines. Two phase clock @ 5.33 mhz. Byte's sive program ~ 15 seconds. It almost meets my goal, for DOS ERA computer in only that MMU is missing. It now just needs more software development, and text editor. XMODEM is planned for when a second serial port is addes added. Ben.
|
Sun May 09, 2021 2:15 am |
|
![](./styles/serenity/theme/images/spacer.gif) |
oldben
Joined: Mon Oct 07, 2019 2:41 am Posts: 594
|
I have dropped the 16/32 bit cpu, and moved to a 12/24/48 bit cpu. 2 12 bit alu cards and a control card using CMOS PAL's will make a cleaner design. 74LSXX logic with PAL glue for easy PCB layout. Most of the features to move from a simple control computer like the PDP/8 to a larger mico-computer required a larger order code 22 or 24 bits wide with a 11 or 12 bit sized byte, to have a single word memory reference instruction that was not load/store. Set in the 1974 to 1977 time frame, memory is around 32kb for a simple OS and 48Kb for user space programs. DEC PDP/8 RK05 drives (1.4 MB) and a dual rs232 ports. (2400 baud). Small bios and floating point in PROM. Code: 21 0987 6543 2109 8765 4321 +--+------------------------+ |aa|Cooo:mmix:x+##:####:####| NORMAL +--+------------------------+ aa ac A B X C/S xx index Z/A B X S/C mmi mode Cooo operation ST LD ADD/ADC SUB/SBC AND BIT OR XOR EQV
About the same size and price as PDP/11. 1.5 us Memory cycle with a Front Panel. Ben.
|
Sun Oct 10, 2021 3:01 am |
|
![](./styles/serenity/theme/images/spacer.gif) |
BigEd
Joined: Wed Jan 09, 2013 6:54 pm Posts: 1783
|
I'm reminded of our adventures with 16, 32 and then 24 bit words for the OPC machines. There's a whole set of tradeoffs depending on instruction encodings, and embedded addresses and constants in the instruction stream.
|
Mon Oct 11, 2021 12:17 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
oldben
Joined: Mon Oct 07, 2019 2:41 am Posts: 594
|
While I did want more features than a basic computer, byte addressing and long data does require 2 more bits for the order code, and two more bits for the address space. The PDP 11 quickly ended up as the VAX so this factor was never really noticed there. Most of the reason this order code is bigger, I wanted a few true index/base registers and that required 4 more bits, This design grew from the happy cute bunny (18 bits). to the horned demon rabbit (22 bits). Software floating point was secondary goal, and adding long instructions simplfied this goal. ISP hardware is 90% done, but I need to revise software and add more serial ports and a front panel. Ben. If I do continue with a machine larger than 24 bits it would be a 32/64 bit computer (32 bit data path) using 2901's. Late 1977? Code: [COOO][MAAA][MXXX][MUBS][+###][####][####][####] M=MODE A=AC X=INDEX U=UNSIGNED B=BYTE S=SHORT C:OOO=CARRY AND OPCODE
|
Mon Oct 11, 2021 7:47 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
oldben
Joined: Mon Oct 07, 2019 2:41 am Posts: 594
|
How Important was software floating point to be 32 or 64 bits unit? I was thinking of 8/16/48 bit cpu, with a single floating point number or large int of 48 bits, with 16 bit bus and 20 bit addressing. No mmu and DOS like single process OS. Ben.
Attachments:
CPUtxt.txt [897 Bytes]
Downloaded 260 times
|
Mon Dec 27, 2021 6:15 am |
|
![](./styles/serenity/theme/images/spacer.gif) |
BigEd
Joined: Wed Jan 09, 2013 6:54 pm Posts: 1783
|
8 and 16 bit CPUs can do software floating point pretty well, so I see no problem with an 8/16/48 bit machine on that front.
|
Mon Dec 27, 2021 7:07 am |
|
![](./styles/serenity/theme/images/spacer.gif) |
oldben
Joined: Mon Oct 07, 2019 2:41 am Posts: 594
|
Well I now have new version working, 8/16/32 bits retro 1977. Two 16 bit alu cards on a 12 slot mother board. I have major tweeking to have it route and run with the fpga. Going to a 32 bit computer,requires 128Kb or 32KW and to fit that requires 64Kb memory cards. To have reasionable bus speed, requires 200 ns ram, both coming out the next year, 1977. Low cost components, like LS TTL and removable disks like the Dec's RK05 (2.3Kb ) compared to 1975. Most of the cost is the RK05's in 1977, but 8" floppies are too small and slow to use. A low cost 10MB drive in 1978 $2K?. Programable logic is 3 512x8 proms and a few 82S100 FPLA's (22v10 substutes). Basic cpu logic is down, with 1.536 MHZ bus but I may make a few more tweeks, in the next few weeks. Revise the pals and draw schematics,and write docs and software. Ben.
|
Wed May 25, 2022 10:31 am |
|
![](./styles/serenity/theme/images/spacer.gif) |
BigEd
Joined: Wed Jan 09, 2013 6:54 pm Posts: 1783
|
Sounds like great progress... it'd be good to see a photo or two!
|
Wed May 25, 2022 3:23 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
oldben
Joined: Mon Oct 07, 2019 2:41 am Posts: 594
|
The hardware looks the same as the 20 bit cpu. The cpu design is as far as it will go with using a 2901 (emulated) bit slice. The design goal with this project was "Can a get better computer design" than the intel 8086 but not as complex as the 68000 running as DOS style operating system, and a 18+ bit address range and a 16 bit bus. Adding long, and signed/unsigned and byte immedate took up all the free opcode bits, so only 16 bit offsets can be used off a base register. I did not get the 20 bit JMP,JSR and direct addressing as I hoped but got a 8 GP registers, a PC and 4 base/segment registers. Most of the tweeking is done, and mostly a finished design. BCD math is too complex for the 2901 and the 29203 bit slice ~1979 can't be found. Set on condition code opcode was added as well as some scaling operations for indexing. Ben.
|
Thu May 26, 2022 2:34 am |
|
![](./styles/serenity/theme/images/spacer.gif) |
oldben
Joined: Mon Oct 07, 2019 2:41 am Posts: 594
|
Mostly cleaned up the instruction set this summer, about 26 chips for the control section, with 4 16L8 pals and 3 512x8 eproms/roms. The Alu is 2901's and some MSI TTL like 74LS173's. The only hard to find parts are the OTP 100 ns eproms,2901's and 74LS173's. 16V8's (low power) still can be found. Now able to read, a ps2 keyboard and write to a 80x20 text video display. (720x400 vga). I used a pll off the 50 mhz clock to give me 28.333 mhz dot clock. I need a 28.322 mhz dot clock for real vga format. Now I need to find bold and italic 8x16 fonts and scan code tables in machine readable form. I think a version uses a 27 mhz dot clock for vga, but I can not seem to find the timing. Are there any of ASCII charaacter generator roms in machine readable form.6571 character generator ROM for example I wish to thank Ben Eater, for the easy TTL version of reading in the AT keyboard. I shift in the inverted data, to give me 1 for the start bit 0 for stop bit. when a scan code is done, load the output register (inverted data) and clear the shift register. nice and simple. Ben
|
Mon Aug 01, 2022 6:02 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
oldben
Joined: Mon Oct 07, 2019 2:41 am Posts: 594
|
Ordered a tiny PS/2 keyboard... It don't work keeps sending AA. Had to add the ACK bit to the keyboard routines. A J/K flip flop did the trick, and a Open Collector gate. NOW works, I soon will have umm A APPLE II. All I need now a case and a good name for this beast. (hex file)
Attachments:
File comment: Rom dump of the MCM6574 character generator. 8 x 16
6574.txt [8 KiB]
Downloaded 248 times
|
Sat Aug 06, 2022 11:47 pm |
|
![](./styles/serenity/theme/images/spacer.gif) |
BigEd
Joined: Wed Jan 09, 2013 6:54 pm Posts: 1783
|
Nice to know you got PS/2 sorted.
|
Sun Aug 07, 2022 6:27 am |
|
![](./styles/serenity/theme/images/spacer.gif) |
oldben
Joined: Mon Oct 07, 2019 2:41 am Posts: 594
|
I had real nice post about how I planned to intoduce this computer in 1978, but the page timed out and i lost all the work. Price wise as kit, the 3 cards come to $1,195, the H11 was $1,295. 1/3 parts,1/3 pcbs.1/3 profit. 64kb was about $1200 for the parts ~ $32 each. Ben's computer proves that a low end 32 bit computer (no floating point hardware, dma, or mmu) could have been a home brew construction project. The use of 6 - 82S100's ($12.00) 1978 keeps the control PCB small. Ben.
|
Fri Aug 19, 2022 5:05 am |
|
![](./styles/serenity/theme/images/spacer.gif) |
oldben
Joined: Mon Oct 07, 2019 2:41 am Posts: 594
|
The design is done,save for the IRQ and mmu if any.It only has 19 bit adressing , but that ample for a single user. This cpu my idea a DOS like computer, 512 ram, EGA , serial port, 5 meg hard disk, and a built in terminal and a 6Mhz clock. Ben.
|
Sat Aug 20, 2022 5:21 pm |
|
|
Who is online |
Users browsing this forum: No registered users and 136 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
|
|