comp.lang.ada
 help / color / mirror / Atom feed
* Re: Interrupt Handlers with Alsys Ada
@ 1993-04-08 23:07 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!cs.utexas.edu!csc.ti.com!til
  0 siblings, 0 replies; only message in thread
From: cis.ohio-state.edu!zaphod.mps.ohio-state.edu!cs.utexas.edu!csc.ti.com!til @ 1993-04-08 23:07 UTC (permalink / raw)


In article <1993Apr8.183659.29253@nosc.mil> sampson@cod.nosc.mil (Charles H. Sa
mpson) writes:
>     We are having difficulty in handling interrupts using Alsys Ada.  We
>are losing certain interrupts that require immediate servicing and that
>occur very close together, approximately 7 microseconds apart.
>
>     Our platform is a 33 MHz 386, executing in real mode.  We are compil-
>ing with the Alsys 286 compiler.  For various reasons involving special
>boards and COTS software, we cannot use an Alsys 386 compiler.  The board
>does not have any on-board buffering.

You have a real problem.  7 usec is 231 clock cycles on a 33 MHz processor.
That is about 60 instructions on a 386.  I doubt very much that you can get
in and out of an interrupt handler in Ada in 60 instructions and still do
anything useful.

My suggestion would be to take advantage of your assembly language excuse,
the one in your contract that says you can do some small amount of really
time-critical stuff in assembly, and do the interrupt handler there.  At
the same time, you get to wire the handler to check for the second interrupt
before going away, and do it all in one pass.

While you are at it: have your program manager shoot the system engineer
who signed off on the design that required two interrupts 7 usec apart.
Preferably in front of the entire project team, with the company system
engineering community watching and learning.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~1993-04-08 23:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1993-04-08 23:07 Interrupt Handlers with Alsys Ada cis.ohio-state.edu!zaphod.mps.ohio-state.edu!cs.utexas.edu!csc.ti.com!til

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox