Chapter 32 Dence on a Specific Low-Level Instruction Interface; for Example, Dependence Upon the Hardware-Implemented Address Size

Chapter 32 Dence on a Specific Low-Level Instruction Interface; for Example, Dependence Upon the Hardware-Implemented Address Size

Chapter 32 dence on a specific low-level instruction interface; for example, dependence upon the hardware-implemented address size. One of the major gokls of System/38 architecture was to enable users to The IBM System/38: be as independent as possible of hardware and device characteris- A Machine^ tics. High-Level In System/38, hardware dependencies have been absorbed by internal microcode functions that provide an instruction interface, S. H. / G. G. / D. N. / Dahlby Henry Reynolds which is largely independent of hardware details. Users of the P. T. Taylor instruction interface, therefore, need not be concerned with hardware addressing [Berstis, Trutal, and Ranweiler, 1978], One of the primary characteristics of the IBM System/38 that auxiliary storage allocation and addressing [French, Collins, and identifies it as an advanced computer system is its high-level Loen, 1978], interna! data structures and relationships [Pinnow, machine instruction interface, which incorporates new architec- Ranweiler, and Miller, 1978], channel and I/O interface details, tural structures and provides a much higher level of function than and internal microprogramming details [Hoffman and Soltis, traditional machine architectures, such as the IBM System/3. The 1978]. function and architectural structures are more similar to those of This hardware independence characteristic of the System/38 high-level languages than to conventional machines. The purpose instruction interface is due in large measure to the use of an of this article is to describe the advantages and salient architectur- object-oriented interface [Pinnow, Ranweiler, and Miller, 1978] al features provided by the System/38 instruction interface, and instead of the more conventional byte-oriented interface. An how they are reahzed in the specifics of the System/38 machine. object is a System/38 instruction interface construct that contains a specific type of information and can be used only in a specific manner. A number of different types of objects are defined in the Relevant system objectives interface, and various object-specific instructions are provided to operate upon each object type. An example of a System/38 factors influence the choice of the architectural characteris- Many instruction interface object is a data space (file), which has tics of a new In the [Henry, 1978] system. System/38 primary associated instructions for operations such as the adding and such as user and hardware influences, anticipated requirements deleting of records [Watson and Aberle, 1978]. led to the of some technology trends, adoption major objectives Each object is created by a System/38 interface instruction that for the total these were: system. Briefly, uses a user-specified data structure to define the object's charac- teristics and initial values. Once the is its internal • Programming independence from machine implementation object created, stored format is not to the user and configuration details apparent (with the one exception discussed The status and values of the be • below). object may High levels of integrity and authorization with capability retrieved or interface but the minimal overhead changed by using instructions, internal format of the object cannot be directly viewed or • Efficient in the machine for used support commonly modified. That is, objects can be operated upon functionally, but operations in control programming, and utilities compilers, not as a byte string. This approach prevents dependence on • EfiRcient support in the machine for key system functional the internal format of the object and enables applications to objectives, such as data base and dynamic multipro- remain independent of evolving internal implementations of the gramming. machine. There is one specific exception to this shielding of the internal The following sections highlight the major System/38 instruction format of an object. A space object is a construct that can be used interface concepts and features that address these objectives. by a program for storage of and operation upon byte-oriented operands such as character strings and numeric values. Independence from Machine Implementation In addition to this object orientation, main storage and auxiliary and Configuration storage addresses are not directly apparent in the System/38 instruction interface [Berstis, Truxal, and Ranweiler, 1978; Pin- and All interface of In previous systems, the ability for users to take advantage of new now, Ranweiler, Miller, 1978]. addressing technology and implement new function was limited by depen- objects is accomplished by resolving symbolic names (supplied by the user) to a pointer. A pointer is an object that is used only for 'IBM SystemJ38: Technical Developments, pp. 47-50. © 1978 by Interna- addressing and does not permit examination or manipulation of tional Business Machines Corporation. Reprinted by permission. the implied physical address. A system pointer gives a user the 533 534 Part 2 of Section 7 I Language-Based Computers [ Regions Computer Space ability to address objects; for example, to create or destroy an Integrity and Authorization object or to examine or directly modify its content through associated specific instructions. A space pointer allows the direct A natural consequence of the object-oriented approach is im- addressability of bytes within a space object. Both of these pointer proved system integrity and authorization mechanisms [Berstis, types can be contained within a space object, but they can be used Truxal, and Ranweiler, 1978]. All user information is stored in for addressing only when operated on by pointer manipulation System/38 instruction interface objects. Access to that information instructions. Pointers are assured of validity via tagged storage in is through System/38 instructions that ensure the structural both main and secondary storage. Direct modification of a pointer integrity of the manipulated objects. An attempt to misuse an area via a "computational" instruction results in the tag becoming object is thus detected and causes the instruction execution invalid and causes the pointer to no longer be usable for to be terminated and an exception condition to be raised. An exam-, addressing purposes. pie is the attempt to directly change a byte within a program Similarly, users are not concerned with the addressing struc- object. tures of either main storage or auxiliary storage [French, Collins, Authorization capabilities are likewise facilitated by the System/ and Loen, 1978], or even necessarily that there are multiple levels 38 instruction-interface object-oriented structure. Each user of of storage, since all storage used for all objects in the system is the machine is identified by a user profile, which is itself an allocated and managed by the machine. That is, there is no object. Each object in the system is owned by a user profile, and differentiation in the System/38 instruction interface as to where the owner may delegate to other user profiles various types of an object or portions of an object reside. The total address space of authority to operate on the objects. Processes (tasks) execute System/38 thus consists of an unconstrained number of objects, under a specific user profile (in the name of a user), and functions uniformly addressable by pointers. executed within a process verify that the objects referenced have Similar constructs shield the System/38 instruction interface been properly authorized to that user. user from dependencies upon channel and I/O device addresses Figure 2 illustrates this approach to providing integrity and and low-level communication protocols. authorization capability. Figure 1 illustrates this basic object-oriented, high-level inter- face approach. Access via specific functions only System 38 instruction inteiface Fig. 2. System/38 instruction interface integrity and authorization « Fig. 1 . System/38 object-oriented structure. scheme. 32 The IBM 535 Chapter | System/38 Support for Common Programming Functions System/38 instruction interface provides and, in some cases, requires functions intended to support programming constructs The Systeni/38 instruction interface is designed to provide direct more directly than in traditional machines. For example, pro- support for a wide variety of fiinctions common to control grams are invoked through call/return functions defined in the programming, compilers, and utilities. This increased level of interface. Argument/parameter functions provide communica- machine function eliminates the need to implement these com- tions from one program to another. Allocation and initialization of mon fiinctions in multiple programming components, increases storage for program variables within a process is performed by the consistency across all programming components, and supports System/38 machine. Additional examples are found in [Watson programming approaches conducive to providing integrity and and Aberle, 1978] and [Howard and Borgendale, 1978]. reliability. Figure 3 illustrates this System/38 program structure and the There are two basic modes of addressing in the System/38 general relationship between a high-level language program and interface. The first is pointers, which allow varying addressability the corresponding System/38 constructs. to all objects and bytes within space objects. The second, values dictionary addressing, deals with program references to Support for Key System Functions within a space object. referenced in instructions are defined in a Operands program The

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us