🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #2187

Re: Instruction (dis)continuation

#2187
From: Jeffrey Lee
Date: Mon, 11 Sep 1989 21:17
44 lines
1869 bytes
roelof@idca.tds.PHILIPS.nl (R. Vuurboom) writes:
>In article <1790@cs-spool.calgary.UUCP> deraadt@enme3.UUCP (Theo Deraadt) writes:
>|In article <3267@scolex.sco.COM> seanf@sco.COM (Sean Fagan) writes:
>|Gad. How about a hardware FIFO? How about a serial receive buffer on
>|your generic serial chip? I really doubt this rumour, unless some special
>       What the solution is for your hardware fifo is something I'm
>still trying to figure out :-)

Most of the problems arise from the use of memory-memory instructions.
You SHOULD be OK if you write code that accesses ``critical'' locations
using only a RISC sub-set of the CISC instruction set.  That is if you
use register-register operations and single memory address move
instructions.  That is, convert:

	move fifo,addr1
	add  fifo,addr2

into:

	move fifo,reg
	move reg,addr1
	move fifo,reg1
	move addr2,reg2
	add  reg1,reg2
	move reg2,addr2

You can get away with:

	move fifo,reg
	move reg,addr1
	move fifo,reg
	add  reg,addr2

if addr2 is not a critical variable or the add instruction uses
guaranteed atomic read-modify-write access.

A respectable processor should NOT restart a move instruction with just
one memory operand if the read/write has succeeded.  Therefore an an
exception should not be able to cause the processor to restart the
instruction and re-read the data.  [No bets if the processor has a deep
pipeline--try checking the hardware reference manuals or calling the
manufacturer.]

j.
Technical Details
Message-ID: <1989Sep11.171747.16410@jarvis.csri.toronto.edu>
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!db.toronto.edu!jonah
References: <1790@cs-spool.calgary.UUCP> <255@ssp1.idca.tds.philips.nl>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!db.toronto.edu!jonah
From: jonah@db.toronto.edu (Jeffrey Lee)
Newsgroups: comp.arch
Subject: Re: Instruction (dis)continuation
Message-ID: <1989Sep11.171747.16410@jarvis.csri.toronto.edu>
Date: 11 Sep 89 21:17:48 GMT
References: <1790@cs-spool.calgary.UUCP> <255@ssp1.idca.tds.philips.nl>
Lines: 44