Image Map Image Map
Page 1 of 3 123 LastLast
Results 1 to 10 of 23

Thread: Disk Caching - EMS vs XMS

  1. #1

    Default Disk Caching - EMS vs XMS

    So under 100% equal conditions, EMS would always be faster since it doesn't require the memory contents to be copied to conventional before they can be read by DOS. But what about the somewhat uncommon case of EMS which is limited to 8-bit memory accesses to the page frame? (Due to the LA lines only having 128kB resolution and the page frame often sharing a 128kB region with a physical 8 bit device.)

    Would 8 bit EMS still be faster on a 0 wait system? Twice as many bus cycles and added waits vs having to copy the XMS back to conventional (a 16 bit accessed 0 wait operation)

  2. #2

    Default

    I guess no one wants to hazard a guess, what disk performance benchmark would be most valid to test the speed of a system RAM based cache? DISKTEST for DOS?

  3. #3

    Default

    8 bit ISA timing is not the same as 16-bit, if that's what you are getting at. I would say accessing content directly off the 8-bit device would still be quicker than (possibly evicting a page then) copying from XMS then reading again.

  4. #4

    Default

    Quote Originally Posted by pearce_jj View Post
    8 bit ISA timing is not the same as 16-bit, if that's what you are getting at. I would say accessing content directly off the 8-bit device would still be quicker than (possibly evicting a page then) copying from XMS then reading again.
    I know. That's my whole point. Two 8-bit access cycles with all their extra associates waits vs. 16-bit zero wait with a data copy required

  5. #5
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    36,045
    Blog Entries
    18

    Default

    Wouldn't it be a bit more straightforward to simply install a caching controller?

  6. #6

    Default

    Quote Originally Posted by Chuck(G) View Post
    Wouldn't it be a bit more straightforward to simply install a caching controller?
    Absolutely. In fact for my system where performance is actually important, I did. This is just more of a point of curiosity

  7. #7

    Default

    My guess is that XMS is faster. Would this QBASIC benchmark do the job?
    Code:
    ' create a file
    buffer$ = SPACE$(16384)
    OPEN "tempfile.tmp" FOR BINARY AS #1
    PUT #1, , buffer$: CLOSE #1
    ' read it back a few times
    timeout = TIMER + 4
    OPEN "tempfile.tmp" FOR BINARY AS #1
    filepos = 1: count = 0
    DO
    GET #1, filepos, buffer$: count = count + 1
    LOOP UNTIL TIMER >= timeout
    CLOSE #1
    KILL "tempfile.tmp"         ' remove the temp file
    PRINT count * 4; "KB/second"

  8. #8
    Join Date
    May 2009
    Location
    Connecticut
    Posts
    4,921
    Blog Entries
    1

    Default

    I remember that PC Magazine had a comparison of several caches in different configurations which should have proved a good reference for choosing an optimal setup. I can't find an index mentioning what issue had the article.

    I think EMS was faster than XMS unless one is running DOS extender programs. Copying between extended memory blocks will take less time than shifting back into real mode and switching the EMS page and then sending that data over to the extended memory addresses that need it and then resuming protected mode operation.

  9. #9
    Join Date
    May 2011
    Location
    Outer Mongolia
    Posts
    3,278

    Default

    My gut feeling is you'd need a machine significantly faster than a 286 (IE, something where ISA's limitations actually seriously start turning into a pinch point) and a very specialized application to actually tell the difference either way.

    Not that I can test, I only have XT-class Tandy 1000s to play with and experimentation with them reveals that according to the DISKTEST benchmark their XT-CF-lite adapters are effectively as fast as a RAMDISK in EMS memory. Disk cache software just slows them down.
    My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs

  10. #10
    Join Date
    Aug 2006
    Location
    Chicagoland, Illinois, USA
    Posts
    7,060
    Blog Entries
    1

    Default

    This question has multiple answers based on the operating environment. You can't just say "which is faster, EMS or XMS" and leave it at that. The answer changes based on the hardware and use case.

    Would 8 bit EMS still be faster on a 0 wait system? Twice as many bus cycles and added waits vs having to copy the XMS back to conventional (a 16 bit accessed 0 wait operation)
    But this isn't a practical configuration. If you have a 286, you'll be adding a 16-bit memory board, and you'd either have 16-bit EMS or 16-bit extended memory. The only reason this configuration would exist in the past is if someone upgraded their hardware and didn't want to spend the money on upgrading their memory board and just moved it over, but we don't have those kinds of limitations or situations today.

    Different applications use EMS and/or XMS in different ways. The only way to truly answer your question is to maybe find an application that supports both, such as Norton Cache 2, and run some disk access benchmarks with the cache configured both ways.
    Last edited by Trixter; January 23rd, 2021 at 10:59 PM.
    Offering a bounty for:
    - A working Sanyo MBC-775 or Logabax 1600
    - Music Construction Set, IBM Music Feature edition (has red sticker on front stating IBM Music Feature)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •