Path: utzoo!yunexus!maccs!cs3b3aj From: cs3b3aj@maccs.McMaster.CA (Stephen M. Dunn) Newsgroups: comp.sys.cbm Subject: Re: what is this chip(65C802) Summary: 6502 Family has some _serious_ design problems Message-ID: <2310@maccs.McMaster.CA> Date: 2 Apr 89 19:50:40 GMT Article-I.D.: maccs.2310 References: <16510@cup.portal.com> <7734@killer.Dallas.TX.US> Reply-To: cs3b3aj@maccs.UUCP (Stephen M. Dunn) Organization: McMaster U., Hamilton, Ont., Can. Lines: 81 In article <7734@killer.Dallas.TX.US> elg@killer.Dallas.TX.US (Eric Green) writes: >in article <16510@cup.portal.com>, A-N-Onymouse@cup.portal.com (John - DeBert) says: >$ 8MHz is too fast for DRAM? Shhh! Don't tell my HP! It has DRAM and an 8MHz >$ clock. Plus a faster one for the alphagraphics display. :) >$ Seriously, one wonders how one may get DRAM to work with those so-called >$ turbo clones with clocks of at least 8MHz. >$ Also, I have seen 70ns DRAMS advertised from time to time. That's how they get DRAM to work with turbo clones - they use faster DRAMS (or at least, that's part of it). I'm writing this on an AT-clone running at 12 MHz, one wait state, but I could get it down to zero wait states with readily available 80 ns memory. As for the really fast 386 machines, they use caches to achieve better performance (and some of them are huge - I've seen machines with 64K SRAM caches!); that's mentioned later on in the article. I believe the intent of whoever said 8 MHz is too fast for DRAM was that the chips in the 64 were too slow, not that DRAM as a whole is too slow. > >The 8080sux emulates the bus cycles of it's 8080 ancestory, which is >identical to the bus cycle of the Z-80 which we previously discussed. Just to make sure nobody gets the idea that the 8080 was based on the Z-80, it's the other way round. >An 8080sux takes 4 clock cycles to read a byte from the bus. The 6502, >65c02, etc. take 1 clock cycle. Thus a 8 mhz 6502 would be the >equivalent of a 32mhz 8086-based machine. Considering that 80x6-based The problem with your argument is that you assume that everything on an 8086 takes four times as long as on a 6502. I'd like to see you get a 6502 to do a 16-bit signed integer division in under 50 clock cycles (which would be four times faster than an 8086), or do based indexed addressing on a pitiful CPU with two 8-bit index registers. You're quite right about how dreadfully slow 8086 memory accesses are; however, make sure that you don't get everybody out there in NetLand thinking that they should sell their XT clones and buy a 64. By the way, part of the reason why 8086 memory accesses are so slow is the fact that the data and address buses are multiplexed, so you need extra time to access the data; also, I'm sure that the time required to add in the segment register slows it down by a cycle or so. >machines are having trouble getting RAM fast enough to run at 25mhz >(they're going to static caches, interleaved DRAM, etc.), you begin to >see the memory problems of an 8mhz 6502 (although because it can only >address 64K of RAM, using fast SRAM is certainly a good option). One of the major problems with most DRAM is that its address bus is multi- plexed and, without some nifty hardware (which is sometimes incorporated into the DRAM chip) to determine if the current memory access is in the same page of DRAM as the previous one, this generally adds something like 50% to the time it would take were the address bus not multiplexed. (Do you get the feeling I'm not a great fan of multiplexing buses to save space and waste time? ;-) But back to the 6502 family; it's a seriously flawed processor (not that the 8086 family doesn't have flaws - it does too, of course). Unlike many other 8-bit processors (Z-80, 8080, 8085), it is incapable of doing anything with 16-bit quantities unless you write your own code to do it. Its stack is limited to 256 bytes. If you want to do math, you can't use your other two registers - they're stricly for indexing or temporary storage; one operand comes from the accumulator, and the other has to be fetched from memory. And it forces you to waste some of your memory space for I/O. Of course, it does have some nice features. It has more addressing modes than your average 8-bit micro; it can perform decimal arithmetic; it is optimized for quick access to one page of memory, and it has short branch instructions. One thing we have to watch out for here is comparing apples (with a small a) to oranges - the 6502 and 8080 families were designed in the early seventies, and they're 8-bit chips, whereas the 8086 family came out in the late seventies and are 16 bits (or more). The 6502 and the 8086 aren't really comparable (as my example a couple of pages ago, on 16-bit integer division, was meant to show). Regards, -- ====================================================================== ! Stephen M. Dunn, cs3b3aj@maccs.McMaster.CA ! DISCLAIMER: ! ! I always wanted to be a lumberjack! - M.P. ! I'm only an undergrad ! ======================================================================