Patents Represented by Attorney Bernard M. Goldman
  • Patent number: 4598364
    Abstract: The disclosure describes a separate trace table for each CPU in an MP to avoid inter-CPU interference in making trace table entries for explicit and implicit tracing instructions enabled by flag bits in a control register (CR). Explicit tracing entries are made for an enabled explicit tracing instruction. Implicit tracing entries are made for predetermined instructions (when enabled for tracing) which do not have tracing as their primary purpose. A storage operand of the trace instruction contains a disablement field and optionally may contain an enablement-controlling class field to improve the integrity of traceable programs. A time stamp and range of general register contents is provided in each trace table entry for a tracing instruction. The time stamp enables all trace tables in an MP system to be later merged into a single trace table whenever required.
    Type: Grant
    Filed: June 29, 1983
    Date of Patent: July 1, 1986
    Assignee: International Business Machines Corporation
    Inventors: Peter H. Gum, Arthur L. Levin, Ronald M. Smith, John H. Wilson
  • Patent number: 4590550
    Abstract: The disclosure provides an embedded hardware/software monitor for a data processing system. It embeds and distributes a plurality of instrumentation table units (ITUs) within various hardware entities in the system to collect sampled hardware signals local in the hardware entity in which the respective ITU is embedded, e.g. in each CPU, I/O processor, system controller, main storage controller, etc. Instrumentation measurement is controlled centrally in the system. Sampling of the system signals is done periodically at a low-rate relative to the CPU machine cycle rate, and the sampled signal are collected in the ITUs for instrumentation analysis. Sampling pulses are synchronously provided in all ITUs in the system. The ITU collected hardware signals are related to software controlled trace entries made in a trace table (TT) in main storage by each CPU in the system executing tracing and other predetermined instructions.
    Type: Grant
    Filed: June 29, 1983
    Date of Patent: May 20, 1986
    Assignee: International Business Machines Corporation
    Inventors: John H. Eilert, Arthur L. Levin, Thomas Julian
  • Patent number: 4581702
    Abstract: This disclosure improves data processing system integrity by assigning content types to virtual pages and using the assigned content types to enforce special access rules. The page content types are: (a) any changeable data and/or any executable instructions (current S/370); (b) SCP executable instructions and/or unchangeable data (SENC); (c) SCP restrictively changeable data only (system DO); and optionally (d) application data only (user DO). Page content type designation is done by providing in each PTE two integrity control flag bits called herein SENC and DO. In the first embodiment, the SENC and DO bits are separately coded to respectively control access to SENC and system DO page types. In a second embodiment the SENC and DO bits are combinatorially encoded to obtain four types. A new system integrity state, the SCP state, is provided to protect SENC and system DO page usage. The SCP state is initiated by a hardware interrupt, i.e.
    Type: Grant
    Filed: January 10, 1983
    Date of Patent: April 8, 1986
    Assignee: International Business Machines Corporation
    Inventors: Stephen F. Saroka, Glenn C. Smith
  • Patent number: 4564903
    Abstract: The disclosure provides a unique multiprocessing (MP) method for executing on plural CPUs of the MP a uniprocessor system (UPS) program not written to run on a MP system. Separate copies of the UPS are provided in the shared main storage (MS) of the MP. A hypervisor type of control program (called a partitioned multiprocessing system, PMP) uses the MP method to enable simultaneous execution of the plural copies of a UPS on different CPUs of the MP as UPS guest virtual machines. PMP can dedicate any CPU to the sole execution of a particular copy of UPS. The copies of the UPS run on the different CPUs independently of each other, but they may share I/O devices.
    Type: Grant
    Filed: October 5, 1983
    Date of Patent: January 14, 1986
    Assignee: International Business Machines Corporation
    Inventors: Richard R. Guyette, Eddie T. Hall, Allan S. Meritt, Stephen R. Newson, Casper A. Scalzi, Glenn W. Sears, Jr.
  • Patent number: 4521846
    Abstract: The disclosure provides a general purpose register (GR) mask which associates predesignated address spaces with respective GRs assigned to contain a base value for calculating logical addresses within the address spaces. An address space mask register has a plurality of digit positions which receive the respective digit values comprising a particular GR mask. A respective digit position is selected by a base GR address signal provided by a storage address request from a CPU instruction decoder. The particular value of the selected digit in the mask register controls the selection among a plurality of STO registers, which designate a plurality of simultaneously available address spaces. The selected base GR is used in a System/370 B, D or X, B, D type of logical storage address representation. A base GR explicitly contains an intra-address-space base value.
    Type: Grant
    Filed: February 20, 1981
    Date of Patent: June 4, 1985
    Assignee: International Business Machines Corporation
    Inventors: Casper A. Scalzi, Richard J. Schmalz
  • Patent number: 4513367
    Abstract: A lock array is provided with bit positions corresponding to each line entry in an associated cache directory. When a lock bit is on, it inhibits the castout, replacement, or invalidation of the associated cache line, which operations are allowed when the lock bit is off. The lock bit may be in an off state while an associated valid bit is set on, but once the lock bit is set on the valid bit cannot be set off until the lock bit is first set off. Lock array controls operate with a replacement selection circuit (which may be conventional) to eliminate each locked line from being a replacement candidate in its congruence class in a set-associative store-in-cache in a multiprocessor (MP). The lock array enables simultaneous reset of all lock bits at each checkpoint without disturbing the status of the associated cache directory. A special type of IE operand request, called a store-interrogate (SI) request, is used to lock the accessed line, whether or not the SI request hits or misses in the cache.
    Type: Grant
    Filed: March 23, 1981
    Date of Patent: April 23, 1985
    Assignee: International Business Machines Corporation
    Inventors: Shiu K. Chan, John A. Gerardi, Bruce L. McGilvray
  • Patent number: 4503497
    Abstract: The disclosure provides a plurality of embodiments for controlling the bus paths for a line of data from any cache in a multiprocessing system (MP) to any requesting cache or I/O channel processor in the MP. The data transfers can occur in parallel among plural CPU caches, channel processors and main storage (MS) sections using crosspoint switches in a manner which utilizes the high circuit count of LSI modules without substantially utilizing the module I/O pin count to enable MP structures to contain more CPUs than could be contained with conventional bussing.
    Type: Grant
    Filed: May 27, 1982
    Date of Patent: March 5, 1985
    Assignee: International Business Machines Corporation
    Inventors: Matthew A. Krygowski, Benedicto U. Messina, William D. Silkman
  • Patent number: 4494189
    Abstract: The embodiment obtains rapid switching between system control programs (SCPs) by switching an address in a prefix register in a CPU of a MP or UP data processing system from a guest SCP's PSA (program save area) to a host SCP's PSA by fetching the host prefix value from a predetermined control block in main storage. The prefix register loading changes the control of the CPU from a preferred guest SCP to a host SCP. This SCP switching is done by hardware and/or microcode means in the CPU. It further detects preset states in the CPU that enable a rapid determination of which SCP is to handle a sensed event, permitting the guest SCP to immediately handle events predetermined to belong to the guest. This manner of CPU control obtains for a preferred guest SCP (such as MVS/370) operating under a host SCP (such as VM/370) nearly the efficiency of standalone execution on the CPU by the preferred guest SCP.
    Type: Grant
    Filed: April 26, 1982
    Date of Patent: January 15, 1985
    Assignee: International Business Machines Corporation
    Inventors: George H. Bean, Peter H. Gum
  • Patent number: 4484267
    Abstract: The hybrid cache control provides a sharing (SH) flag with each line representation in each private CP cache directory in a multiprocessor (MP) to uniquely indicate for each line in the associated cache whether it is to be handled as a store-in-cache (SIC) line when its SH flag is in non-sharing state, and as a store-through (ST) cache line when its SH flag is in sharing state. At any time the hybrid cache can have some lines operating as ST lines, and other lines as SIC lines.A newly fetched line (resulting from a cache miss) has its SH flag set to non-sharing (SIC) state in its location determined by cache replacement selection circuits, unless the SH flag for the requested line is dynamically set to sharing (ST) state and if a cross-interrogation (XI) hit in another cache is found by cross-interrogation (XI) controls, which XIs all other cache directories in the MP for every store or fetch cache miss and for every store cache hit of a ST line (having SH= 1).
    Type: Grant
    Filed: December 30, 1981
    Date of Patent: November 20, 1984
    Assignee: International Business Machines Corporation
    Inventor: Robert P. Fletcher
  • Patent number: 4482956
    Abstract: Each embodiment enables a single chained queue to have parallel operations by plural element insertion routines and one deletion routine which may be simultaneously executing asynchronously on plural processors for deleting an element, while inserting one or more anchor-pointed elements. This is done by providing a dequeueing lock which is only examined by a program routine which is to delete an element, but is not examined by any program routine which is to make an insertion of an anchor-pointed element into the queue using a System/370 compare and swap instruction. The embodiments provide efficient processing in a non-pure LIFO queue, which is non-pure because the queue can, at the user's option, be used for either LIFO or non-LIFO dequeueing. No lock is used on the queue when inserting anchor-pointed elements. A special case of non-LIFO processing is FIFO (first-in/first-out) processing, which finds the last element in the queue as the required element.
    Type: Grant
    Filed: November 4, 1982
    Date of Patent: November 13, 1984
    Assignee: International Business Machines Corporation
    Inventor: Peter H. Tallman
  • Patent number: 4476524
    Abstract: The embodiment provides an independent data bus path between a random access page storage (PS), and a main storage (MS), wherein this independent data bus does not pass through any channel processor (CH) or central processor (CP). Page data transfers on the independent data bus can be controlled either (1) asynchronously by a channel processor (independently of any central processor instruction stream), or (2) synchronously by a CP (independently of any CH operation). Novel CP instructions enable the CP to synchronously control the transfer of pages in either direction on the independent data bus.A channel program for controlling the page transfer may be initiated by a start I/O (SIO) or start subchannel (SSCH) instruction in the CPU, and it accesses a special field in a channel address word (CAW) that designates the use of the page storage. Novel PS channel command words (CCWs) in the channel program enable CH to control page transfers on the independent data bus.
    Type: Grant
    Filed: July 2, 1981
    Date of Patent: October 9, 1984
    Assignee: International Business Machines Corporation
    Inventors: David T. Brown, Don W. Rain, Richard J. Schmalz
  • Patent number: 4472790
    Abstract: The embodiment provides selective supervisory disablement of fetch protection for a special storage subarea (such as for the first half of the first 4KB block) while fetch protection is enabled for an area containing the subarea by a single storage protect key. That is, the fetch protect for the subarea (normally provided in the fetch protect for the entire area) by the area's protect key is overriden by the selective subarea disablement control, so that accesses to the subarea are not fetch protected by the storage key. The override protection control is secured by its enablement via a field position in a control register only accessible to supervisory programming. Thus, while fetch protection is set on for a predefined 4KB block, the fetch protect override controls can disable the fetch protection for a portion of the block's real addresses (e.g. addresses 0-2047).
    Type: Grant
    Filed: February 5, 1982
    Date of Patent: September 18, 1984
    Assignee: International Business Machines Corporation
    Inventors: John L. Burk, Justin R. Butwell, Carl E. Clark, John T. Rodell, David E. Stucki
  • Patent number: 4464712
    Abstract: The disclosure controls the replacement selection of entries in a second level (L2) cache directory of a storage hierarchy using replaced and hit addresses of a dynamic look-aside translation buffer (DLAT) at the first level (L1) in the hierarchy which receives CPU storage requests along with the CPU cache and its directory. The DLAT entries address page size blocks in main storage (MS).The disclosure provides a replacement (R) flag for each entry in the L2 directory, which represents a page size block in the L2 cache. An R bit is selected and turned on by the address of a DLAT replaced page which is caused by a DLAT miss to indicate its associated page is a candidate for replacement in the L2 cache. However, the page may continue to be accessed in the L2 cache until it is actually replaced. An R bit is selected and turned off by a CPU request address causing a DLAT hit and a L1 cache miss to indicate its associated L2 page is not a candidate for replacement.
    Type: Grant
    Filed: July 6, 1981
    Date of Patent: August 7, 1984
    Assignee: International Business Machines Corporation
    Inventor: Robert P. Fletcher
  • Patent number: 4463420
    Abstract: The disclosure describes a novel cache directory entry replacement method and means for central processors (CPs) in a multiprocessor (MP) based on task identifiers (TIDs) provided in each directory entry to identify the program task which inserted the respective entry. A remote TID register is provided to receive the TID from any remote CP in the MP on each cache miss cross-interrogation hit from any remote CP. Each time a respective CP (i.e. local CP) makes a storage request to its private cache directory, a congruence class in the directory is selected and the TIDs in the selected class are compared to any remote TID in the CP's remote TID register. A TID candidate is any entry in the class which compares equal to the remote TID and is not equal to the current local processor TID. It is identified as a candidate for replacement in the local cache directory on a cache miss.
    Type: Grant
    Filed: February 23, 1982
    Date of Patent: July 31, 1984
    Assignee: International Business Machines Corporation
    Inventor: Robert P. Fletcher
  • Patent number: 4456954
    Abstract: Translation look aside buffer (TLB) hardware is provided in a central processor (CP) that receives the results of double-level address translations to eliminate the need for having shadow tables for the second-level in a virtual machine (VM) environment. Hardware is provided for indicating whether a requested address sent by the CP Instruction Execution (IE) unit for translation is a guest or host/native request, and for a guest request whether it is a real or virtual address. Intermediate translations for a double-level translation may or may not be inhibited from being loaded into the TLB. Guest entries may be purged from the TLB without disturbing any host entries. An accelerated preferred guest mode in the CP forces single-level translation hardware to translate each accelerated preferred guest request. A non-accelerated guest request may instead be translated by microcode. A limit check register is provided to check preferred guest addresses without causing performance degradation.
    Type: Grant
    Filed: June 15, 1981
    Date of Patent: June 26, 1984
    Assignee: International Business Machines Corporation
    Inventors: Robert J. Bullions, III, Thomas O. Curlee, III, Peter H. Gum, Bruce L. McGilvray, Ethel L. Richardson
  • Patent number: 4441155
    Abstract: The described embodiment modifies cache addressing in order to decrease the cache miss rate based on a statistical observation that the lowest and highest locations in pages in main storage page frames are usually accessed at a higher frequency than intermediate locations in the pages. Cache class addressing controls are modified to change the distribution of cache contained data more uniformly among the congruence classes in the cache (by comparison with conventional cache class distribution). The cache addressing controls change the congruence class address as a function of the state of a higher-order bit or field in any CPU requested address.
    Type: Grant
    Filed: November 23, 1981
    Date of Patent: April 3, 1984
    Assignee: International Business Machines Corporation
    Inventors: Robert P. Fletcher, Daniel B. Martin
  • Patent number: 4435755
    Abstract: For a CPU I/O request, the disclosed methods find a physical channel path within a logical channel (LCH) likely to be connectable to a requested device by using channel path count (CAT count) fields. The CAT counts respectively indicate the current number of uncompleted requests accepted by the respective physical channels in the data processing system. An available physical channel in the LCH with the smallest CAT count is found as the candidate channel path for a connection attempt to the requested device. If the lowest CAT count is equal for plural available channel paths, any of these plural channel paths may be selected as the candidate channel path. The CAT count for a channel path is incremented for each successful connection of any device to that channel path. The CAT count for a channel path is decremented upon receiving a signal indicating that a successfully connected I/O device has completed the operation for a request.
    Type: Grant
    Filed: December 28, 1981
    Date of Patent: March 6, 1984
    Assignee: International Business Machines Corporation
    Inventor: Allan S. Meritt
  • Patent number: 4435759
    Abstract: The disclosure provides a hardware monitor device connectable to a large high speed processor (in a uniprocessor or multiprocessor system) to correlate software activity to hardware activity by capturing samples of instruction addresses (which are architecturally visable to the software) that cause the occurrence of the monitored activity manifested by electrical signals in processor circuit (e.g. setting of a latch), and recording the instruction addresses with a designation of the monitored event(s) (e.g. a DLAT reference or cache misses). The embodiment samples which instructions are to be captured by selecting one per N number of samplings of a specified event to be monitored.
    Type: Grant
    Filed: June 15, 1981
    Date of Patent: March 6, 1984
    Assignee: International Business Machines Corporation
    Inventors: Richard I. Baum, Frederick E. Sakalay
  • Patent number: 4410946
    Abstract: The disclosure pertains to a relatively small local storage (LS) in a processor's IE which can be effectively expanded by utilizing a portion of a processor's store-in-cache. The cache allocates a line (i.e. block) for LS use by the instruction unit sending a special signal with an address for a line in a special in main storage which is non-program addressable (i.e. not addressable by any of the architected instructions of the processor). The special signal suppresses the normal line fetch operation of the cache from main storage caused when the cache does not have a requested line. After the initial allocation of the line space in the cache to LS use, the normal cache operation is again enabled, and the LS line can be castout to the special area in main storage and be retrieved therefrom to the cache for LS use.
    Type: Grant
    Filed: June 15, 1981
    Date of Patent: October 18, 1983
    Assignee: International Business Machines Corporation
    Inventor: Dana R. Spencer
  • Patent number: 4400770
    Abstract: The disclosure detects and handles synonyms for a store-in-cache (SIC). A processor cache directory (PD) is searched in a principle class addressed by a subset of bits taken from a processor request's logical address. The class address has both translatable and non-translatable bits. If any of the set-associative line entries in the principle class contains the request's translated address, the data is accessed in a corresponding line location in the cache. If the principle class does not have any entry with the request's translated address, a cache miss signal occurs which causes a line fetch command to be generated for main storage to fetch the required line. The line fetch command also causes synonym search circuits to generate the address of every potential synonym class by permutating the translatable bits in the principle class address provided in the line fetch command.
    Type: Grant
    Filed: November 10, 1980
    Date of Patent: August 23, 1983
    Assignee: International Business Machines Corporation
    Inventors: Shiu K. Chan, John A. Gerardi, Bruce L. McGilvray