this post was submitted on 05 Oct 2024
293 points (99.0% liked)

Programmer Humor

19724 readers
54 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
293
PS/2 things (lemmy.world)
submitted 1 month ago* (last edited 1 month ago) by [email protected] to c/programmer_humor
 

In todays edition of "stuff that I found in my storage" a PS/2 meme

Image transcription:

mov rax, rbx add rax, rcx HELLO IT'S THE KEYBOARD I HAVE AN IMPORTANT MESSAGE E

you are viewing a single comment's thread
view the rest of the comments
[–] Gobbel2000 8 points 1 month ago (2 children)

Does USB not use interrupts?

[–] [email protected] 14 points 1 month ago (3 children)
[–] [email protected] 10 points 1 month ago* (last edited 1 month ago) (1 children)

Actually it's both, there's polling with a timeout interrupt if an incoming urb hasn't been processed quickly.

https://crlab.ece.ucr.edu/usbgps/ohci_uhci.html

This way you can take them in batches at regular intervals.

[–] [email protected] 4 points 1 month ago

It makes sense given that even microcontrollers (which are a lot simpler than microprocessors) have dedicated hardware doing the send/receive part of the work which is independent of the processing core and will only fire interrupts if the send or receive buffers reach an empty state.

This way of doing things was already usual before USB for things like I2C, Serial and SPI and whilst the USB protocol is significantly more complex, the same kind of design was also used for it.

[–] [email protected] 2 points 1 month ago

Does usb use general dma or just a small n-byte buffer that needs regular servicing?

(The last time I cared about serial IO it was for an atari 800, curious what the state of the art is.)

[–] [email protected] 2 points 1 month ago

Oh, is that what the frequency I can set in my mouse app for? So it does the USB polling more frequently?

[–] [email protected] 3 points 1 month ago

It uses polling afaik