SRAM Performance Boost?

Hardware questions and modifications

SRAM Performance Boost?

Postby GHiero » Sun Jan 26, 2014 4:22 pm

Static RAM, such as that found in the PCjr. XT-IDE sidecar, should be inherently faster than Dynamic RAM used in the PCjr. or on the IBM PCjr. memory expansion sidecar and clones. DRAM requires memory refresh, regardless if it is done by the video controller (first 128K in PCjr, 128-256k in Tandys), the timer and DMA method (PCs and XTs) or the dedicated refresh circuitry found in the memory expansion sidecar. SRAM does not require memory refresh, leading to improved performance but higher costs. I asked Trixter about whether there were any improvements in using the XT-IDE PCjr. SRAM over DRAM, and he said that there could be up to an 8% speed improvement. However, as the BIOS is programmed to run DRAM refresh cycles normally, there is no improvement. He suggested that I ask the forum what would happen if DRAM refresh cycles were disabled completely. Would the machine function? Is there a measurable benefit? I know that there are utilities for the PC and Tandy that can squeeze out a little more performance by lengthening the DRAM refresh cycle, but there is a practical limit to that.

So if your XT-IDE jr. expansion adds 608KB of conventional memory (as it effectively can), I would think that only the 128KB of shared video memory would have any possible effect here. Does it?
GHiero
 
Posts: 116
Joined: Wed Oct 16, 2013 7:53 pm

Re: SRAM Performance Boost?

Postby Brutman » Sun Jan 26, 2014 4:57 pm

Are you sure that the BIOS is doing something to cause DRAM to be refreshed? I don't think PCjrs do that. On a PCjr the DRAM refresh is either handled by the VGA constantly accessing memory or dedicated DRAM refresh controllers that are packaged with the expansion memory. Take a look at the BIOS listing and tell me where you see it.

As is noted other places (either on the forum or in the static web pages) the PCjr approach to DRAM refresh costs more, but potentially gives you a slight performance edge when operating out of upper memory. If you hit the timing right you can avoid DRAM refresh cycles because each sidecar handles it independently. I wouldn't try to measure it; it's a very marginal effect. IBM of course did not intend for the machine to have more than 128K, so the DRAM controllers on the sidecars are a negative from an overall cost of ownership/expansion standpoint.
Brutman
Site Admin
 
Posts: 969
Joined: Sat Jun 21, 2008 5:03 pm

Re: SRAM Performance Boost?

Postby GHiero » Sun Jan 26, 2014 5:43 pm

Brutman wrote:Are you sure that the BIOS is doing something to cause DRAM to be refreshed? I don't think PCjrs do that. On a PCjr the DRAM refresh is either handled by the VGA constantly accessing memory or dedicated DRAM refresh controllers that are packaged with the expansion memory. Take a look at the BIOS listing and tell me where you see it.

As is noted other places (either on the forum or in the static web pages) the PCjr approach to DRAM refresh costs more, but potentially gives you a slight performance edge when operating out of upper memory. If you hit the timing right you can avoid DRAM refresh cycles because each sidecar handles it independently. I wouldn't try to measure it; it's a very marginal effect. IBM of course did not intend for the machine to have more than 128K, so the DRAM controllers on the sidecars are a negative from an overall cost of ownership/expansion standpoint.


Trixter mentioned the memory refresh issue. Refresh barely gets a mention in the PCjr. BIOS, and only as part of a service routine. By contrast, the code to set up the timer and DMA refresh in the PC XT BIOS is easy enough to find.

According to you, you can get a performance boost when you access the sidecar memory when it is not being refreshed. So for SRAM, which does not refresh, the boost should always be present. However, as you say its probably a marginal improvement. Still, running TOPBENCH with an SRAM sidecar and a DRAM sidecar should show the difference.
GHiero
 
Posts: 116
Joined: Wed Oct 16, 2013 7:53 pm

Re: SRAM Performance Boost?

Postby Brutman » Sun Jan 26, 2014 6:26 pm

The SRAM trick is not new - it has been used for years.

These machines originally came with DRAMs because the density of the DRAM chips was better, they were cheaper, and they did not consume as much power. We have the luxury of using SRAM now that we can get single chips that hold 512KB. It makes the circuit simpler without having the DRAM controller.

On a long, long list of things I have is to learn how to design a board to replace the memory board in a Racore/Rapport expansion with one that just uses SRAM. That should leave plenty of real estate for other functions.

I've not studied the jr BIOS lately but I doubt that there is anything in there related to DRAM refresh. It's just not needed - the video circuitry does it. (Or if there is something, it's probably done by setting up the VGA.)
Brutman
Site Admin
 
Posts: 969
Joined: Sat Jun 21, 2008 5:03 pm

Re: SRAM Performance Boost?

Postby alanh » Sun Jan 26, 2014 7:53 pm

Am I in the twilight zone? This is the same subject (almost) is discussed in the recent ZM56 Hack and JR-IDE thread. I can measure the speed difference if you want as I have everything still setup. Just point me to the benchmark.

The video controller handles DRAM refresh for the lower 128K on the JR. By gating it off entirely with the ZM56 replacement and enabling the sidecar for the lower 128K, I have in effect done what you suggest. It is subjectively more than 8% but we would need an empirical test to state certainty.

The problem I have found is it breaks PCJr graphics compatibility. I think even the Jr BIOS itself might be accessing RAM imminently intended to be used for output display not through the pannable B8000 window.
alanh
 
Posts: 258
Joined: Tue May 10, 2011 6:52 pm
Location: Atlanta, GA

Re: SRAM Performance Boost?

Postby geoffdaddy » Mon Jan 27, 2014 8:43 am

I think the refresh is really not an issue if it happens when the processor is not accessing memory, in which case the VGA is going to insert wait states into the RAM accesses. You should be able to see if READY is ever low when CS is asserted for the expansion RAM.
PCjr: 10MB RACore 01 hard drive expansion, Hotshot 640kB RAM expander, optical mouse, Xircom PE3, speech sidecar.
geoffdaddy
 
Posts: 126
Joined: Wed May 15, 2013 5:22 pm

Re: SRAM Performance Boost?

Postby Brutman » Mon Jan 27, 2014 9:05 am

I don't think it's the Twilight Zone. There was a suggestion to just turn off/alter DRAM refreshing in the BIOS to improve performance. Since the BIOS doesn't do that, there is nothing to do.

Dupes are a fact of life ...
Brutman
Site Admin
 
Posts: 969
Joined: Sat Jun 21, 2008 5:03 pm

Re: SRAM Performance Boost?

Postby geoffdaddy » Mon Jan 27, 2014 9:31 am

Agreed. I was under the impression that the VGA was solely responsible for refresh. Since it can't address any more than 128k I can't imagine it is responsible. It's pretty dramatic the difference in speed when accessing expansion memory > 128k.
PCjr: 10MB RACore 01 hard drive expansion, Hotshot 640kB RAM expander, optical mouse, Xircom PE3, speech sidecar.
geoffdaddy
 
Posts: 126
Joined: Wed May 15, 2013 5:22 pm


Return to PCjr Hardware

Who is online

Users browsing this forum: No registered users and 4 guests

cron