Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!philabs!cmcl2!seismo!mcvax!euroies!rshepherd From: rshepherd@euroies.UUCP (Roger Shepherd INMOS) Newsgroups: net.arch,net.micro.mac,net.micro.68k Subject: Re: timing loops Message-ID: <200@euroies.UUCP> Date: Thu, 20-Feb-86 09:46:29 EST Article-I.D.: euroies.200 Posted: Thu Feb 20 09:46:29 1986 Date-Received: Mon, 24-Feb-86 07:25:43 EST References: <221@myrias.UUCP> Organization: University College Dublin Lines: 24 Xref: linus net.arch:2387 net.micro.mac:4781 net.micro.68k:1440 Have a look at the transputer. Apart from a bug in REV A devices, all transputers (no matter what speed selection) run of a standard (5 or 25 Mhz ) clock frequency. This is used to derive the standard comms link speed and the processor clock. The transputer's real time clock/alarm runs at 1 tick per micro-second at high priority, this means that the occam program below will look at (eg) a uart once every 5 uS. The accuracy achievable is quite good as the iunterrupt latency (time to go from low to high priority) is about 58 cycles worst case (2.9 uS for a T414-20 - currently available parts are -12 so are have 4.64 uS latency). PRI PAR SEQ ... initialisation WHILE polling SEQ TIME ? AFTER nextinstance ... poll uart or whatever nextinstance := nextinstance + 5 -- 1 tick per uS ... -- rest of system at low priority -- Roger Shepherd, INMOS Ltd, Whitefriars, Lewins Mead, Bristol, BS1 2NP, UK Tel: +44 272 290861 UUCP: ...!mcvax!euroies!rshepherd