Page 3 of 4
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Tue Nov 15, 2022 1:32 pm
by spark2k06
kitune-san wrote: ↑Tue Nov 15, 2022 12:56 pm
Now that I know why the CGA is not working well, I have created a 25MHz (cycle accurate disabled) test version.
It may not be the true 25 MHz because one additional clock was added during memory readout.
However, this is the maximum speed that can be achieved with the current MiSTer_PCXT.
https://github.com/kitune-san/PCXT_MiST ... 25mhz-test
Thanks!. I have carried out tests with
CheckIT 3.0, and there does not seem to be a significant increase in performance, perhaps there is a bottleneck somewhere...
86Box with PC/AT 286 model
Code: Select all
PCAT 6MHz -> 1493 Dhrystones
PCAT 8MHz -> 1991 Dhrystones
- PCAT 6MHz.png (7.63 KiB) Viewed 3362 times
- PCAT 8MHz.png (7.6 KiB) Viewed 3362 times
Core PCXT
Code: Select all
PCXT Max 14MHz -> 837 Dhrystones (PCAT 3.36MHz equivalent)
PCXT Max 25MHz -> 918 Dhrystones (PCAT 3.69MHz equivalent)
- PCXT - Max 14MHz.png (101.22 KiB) Viewed 3362 times
- PCXT - Max 25MHz.png (101.2 KiB) Viewed 3362 times
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Tue Nov 15, 2022 1:41 pm
by dmckean
spark2k06 wrote: ↑Tue Nov 15, 2022 1:32 pm
kitune-san wrote: ↑Tue Nov 15, 2022 12:56 pm
Now that I know why the CGA is not working well, I have created a 25MHz (cycle accurate disabled) test version.
It may not be the true 25 MHz because one additional clock was added during memory readout.
However, this is the maximum speed that can be achieved with the current MiSTer_PCXT.
https://github.com/kitune-san/PCXT_MiST ... 25mhz-test
Thanks!. I have carried out tests with
CheckIT 3.0, and there does not seem to be a significant increase in performance, perhaps there is a bottleneck somewhere...
86Box with PC/AT 286 model
Code: Select all
PCAT 6MHz -> 1493 Dhrystones
PCAT 8MHz -> 1991 Dhrystones
PCAT 6MHz.png
PCAT 8MHz.png
Core PCXT
Code: Select all
PCXT Max 14MHz -> 837 Dhrystones (PCAT 3.36MHz equivalent)
PCXT Max 25MHz -> 918 Dhrystones (PCAT 3.69MHz equivalent)
PCXT - Max 14MHz.png
PCXT - Max 25MHz.png
This looks like what I would expect.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Tue Nov 15, 2022 2:13 pm
by kitune-san
spark2k06 wrote: ↑Tue Nov 15, 2022 1:32 pm
Thanks!. I have carried out tests with
CheckIT 3.0, and there does not seem to be a significant increase in performance, perhaps there is a bottleneck somewhere...
Well, there are differences such as machine cycle and bus control (8288 and 82288).
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Tue Nov 15, 2022 2:20 pm
by spark2k06
kitune-san wrote: ↑Tue Nov 15, 2022 2:13 pm
spark2k06 wrote: ↑Tue Nov 15, 2022 1:32 pm
Thanks!. I have carried out tests with
CheckIT 3.0, and there does not seem to be a significant increase in performance, perhaps there is a bottleneck somewhere...
Well, there are differences such as machine cycle and bus control (8288 and 82288).
Agreed. So it's normal, right? we assume that it can't increase performance any further for this core? And on the other hand, is the core stable in general terms at
25MHz and
14.318MHz, both without cycle accurate? Or would it be preferable to stay at
14.318MHz given the little improvement achieved?
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Tue Nov 15, 2022 2:31 pm
by kitune-san
hmm.. I don't know what to say.
I have not found any bottlenecks yet.
However, I would not say that there is not something that is a bottleneck.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Tue Nov 15, 2022 2:35 pm
by spark2k06
kitune-san wrote: ↑Tue Nov 15, 2022 2:31 pm
hmm.. I don't know what to say.
I have not found any bottlenecks yet.
However, I would not say that there is not something that is a bottleneck.
MicroCoreLabs wrote:
Let's see what @MicroCoreLabs has to say
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Tue Nov 15, 2022 2:51 pm
by dmckean
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Tue Nov 15, 2022 2:56 pm
by spark2k06
A note.
Landmark Speed Test 6.0 also says it has similar performance to
AT 7MHz, but here I am making comparisons with
CheckIT, and the results of their
Dhrystones seem to leave no doubt that the performance does not exceed that of an
AT 3.5MHz.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Tue Nov 15, 2022 4:43 pm
by spark2k06
I've updated the prerelease branch with @kitune-san's latest changes, and updated the OSD to indicate that the maximum speed corresponds to a
PC/AT 286 at
3.5MHz (I attach the binary):
- CPU speeds OSD.png (1.9 KiB) Viewed 3223 times
On the other hand, I have taken the opportunity to update the joystick counter values taking into account the new
CPU speed models, so that they are synchronised with it as long as the corresponding option is checked in the
OSD, in this way, the
paratrooper game cannon will always appear centred when the joystick has no movement:
- Paratrooper.png (29.68 KiB) Viewed 3223 times
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Tue Nov 15, 2022 6:30 pm
by MicroCoreLabs
Let's see what @MicroCoreLabs has to say
.
You can try:
- Running the microsequencer faster than 100Mhz. The FPGA can probably synthesize to a much faster clock speed.
- For SDRAM accesses you can bypass the BIU state machine and complete cycles in the minimal time. This would yield the best results.
- Mirroring the BIOS ROMs in FPGA RAM and access them by bypassing the BIU state machine.
- Can try increasing the prefetch queue from four bytes to something larger.
- Each opcode's microcode sets the cycle clock counter in the BIU to achieve cycle accuracy and then polls it. If you bypassed this code the EU core would run faster because there would be less microcode to run.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 1:41 am
by kitune-san
They are very interesting, but would be difficult to incorporate into the same core as the current stable 4.77 MHz system.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 3:10 am
by MicroCoreLabs
They are very interesting, but would be difficult to incorporate into the same core as the current stable 4.77 MHz system.
Great achievements are often difficult...
You can use my MCL86jr BIU as an example which accesses an external SSRAM at both 4.77Mhz cycle accurate and fastest possible speeds.
https://github.com/MicroCoreLabs/Projec ... /biu_min.v
I was able to get more than 4X speed improvement on the PCJr -- you can probably achieve more with PCXT.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 3:29 am
by kitune-san
My biggest problem at the moment is how to connect to DMA.
PCjr does not have it but XT does.
I can disable it but will not be able to use FDC.
The other thing is I do not have an SRAM card.
In any case, we should work on the new branch so as not to destroy the current deliverables.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 3:37 am
by spark2k06
All this may be fine as a personal challenge, but I think we have to assess what real benefits it brings to this particular core.
With the current speeds we already more than cover the different real 8088 CPU models, and considering that we are not going to add new graphics modes (EGA/VGA), I would avoid getting too involved in this aspect in favour of other things... for example, how about having an 8087? We'll have to look if there's already a development of this one on the internet...
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 3:41 am
by MicroCoreLabs
You can add another interface to your BIU which has the full 20-bit address and 16-bits of data (MCL86 EU is 16-bit, just like real 8088) which attaches directly to your DRAM controller block which already has ports for the BIU and DMA.
When the CPU attempts an access to DRAM which you want to accelerate the access happens over this new BIU port. You would also need an indicator signal to the DRAM block to say this port is active.
You would need another port on your DRAM controller for this new interface... just one more requestor... which would run at 100Mhz.
Then you would always be coherent because there is only one DRAM system which the cycle-accurate BIU, this new high-speed interface, and DMA can access.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 3:43 am
by MicroCoreLabs
for example, how about having an 8087?
Virtually nothing uses the 8087... Maximum speed will always be useful.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 3:45 am
by spark2k06
MicroCoreLabs wrote: ↑Wed Nov 16, 2022 3:43 am
for example, how about having an 8087?
Virtually nothing uses the 8087... Maximum speed will always be useful.
But having
ao486 already, useful for exactly what
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 3:49 am
by MicroCoreLabs
spark2k06 wrote: ↑Tue Nov 15, 2022 2:35 pm
kitune-san wrote: ↑Tue Nov 15, 2022 2:31 pm
hmm.. I don't know what to say.
I have not found any bottlenecks yet.
However, I would not say that there is not something that is a bottleneck.
MicroCoreLabs wrote:
Let's see what @MicroCoreLabs has to say
But having ao486 already, useful for exactly what
You tell me. You just ran speed tests and asked me what the bottlenecks were...
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 3:54 am
by spark2k06
Honestly, none...if they were trivial or low-impact changes maybe it could be added, otherwise it's not worth it.
For me, the maximum speed option in this core is a "free" extra, but nothing more. Any great effort required to get something else...due to other limitations, doesn't make much sense.
We have to start coming to terms with these limitations and how far we have come, which is a lot.
I prefer to focus my efforts on revising all the bugs and leftovers in order to make it as genuine and stable as possible
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 4:04 am
by spark2k06
MicroCoreLabs wrote:
You tell me. You just ran speed tests and asked me what the bottlenecks were...
On the other hand, I appreciate all these comments... it's probably what made me realise how far we have to go
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 4:10 am
by dmckean
spark2k06 wrote: ↑Wed Nov 16, 2022 3:54 am
Honestly, none...if they were trivial or low-impact changes maybe it could be added, otherwise it's not worth it.
For me, the maximum speed option in this core is a "free" extra, but nothing more. Any great effort required to get something else...due to other limitations, doesn't make much sense.
We have to start coming to terms with these limitations and how far we have come, which is a lot.
I prefer to focus my efforts on revising all the bugs and leftovers in order to make it as genuine and stable as possible
It's still sort of interesting and I'm not sure this takes away from fixing all the small bugs left, I think that will get done regardless. I don't think we really know what a completely speed optimized mode is useful for until we have it.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 4:14 am
by spark2k06
My main idea with this core was
PCXT, I incorporated
Tandy because the graphics card project we used partially implemented it...I have expanded it because it was relatively simple.
If we want something more (
286, 386 with
EGA/VGA) we would already be talking about another project, a big one by the way, I won't be the one to get into that quagmire
.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 4:16 am
by dmckean
Yeah, I don't think anyone will ever tackle that properly because the payoff is low and we might end up getting free EGA someday if tubetime decides to revisit the Graphics Gremlin.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 4:37 am
by kitune-san
I understand. I will not overclock any more.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 4:40 am
by spark2k06
kitune-san wrote: ↑Wed Nov 16, 2022 4:37 am
I understand. I will not overclock any more.
Thank you for your hard work and dedication, much appreciated
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 5:13 am
by thorr
spark2k06 wrote: ↑Wed Nov 16, 2022 4:14 am
If we want something more (
286, 386 with
EGA/VGA) we would already be talking about another project, a big one by the way, I won't be the one to get into that quagmire
.
We want!
I was hoping (probably more greatly wishfully thinking) that with such an awesome team we are blessed with with you guys that after PCXT is finished, it would be an evolutionary step to move on to the 286 and a lot of the groundwork would already be laid with this core. Once that is working, it would be another evolutionary step to move on to the 386, just like it was back in the day as each generation improved on the last maintaining compatibility. The 286 had a number of really great things introduced with it. 16-bit CPU. 16-bit Slots. VGA and sound cards becoming much more common. Wolfenstein 3D. King's Quest V with awesome graphics. The 386 took this a step further with a 32-bit CPU. The 486 introduced Vesa Local Bus and PCI slots and CPU clock doubling and tripling. PCem source code could be a great resource for figuring out how everything works.
Meanwhile, I am super grateful for the XT and especially the Tandy capabilities, and extra colorful simulated CGA functions. I had an XT but never the Tandy or colorful composite CGA. I hope I can find and recover my old GW Basic programs, but they may be forever lost.
One last thing, to answer the question about why we might want more speed (which I am happy with what we have, so don't worry about it), when I was a kid, I was lent a 4.77MHz PC that I hooked my 1200 Baud Pocket Modem up to and played Populous with my buddy who had a 286. Populous runs, but man was it slow. Any speed improvement is a welcome addition to that game. However, I think it runs too fast on ao486.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 5:59 am
by spark2k06
thorr wrote: ↑Wed Nov 16, 2022 5:13 am
We want!
I was hoping (probably more greatly wishfully thinking) that with such an awesome team we are blessed with with you guys that after PCXT is finished, it would be an evolutionary step to move on to the 286 and a lot of the groundwork would already be laid with this core. Once that is working, it would be another evolutionary step to move on to the 386, just like it was back in the day as each generation improved on the last maintaining compatibility. The 286 had a number of really great things introduced with it. 16-bit CPU. 16-bit Slots. VGA and sound cards becoming much more common. Wolfenstein 3D. King's Quest V with awesome graphics. The 386 took this a step further with a 32-bit CPU. The 486 introduced Vesa Local Bus and PCI slots and CPU clock doubling and tripling. PCem source code could be a great resource for figuring out how everything works.
I have said it before, but I say it again. I am not a hardware engineer, just a puzzle piece assembler... I have learned and I am learning a lot with this project, I have managed to develop some things but that's as far as I can go.
Behind this project there are other sub-projects of great importance, and with a lot of previous work, such as.... among others:
- KFPC-XT by kitune-san
- MCL86 by MicroCoreLabs
- Graphics Gremlin by TubeTime
- JTOPL and JT89 by Jotego
I saw the opportunity to join all these pieces in one and get to where we are now, but also, due to circumstances that are not relevant, I have to say that I have been able to dedicate a lot of time to this task, but soon that won't be possible, so I want to leave closed some fringes and consider it finished, for my part of course.
Regardless of this, we don't really have anything already developed to carry out all the work that would be necessary to bring what you propose to fruition, and there has to be a very strong motivation behind it for a developer to be willing to take it on.
thorr wrote:
One last thing, to answer the question about why we might want more speed (which I am happy with what we have, so don't worry about it), when I was a kid, I was lent a 4.77MHz PC that I hooked my 1200 Baud Pocket Modem up to and played Populous with my buddy who had a 286. Populous runs, but man was it slow. Any speed improvement is a welcome addition to that game. However, I think it runs too fast on ao486.
Are you sure? I'm testing the
CGA version and
Adlib sound and at least at the maximum
CPU speed you have available without cycle accurate, it seems to me that it works very well... although I don't really know the game either.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 6:18 am
by thorr
Thanks. I fully appreciate the current situation and what you are saying. I definitely don't think anything would happen anytime soon, and don't expect anything. I am just a big fan of this stuff and wanted to express my interest in keeping a really great thing going. I was sort of hoping that there would be interest and motivation on the part of the CPU core developers to keep going with newer CPU's and you could help in the way that you have with all of your support in so many ways to bring it all together. What you and the team did with PCXT is amazing and if that is all you ever do, it is more than anyone could have asked, and will always be greatly appreciated by me at least and probably many many others.
spark2k06 wrote: ↑Wed Nov 16, 2022 5:59 am
Are you sure? I'm testing the
CGA version and
Adlib sound and at least at the maximum
CPU speed you have available without cycle accurate, it seems to me that it works very well... although I don't really know the game either.
I haven't had a chance to test it yet, but what I was talking about was when it ran at 4.77MHz. That was very slow. The fact that this core is already so much faster, I have no doubt it runs decently on this core already. It worked great on the 286 12. I was using that as another example of showing why faster CPU's help in some situations, and I am looking forward to trying it at the maximum CPU speed on this core! I have been totally sidelined with building my arcade cabinet and haven't had much time at all to play games. The painting has been taking forever because I have no experience and I keep messing it up. I think I am almost done with that part. I can't wait to be done with it so I can dive in and really experience this core. There are so many old games I can't wait to play again. I can already hear the monotonous Pengo song in my head.
Thanks for everything!
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 6:25 am
by MicroCoreLabs
I can already hear the monotonous Pengo song in my head.
https://www.youtube.com/watch?v=d_aj3bG45ag
Pengo isnt much fun when the 8088 is not cycle accurate.
Re: PCXT Core 10Mhz CPU Speed Possible?
Posted: Wed Nov 16, 2022 6:34 am
by thorr
EXACTLY!!!
I love this core for this reason and many more.