Benchmarking 16 Bit ISA VGA Cards

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey welcome to flash me back this video is a bit of a curiosity because it's part one of two different series I'm working on the first one is a benchmark of 16 and 32-bit I saw a VGA cards which is going to be a two-part series part 1 the video you're watching right now is about the 16-bit Isaac art I own and part 2 will be about 32-bit VESA local bus cards but the more interesting series will be the other one I'm building a 386 sx computer you may or may not be aware of my other retro project das game Club it's basically a book club but for DOS games we play one game together for a month and then we record a podcast about it and some people from the club have started planning a big meet-up and we picked the revision 2019 demo party for that of course we don't want to go there without showing you demo of our own so we started working on one naturally it's going to be a das demo and we want to enter it into the old-school demo competition the rules of that competition say that the computer the demo runs on must use a 16-bit or narrower data bus that's why we picked the 386 Essex anyway I don't know how many episodes the series will be because for the first time I'm going to release the individual videos before the whole series is done I'm sure it'll be fun though of course this free any 6sx machine will need a VGA card and of course we want a fast one I have available so this benchmark will be part one of that series too I traded one of my 46 main parts for a 386 as x-men Bart but I haven't received it yet that's why I'm going to run the benchmarks on a 486 additionally that will allow us to get a better comparison between a 16 and 32-bit cards [Music] now before we dive into the benchmark itself let's first try to understand what we're dealing with what the ice ax and v lb r and y v lb is supposed to be faster let's take a look at a typical 486 main board like this one of course we have the cpu in this case hidden under a big heat sink here on the left is the original ice r r xt bus it can only transport 8 bits at once between the CPU and any expansion card installed here it was introduced with the original IBM PC and it made sense the transport 8 bits at once because the Intel 8088 using these machines also only had an 8-bit data bus to the right of it is the first expansion of this bus the 16-bit SR or 80 bus that was introduced with the IBM PC 80 the 80 used an Intel 80 to 86 that has a 16-bit data bus so it made sense to extend the expansion ports as well originally the isobars ran at the same frequency as the cpu 4.77 megahertz at first and up to 8 megahertz in the 80 but as the cpus got faster the speed of the bus lag behind mostly for compatibility reasons in the meantime so many ISO expansion cards had been on the market that breaking compatibility with all of them would probably mean the computer manufacturer wouldn't sell many machines so that is one of the reasons why the IBM personal system 2 was not very successful they tried to establish a new standard called macro channel architecture that was incompatible with the a service so as CPUs got faster manufacturers had to add more features to the system chipset to separate the CPU from the expansion slots more the chipsets had to produce a second clock signal usually derived from the CPUs clock and produce wait States a method to signal the CPU that it has to wait a bit more for the data to arrive or be written let's say we have a 486 running at 40 megahertz then its local bus that is the connection between it and the memory also runs at 40 megahertz but when it wants to talk to an expansion card in a nice-ass lot the chipset has to slow that signal down to something that works with the expansion cards usually eight megahertz being the most compatible and stable option of course that means that the CPU has to wait five bus cycles for each read arrived at is performing and that has just lost time and there's another thing all 386 TX and all 486 have a 32-bit data bus but the expansion bus only supports transferring 16 bits at once that's another 50 percent performance wasted what if we could transfer a 32 bit at once and that at the speed of the local bus this is where these brown slots come into play they allow doing exactly that these are connected directly to the 486 s local bus their name v lb or VESA local bus because they are basically just an external electrical connection for the 486 s pass they are almost only available on 486 mainboard store effort there have been attempts to build v lb main ports for early Pentium and let 386 machines though they were never very widespread since the VL B is mostly a direct connection to the pins of the 486 you will most often find the CPU very close to these slots v LP is notorious for being comparatively unstable and there were many compatibility issues between carts and the CPUs that's one of the reasons why we lb was soon after replaced by PCI which you can still find on some main boards today in the first card we are going to benchmark is this one it was most likely made by video 7 and according to the dead codes on the chips probably in very late 1989 or early 1990 it uses a video 7 4 5 6 chip and comes with 256 K of memory which is the minimum required for VGA compliant cards for some reason when booting it only shows monochrome but the color output works fine there are a bunch of dip switches and jumpers on it but I couldn't find any manual a reference for them often when there are many switches like those dip switches here they are used to select the refresh rates for certain video modes I will not bother with those now let's start the benchmark at first I'm going to set my main boards BIOS to auto configure the system timing but that means it sets the isobars speed to one-fourth of the CPUs local bus speed ten megahertz now let's put in the DOS and start the benchmark tool I'm going to use a benchmark called with speed 4.0 it mostly measures VGA memory read and write speeds which is the most important thing when it comes to VGA performance in standard video apparation there is no real acceleration for anything so memory throughput is the most important factor the tool does three tests first it measures the transfer speed when writing or reading single bytes and that means only half of the cards data bus connection will be used then it repeats the test with 16-bit writes and reads which uses the whole data bus of the Isar connection but is not the best the CPU could theoretically do last that uses 32-bit writes which of course cannot really happen when communicating with a 16-bit card but the CPU can split the excess into two each this way the CPU has to execute fewer instructions and we should still see a minor performance improvement there is one other factor that influence the overall performance of a vga card the time it takes to perform register writes registers are small buffers for command configuration and during normal use of VGA those have to be written relatively often said the width speed does not matter that but now let's say at the benchmarks started the first time I'll also let with speed measure the speed at which read and write accesses happen in system memory as opposed to video memory this will give us an idea of how important it is to minimize writes to video memory to the absolute minimum required to display what we want here you see the output of its beat in real-time I'm running the test in BIOS mode 13 hex which is probably the most common video mode in videogames there are other modes like the famous modes X&Y but I think since they are pretty similar in terms of resolution and frame rate I think the influence on memory speed should be minimal the video mode can have an influence on the performance because it dictates how often memory is accessed from the card itself which means the CPU cannot access it at the same time and has to wait after all it would be a bad idea to make the card wait for too long while it's outputting the screen and here are the results in the top here you can see the transfer speed to and from system memory the line one shows how many bytes can be transferred using single byte reads and writes the second one will 16-bit reads and writes and the last one with 32-bit reads and writes you can see how the transfer read more or less perfectly doubles with each step just what we would expect now compare that to the read and write performance of the video card it writes about six and a half times slower and reads about five times slower in 8-bit mode and with the wider writes it doesn't actually scale very well not even between 8 and 16 bits these numbers actually make me think that the card might be an 8 bit compatibility mode but without a prescription of the jumpers I won't be able to test that so if you happen to own this card as well and know what the jumpers do please let me know ok that's how fast the card is when sticking to the ISO specification and running it at no more than 10 megahertz but what if we overclocked the bus a bit I repeated the benchmark with 13.3 megahertz and there was hardly any change only 8-bit writes got slightly faster but nothing changed for 16 and 32-bit writes that's another indicator that the card is actually running in 8-bit mode and then I did the same using a 20 megahertz bus speed and now the 8-bit speed is basically the same as the 16-bit speed I also plotted to read speeds for you here we see some gains when going to a higher bus speed but note that this is a different scale than the writes we can also directly compare read and write speeds for this card in this chart we have the write speed in blue and the read speed in red next we have a trident TV GAA t800 CS also from 1989 I got this one with my 286 machine and it's the only card I have an original manual for in case you didn't see it I made a video about my refurbishment of this computer I'll link it here Trident cards have a reputation of not being the fastest cars on the planet let's see how much truth is in this statement but before we get started I just realized that for some reason this card uses UV erasable ROM chips and the window of one of them is not entirely covered it takes relatively strong UV lights to erase those chips but better safe than sorry I'll put some a different cover there the card comes 256k of ram but can be upgraded to 512 K let's check the jumpers the cart has three of them plus a set of dip switches j1 together with dip switches one through four I used to select the monitor type we set them to multi sync analog which is what we need for eg a j2 sets the data bus widths used for accessing the VGA by us if we set this to four eight bits all reads from the ROM like accessing the default character set will be slowed down so naturally we leave it at Auto detect j-3 enables or disables the vertical retrace interrupt since there is not much dos software that can make use of this feature we can keep it disables to avoid resource conflicts with other hardware there are two more tip switches number 5 sets the address decode speed when setting this to fast it will do incomplete but faster address decoding when the CPU is trying to access video memory the disadvantage is that it uses up all the address space reserved for expansion cards so this will likely cause problems with other hardware in the system another disadvantage is that my benchmarks didn't show any improvement in speed so let's keep it at slow the last switch sets the data bus size for accessing video ram from the cpu it is set to allow both 8 and 16-bit and not force it into 8-bit compatibility mode let's leave it like that and these are the results as you can see there was no performance gain when going from 10 to 13 plus 3 megahertz but an improvement by 100% when going from 13 point 3 to 20 megahertz but only for 32-bit accesses I don't think these results are correct though let me explain what I think is going on remember how I showed you how the CPU has to split every 32-bit access to an ice ax we G a card into 2 excess of 16 bit each and that was faster than doing a real 16 bit access now when the CPU wants to write data to the VGA s memory it doesn't really know how fast the heart rate is writing to really is the excess works such that the CPU just issues the write command and then continues doing whatever the next thing it has to do that is unless the car that is being written to is sending a different signal back to the CPU this signal tells the CPU to wait as long as the card is keeping this signal enabled the CPU just Waits this is called a wait state what I think is going on is that the card is not sending the wait set back to the CPU fast enough so the CPU doesn't notice that the card is not ready yet and sends the second 16 bit excess apparently when doing single 16-bit it still works because the interval between two excesses is big enough so we can all the 32-bit ride speed at 20 megahertz for that cart it is a lie the same goes for the rate excesses the next card is an indirect successor of the previous one it's a trident TVG a 9000 b i think it was made in the second half of 92 and already looks a lot more modern it doesn't have the typical VGA feature connector of the older cards so it's not possible to directly connect any different hardware lag impact decoders or TV tuners but I didn't plan on doing any of this anyway so that should not be a problem at all the card comes with 512 K of video memory the jumpers are already set for 16-bit accesses so let's install the card and run the benchmark the results are more or less what you would expect from a card with a few years newer but still a budget model it's right speed is about twice as fast as its predecessors and it does not seem to suffer from communication problems at high assistant bus speeds reading from the cards memory is only about 50% faster though the last card is my favorite of the four 16-bit vga card sion it's a cirrus logic GD v 422 based cart and these have a reputation of being extremely fast this board also uses one megabyte of graphics memory and was made in late 93 or early 94 the only jumper that it has is conveniently labeled as 0ws meaning the card does not produce any extra weight states I'm not entirely sure why this would be something you can configure on a VGA card if it doesn't have memory expansion sockets but it's there I could imagine there can be some incompatibility problems in some cases but we'll just set it to the faster option of zero weight States and run the test there are some mechanical problems with his cart though first of all the slot bracket doesn't seem to be the one that cut originally came with and has the opening for the VGA jack in the wrong location so I'll have to find a different matching bracket and speaking of the VGA jack one of the pins seems to be broken you cannot really see it in the media but the metal contact on the inside is misaligned and it's really hard to plug in the monitor I'll just try to align it for now but I've done that before and it will start obstructing the pin again so I also have to replace the VGA jack but that's irrelevant for the benchmark so let's take a look at the results well that's something this card can be written to almost three times as fast as to the TVJ 9000 B I guess that's the difference between a budget and the high-end car key even back then the difference in read speed is not quite as impressive but still significant being about 50% faster ok let's take a final look at the complete results this chart only shows the read and write speeds at 10 megahertz bus speed I think it's pretty clear which card I'll have to take and also comparing it to system memory speed it's clear that for the demo we're working on writing to view memory must be reduced to the minimum required and reading back should be avoid completely I heard this card can have some compatibility issues with some main boards because relies on a signal that is not necessarily present on all of them we'll see how it works on my new machine and that's it for this episode I hope you enjoyed it and if you did please like subscribe share and all that stats highly appreciate it until next time bye you
Info
Channel: flash /me back
Views: 31,291
Rating: 4.9141984 out of 5
Keywords: retro, vga, 386, 486, vesa, local bus, benchmark, isa, 16 bit, 32 bit, retro computing
Id: mcoZtwO3DG8
Channel Id: undefined
Length: 16min 3sec (963 seconds)
Published: Thu Jul 19 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.