> On Sep 29, 2026, at 4:03 PM, Antonio Carlini <[email protected]> wrote:
> 
> On 29/09/2026 20:18, Paul Koning wrote:
>> That's certainly a start  but just the bare beginning.
> 
> Very true.
> 
> 
>> I suspect that, unti lthe IBM/360, most machines had word lengths not a 
>> power of two.  For example, none of the DEC machines before the PDP-11.  
>> Older IBM machines had assorted word sizes; CDC and Burroughs ditto.
>> I worked on a 1970s era Philips machine with 24 bits, and there were other 
>> minicomputer with that word length (Modcomp?).  Electrologica had 27 bit 
>> words.
> 
> I went to a (guest) lecture by Dijkstra once, where he mentioned semaphores 
> and the X8, so quite how I missed that one I just don't know!!

You can find the original papers about his invention of semaphores in the EWD 
archive at U Texas.  The oldest ones are in Dutch but I think they were 
translated.  One mentions the original name -- (railroad) signposts, which 
explains the P and V function names, based on the Dutch words "pass" and 
"leave" -- passing the signpost at the start of a railroad block, and leaving 
the block.  I put much of this into the Wikipedia article about semaphores.

The X8 used semaphores in the API of the I/O coprocessor CHARON, to guard the 
request queues and to manage interrupt delivery.  They are also used 
intensively in Dijkstra's THE operating system, with "hardware semaphores" in 
device drivers to block until an interrupt, and "software semaphores" to do 
mutual exclusion, task switching, etc.

The underlying magic is an X8 instruction added to the base X1 set.  There is 
the regular add and subtract operations (add/sub memory to register) but also 
memory-update variants, which add or subtract memory to the register but also 
atomically deliver the result to memory as well.

        paul

Reply via email to