how long will it take?

hi,when I read a data from a I/O card,how long will it take?
more than 1msec or less?thank!

jgp <gpjin@nairc.ac.cn> wrote:

hi,when I read a data from a I/O card,how long will it take?
more than 1msec or less?thank!

Most reads from I/O space (x86) occur as a CPU bus cycle through
some peripheral controller (possibly) – I’d be amazed if this
took anything more than a few microseconds (depending on which
bus, PCI or ISA)…

We’re talking about an x86 “in” instruction – very fast!

On non-x86 systems, we’re talking about a memory read – also very fast!

Cheers,
-RK


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Consulting and Training at www.parse.com

thanks for your answer,
mine is through PCI(x86).
but the time required must be less than 0.1 msec,
can I ?
<nospam94@parse.com> wrote in message news:9r671k$n4k$1@inn.qnx.com

jgp <> gpjin@nairc.ac.cn> > wrote:
hi,when I read a data from a I/O card,how long will it take?
more than 1msec or less?thank!

Most reads from I/O space (x86) occur as a CPU bus cycle through
some peripheral controller (possibly) – I’d be amazed if this
took anything more than a few microseconds (depending on which
bus, PCI or ISA)…

We’re talking about an x86 “in” instruction – very fast!

On non-x86 systems, we’re talking about a memory read – also very fast!

Cheers,
-RK


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Consulting and Training at > www.parse.com

In 100 micro-seconds, you can read a regular PCI bus about three times and a
fast (66MHz) bus almost seven – IF the CPU has the bus. Because of bus
mastering by peripherals, an upper bound may be hard to define. You need to
carefully consider what else is on your bus. If nothing else can take over
your PCI bus, you should be able to safely make one or two reads within your
0.1 msec limit.

jgp wrote:

thanks for your answer,
mine is through PCI(x86).
but the time required must be less than 0.1 msec,
can I ?
nospam94@parse.com> > wrote in message news:9r671k$n4k$> 1@inn.qnx.com> …
jgp <> gpjin@nairc.ac.cn> > wrote:
hi,when I read a data from a I/O card,how long will it take?
more than 1msec or less?thank!

Most reads from I/O space (x86) occur as a CPU bus cycle through
some peripheral controller (possibly) – I’d be amazed if this
took anything more than a few microseconds (depending on which
bus, PCI or ISA)…

We’re talking about an x86 “in” instruction – very fast!

On non-x86 systems, we’re talking about a memory read – also very fast!

Cheers,
-RK


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Consulting and Training at > www.parse.com

Dean Douthat <ddouthat@faac.com> wrote:

In 100 micro-seconds, you can read a regular PCI bus about three times and a
fast (66MHz) bus almost seven – IF the CPU has the bus. Because of bus
mastering by peripherals, an upper bound may be hard to define. You need to
carefully consider what else is on your bus. If nothing else can take over
your PCI bus, you should be able to safely make one or two reads within your
0.1 msec limit.

Ok, now I’m confused. Why would it take 33us to do a read??? (100 us / 3)
Surely you meant to say “three thousand times”? My PDP-8 can read magnetic
core memory faster than 33 us :slight_smile: 33ns sounds better… (1/33ns=30MHz)

However, I’ll agree that our “Three” vs “Three thousand” discussion has no
effect on bus mastering :slight_smile:

Cheers,
-RK

jgp wrote:

thanks for your answer,
mine is through PCI(x86).
but the time required must be less than 0.1 msec,
can I ?
nospam94@parse.com> > wrote in message news:9r671k$n4k$> 1@inn.qnx.com> …
jgp <> gpjin@nairc.ac.cn> > wrote:
hi,when I read a data from a I/O card,how long will it take?
more than 1msec or less?thank!

Most reads from I/O space (x86) occur as a CPU bus cycle through
some peripheral controller (possibly) – I’d be amazed if this
took anything more than a few microseconds (depending on which
bus, PCI or ISA)…

We’re talking about an x86 “in” instruction – very fast!

On non-x86 systems, we’re talking about a memory read – also very fast!

Cheers,
-RK


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Consulting and Training at > www.parse.com


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Consulting and Training at www.parse.com

Hi Dean

I don’t know what the numbers should be but they sounded dreadfully slow to
me too.


Bill Caroselli – 1(530) 510-7292
Q-TPS Consulting
QTPS@EarthLink.net


<nospam94@parse.com> wrote in message news:9rmc3i$n2n$1@inn.qnx.com

Dean Douthat <> ddouthat@faac.com> > wrote:
In 100 micro-seconds, you can read a regular PCI bus about three times
and a
fast (66MHz) bus almost seven – IF the CPU has the bus. Because of
bus
mastering by peripherals, an upper bound may be hard to define. You
need to
carefully consider what else is on your bus. If nothing else can take
over
your PCI bus, you should be able to safely make one or two reads within
your
0.1 msec limit.

Ok, now I’m confused. Why would it take 33us to do a read??? (100 us /
3)
Surely you meant to say “three thousand times”? My PDP-8 can read
magnetic
core memory faster than 33 us > :slight_smile: > 33ns sounds better… (1/33ns=30MHz)

However, I’ll agree that our “Three” vs “Three thousand” discussion has no
effect on bus mastering > :slight_smile:

Cheers,
-RK

jgp wrote:

thanks for your answer,
mine is through PCI(x86).
but the time required must be less than 0.1 msec,
can I ?
nospam94@parse.com> > wrote in message news:9r671k$n4k$> 1@inn.qnx.com> …
jgp <> gpjin@nairc.ac.cn> > wrote:
hi,when I read a data from a I/O card,how long will it take?
more than 1msec or less?thank!

Most reads from I/O space (x86) occur as a CPU bus cycle through
some peripheral controller (possibly) – I’d be amazed if this
took anything more than a few microseconds (depending on which
bus, PCI or ISA)…

We’re talking about an x86 “in” instruction – very fast!

On non-x86 systems, we’re talking about a memory read – also very
fast!

Cheers,
-RK


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Consulting and Training at
www.parse.com

\

Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Consulting and Training at > www.parse.com

“Dean Douthat” <ddouthat@faac.com> wrote in message
news:3BDEAEB0.81083829@faac.com

In 100 micro-seconds, you can read a regular PCI bus about three times and
a
fast (66MHz) bus almost seven – IF the CPU has the bus. Because of
bus
mastering by peripherals, an upper bound may be hard to define. You need
to
carefully consider what else is on your bus. If nothing else can take
over
your PCI bus, you should be able to safely make one or two reads within
your
0.1 msec limit.

Given PCI bus at 33Mzh, a read would take ~30 nanosec. So it’s not
3 read per 100 micro but rather ~3000 read per 100 micro.

jgp wrote:

thanks for your answer,
mine is through PCI(x86).
but the time required must be less than 0.1 msec,
can I ?
nospam94@parse.com> > wrote in message news:9r671k$n4k$> 1@inn.qnx.com> …
jgp <> gpjin@nairc.ac.cn> > wrote:
hi,when I read a data from a I/O card,how long will it take?
more than 1msec or less?thank!

Most reads from I/O space (x86) occur as a CPU bus cycle through
some peripheral controller (possibly) – I’d be amazed if this
took anything more than a few microseconds (depending on which
bus, PCI or ISA)…

We’re talking about an x86 “in” instruction – very fast!

On non-x86 systems, we’re talking about a memory read – also very
fast!

Cheers,
-RK


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Consulting and Training at
www.parse.com

Oops, right you are, slipped a K there. But the indeterminism problem remains.

nospam94@parse.com wrote:

Dean Douthat <> ddouthat@faac.com> > wrote:
In 100 micro-seconds, you can read a regular PCI bus about three times and a
fast (66MHz) bus almost seven – IF the CPU has the bus. Because of bus
mastering by peripherals, an upper bound may be hard to define. You need to
carefully consider what else is on your bus. If nothing else can take over
your PCI bus, you should be able to safely make one or two reads within your
0.1 msec limit.

Ok, now I’m confused. Why would it take 33us to do a read??? (100 us / 3)
Surely you meant to say “three thousand times”? My PDP-8 can read magnetic
core memory faster than 33 us > :slight_smile: > 33ns sounds better… (1/33ns=30MHz)

However, I’ll agree that our “Three” vs “Three thousand” discussion has no
effect on bus mastering > :slight_smile:

Cheers,
-RK

jgp wrote:

thanks for your answer,
mine is through PCI(x86).
but the time required must be less than 0.1 msec,
can I ?
nospam94@parse.com> > wrote in message news:9r671k$n4k$> 1@inn.qnx.com> …
jgp <> gpjin@nairc.ac.cn> > wrote:
hi,when I read a data from a I/O card,how long will it take?
more than 1msec or less?thank!

Most reads from I/O space (x86) occur as a CPU bus cycle through
some peripheral controller (possibly) – I’d be amazed if this
took anything more than a few microseconds (depending on which
bus, PCI or ISA)…

We’re talking about an x86 “in” instruction – very fast!

On non-x86 systems, we’re talking about a memory read – also very fast!

Cheers,
-RK


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Consulting and Training at > www.parse.com


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Consulting and Training at > www.parse.com

You must still take into account the CPU processing time to execute your
code
that reads the bus do you not? And what othe processing that has to take
place
with the data you have just read. :slight_smile:

“Mario Charest” <mcharest@clipzinformatic.com> wrote in message
news:9rmj15$272$1@inn.qnx.com

“Dean Douthat” <> ddouthat@faac.com> > wrote in message
news:> 3BDEAEB0.81083829@faac.com> …
In 100 micro-seconds, you can read a regular PCI bus about three times
and
a
fast (66MHz) bus almost seven – IF the CPU has the bus. Because of
bus
mastering by peripherals, an upper bound may be hard to define. You
need
to
carefully consider what else is on your bus. If nothing else can take
over
your PCI bus, you should be able to safely make one or two reads within
your
0.1 msec limit.

Given PCI bus at 33Mzh, a read would take ~30 nanosec. So it’s not
3 read per 100 micro but rather ~3000 read per 100 micro.


jgp wrote:

thanks for your answer,
mine is through PCI(x86).
but the time required must be less than 0.1 msec,
can I ?
nospam94@parse.com> > wrote in message news:9r671k$n4k$> 1@inn.qnx.com> …
jgp <> gpjin@nairc.ac.cn> > wrote:
hi,when I read a data from a I/O card,how long will it take?
more than 1msec or less?thank!

Most reads from I/O space (x86) occur as a CPU bus cycle through
some peripheral controller (possibly) – I’d be amazed if this
took anything more than a few microseconds (depending on which
bus, PCI or ISA)…

We’re talking about an x86 “in” instruction – very fast!

On non-x86 systems, we’re talking about a memory read – also very
fast!

Cheers,
-RK


Robert Krten, PARSE Software Devices +1 613 599 8316.
Realtime Systems Architecture, Consulting and Training at
www.parse.com