On the first multiple processors (360/40 and [360/65 later called? - fuzzy old 
memory] 360/67)  in a multitasking program, TS was the only ATOMIC instruction. 
 You obtained lock to a block of storage using whatever lock was setup for that 
block of storage by either the operating system or by the appl system, and then 
it was safe to update.  You released the lock asap.  You ignore the lock at 
your peril.

Using CS and CDS, you pulled a block off a stack.  You designed so that at that 
point, noone had the address of that block of storage, or "knew" not to use it. 
 It was a VTAM application.  Each user block had the address of the dedicated 
task for that user for syncing.

Or you used enques of type SYSTEMS to lock the "key" (whatever that was) of a 
block of storage. as is done today by some application/system systems.

For example in the code I worked on, you wanted to update a VSAM record.  You 
got the record and locked the VSAM key using enque on a certain queue.  When 
you were done, you released the enqueue asap.  For storage, you, the 
programmer, locked a userid in order to maintain any piece of storage chained 
off the root user block.  The user themselves could change any of their control 
blocks that was alowed using same protocol.

-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]] On 
Behalf Of Robin Vowels
Sent: Monday, July 31, 2017 11:50 AM
To: [email protected]
Subject: Re: Question about CPUs

From: "Charles Mills" <[email protected]>
Sent: Monday, July 31, 2017 2:57 PM


> Nay. Many, many instructions are not atomic. On a single CPU, yes. For 
> multiple CPUs, not atomic. Until the z13 (?), for example, NI, OI and 
> XI were interruptible within a reference to a single byte. NI is 
> actually fetch, AND, store. It could be interrupted between the fetch and the 
> store.

What about the decimal instructions? such as AP, SP, MP, DP, and others such as 
NC, OC .... ?

> So two processors doing NI or OI on the same byte could get "logically 
> impossible" results.

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


----------------------------------------- The information contained in this 
communication (including any attachments hereto) is confidential and is 
intended solely for the personal and confidential use of the individual or 
entity to whom it is addressed. The information may also constitute a legally 
privileged confidential communication. If the reader of this message is not the 
intended recipient or an agent responsible for delivering it to the intended 
recipient, you are hereby notified that you have received this communication in 
error and that any review, dissemination, copying, or unauthorized use of this 
information, or the taking of any action in reliance on the contents of this 
information is strictly prohibited. If you have received this communication in 
error, please notify us immediately by e-mail, and delete the original message. 
Thank you

Reply via email to