🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.linux.hardware
Article #829

Re: P4 vs Athlon for Linux latexing, is gcc-2.95 responsible?

#829
From: David Kastrup
Date: Tue, 18 Jun 2002 15:56
65 lines
5198 bytes
real-address-in-sig@flur.bltigibbet (Rowland McDonnell) writes:

> David Kastrup <David.Kastrup@t-online.de> wrote:
> 
> >  This lead
> > to longer execution times (and interrupt latencies).  For example,
> > things like rlc (ix+3) took up 23 clock cycles.  In contrast, ld e,3;
> > add hl,de; rlc (hl) took the same cycle count,
> 
> (just out of interest, is this all from memory, or (please tell me that
> you do) do you look up the fine details?)

No payoff.  This is from memory.  When I was wild and young, I
programmed a few arcade games for my Z80 based computer.  One was a
car race, including motor sound (on a text mode frame buffer, ASCII
graphics).  The computer had just an I/O port wired to the speaker.
It had no timer chip.  The pitch of the sound was accurate.  Every
branch in the code and logic took up exactly the same cycle count.
Need an instruction taking 5 cycles?  Use a conditional return
instruction with a condition you know to be false.

Later I programmed a graphics arcade game with graphics (Tutanchamun).
Still no timer chip.  Having gotten lazy, I just counted out
"important" stuff.  Later ported the stuff to SVGAlib (must be around
on sunsite or whatever its successor is called), and this time used
timer chips, and translated the assembly code rather 1:1 to C.  On a
33MHz 80486, the program slowed down in exactly the same manner as the
original (for example, when the screen was full of monsters), so was
playable with just the same schemes, while taking an average true
system load of something like 3% and an executable size of something
like 35kB or so.  Probably a good candidate for "doodle away while
installation progresses".

I also had to write a BIOS first before being able to use my computer
with CP/M.

The resulting brain damage has been pretty thorough.  At least I have
forgotten most opcodes by now: while things like 76, C3, CD, C9, DD,
FD, 00 and so are still present, most of the other stuff isn't.

> Something which was pointed out to me a *long* time ago - I can
> recall getting all excited over the powerful Z80 instructions until
> someone mentioned the time it took to execute 'em.

Take relative branches: one byte shorter opcode, but 12 cycles instead
of 10.  Can conceivably be a win mostly if conditional: absolute
branches always take 10 cycles, conditional branches not taken only
take 7.

> Well, yes; but up until that point, everything you'd said about the
> Z80 made it sound better than the 8080.

It is an 8080 with lots of stuff kludged on.  Its design is messy,
but it does not offer anything less than an 8080 does.  There is no
reason to be using an 8080 instead of a Z80 that I would know of.

IIRC, the bus interface also was easier for tacking hardware on.  The
interrupt system again was, well...  If you used standard IM2
(necessary for Z80 components), the peripherals had to snoop on the
memory bus in order to detect when the Z80 was returning from an
interrupt by looking at the instructions it got.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum
Email: David.Kastrup@t-online.de
Technical Details
Message-ID: <x5ptyoy413.fsf@tupik.goethe.zz>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!bloom-beacon.mit.edu!nycmny1-snh1.gtei.net!news.gtei.net!newsfeed.mathworks.com!news.tele.dk!small.news.tele.dk!193.174.75.178!news-fra1.dfn.de!newsfeed.hanau.net!newsfeed01.sul.t-online.de!newsmm01.sul.t-online.com!t-online.de!news.t-online.com!not-for-mail
References: <3D0B57CB.5060406@nospam.com> <cVYO8.93284$pw3.4355@sccrnsc03> <MPG.1776a491ca74b5bf989edd@powernews.libero.it> <1fdyury.16lgkkf1d22zw9N%real-address-in-sig@flur.bltigibbet> <x5it4h2d58.fsf@tupik.goethe.zz> <1fdyxzl.1eky32lcx38cvN%real-address-in-sig@flur.bltigibbet> <x58z5c3oop.fsf@tupik.goethe.zz> <1fdz2df.191or1l176qjmiN%real-address-in-sig@flur.bltigibbet> <x57kkw2101.fsf@tupik.goethe.zz> <1fdzalw.1bd5trjb4vpaxN%real-address-in-sig@flur.bltigibbet>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f9e16,ea3300a83f1f851c
X-Google-Attributes: gidf9e16,public
X-Google-Thread: 102b32,ea3300a83f1f851c
X-Google-Attributes: gid102b32,public
X-Google-Thread: f65d0,ea3300a83f1f851c
X-Google-Attributes: gidf65d0,public
X-Google-Thread: 1045b9,ea3300a83f1f851c
X-Google-Attributes: gid1045b9,public
X-Google-ArrivalTime: 2002-06-18 09:02:07 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!bloom-beacon.mit.edu!nycmny1-snh1.gtei.net!news.gtei.net!newsfeed.mathworks.com!news.tele.dk!small.news.tele.dk!193.174.75.178!news-fra1.dfn.de!newsfeed.hanau.net!newsfeed01.sul.t-online.de!newsmm01.sul.t-online.com!t-online.de!news.t-online.com!not-for-mail
From: David Kastrup <David.Kastrup@t-online.de>
Newsgroups: comp.os.linux.hardware,gnu.gcc,comp.sys.ibm.pc.hardware.chips,comp.text.tex
Subject: Re: P4  vs Athlon for Linux latexing, is gcc-2.95 responsible?
Date: 18 Jun 2002 17:56:08 +0200
Organization: T-Online
Lines: 65
Sender: dak@tupik.goethe.zz
Message-ID: <x5ptyoy413.fsf@tupik.goethe.zz>
References: <3D0B57CB.5060406@nospam.com> <cVYO8.93284$pw3.4355@sccrnsc03> <MPG.1776a491ca74b5bf989edd@powernews.libero.it> <1fdyury.16lgkkf1d22zw9N%real-address-in-sig@flur.bltigibbet> <x5it4h2d58.fsf@tupik.goethe.zz> <1fdyxzl.1eky32lcx38cvN%real-address-in-sig@flur.bltigibbet> <x58z5c3oop.fsf@tupik.goethe.zz> <1fdz2df.191or1l176qjmiN%real-address-in-sig@flur.bltigibbet> <x57kkw2101.fsf@tupik.goethe.zz> <1fdzalw.1bd5trjb4vpaxN%real-address-in-sig@flur.bltigibbet>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Trace: news.t-online.com 1024415847 07 10295 DNgpb3gTSEABtF 020618 15:57:27
X-Complaints-To: abuse@t-online.com
X-Sender: 520018396234-0001@t-dialin.net
X-Face: 2FEFf>]>q>2iw=B6,xrUubRI>pR&Ml9=ao@P@i)L:\urd*t9M~y1^:+Y]'C0~{mAl`oQuAl
 \!3KEIp?*w`|bL5qr,H)LFO6Q=qx~iH4DN;i";/yuIsqbLLCh/!U#X[S~(5eZ41to5f%E@'ELIi$t^
 Vc\LWP@J5p^rst0+('>Er0=^1{]M9!p?&:\z]|;&=NP3AhB!B_bi^]Pfkw
User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50