Path: utzoo!attcan!uunet!mcvax!enea!kth!sics!aronsson From: aronsson@sics.se (Lars Aronsson) Newsgroups: comp.arch Subject: Re: RISC != real-time control (actu Message-ID: <1924@sics.se> Date: 15 May 88 20:24:18 GMT Reply-To: aronsson@sics.se (Lars Aronsson) Distribution: comp Organization: Swedish Institue of Computer Science, Stockholm Lines: 42 Followup-To: >>>the code to perform the task must be GUARANTEED to complete >>>within X microseconds. In real-time control, a late answer >>>is a wrong answer. >> >>This may be straying somewhat from the original point, but what sort of >>applications really have such exact timing deadlines?... > >Sometimes microseconds can matter. Our most complicated real-time >system runs a scanning interferometer and a laser. The interferometer Enough! Obviously, real-time applications do exist. No more interferometers in this news group, please. A few years ago, there was a discussion on why you wouldn't use UNIX for real-time applications. This was because of the virtual memory system. Today, we have UNIX clones which allow you to lock a process in main memory, just like the UNIX kernel. Since a virtual memory system is but a cache mechanism for the disk, the following thoughts come naturally to me: Before I start: This might turn out to be Todays Dumb Suggestion. Maybe my ideas are already implemented on lots of systems or totally useless. Please, let me know! As far as I know, RISC instruction caches are a gain only when the processor runs through loops. What about the ability to declare cache-resident functions (procedures/subroutines)? This might not be the solution to real-time applications, but seems potentially useful in many other cases. Things normally managed by super-CISC instructions (decimal arithmetics, string instructions and the like) in such machines, would then be done with neat library functions declared as "register". The CISC equivalent to this would be to allow users to define new machine instructions at run-time. Of course, you would have to decide on what to do on a context switch. Maybe the the register functions should belong to a shared library and be more or less permanently in the cache. Perhaps, this kind of register functions would make the RISC vs CISC debate fade a little.