Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IBM System/38
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Microcode=== IBM referred to all code below the Machine Interface layer of the System/38 architecture as ''microcode'', and treated it as part of the hardware.<ref name="technical-developments">{{cite book | url = http://bitsavers.org/pdf/ibm/system38/IBM_System_38_Technical_Developments_Dec1978.pdf | title = IBM System/38 Technical Developments | publisher = IBM Product Design and Development, General Systems Division | orig-year = 1978 | year = 1980 | isbn = 0-933186-03-7 | id = G580-0237-1}}</ref> The term microcode was used to cover a wide array of low-level code, ranging from traditional [[microcode]], up to functionality typically associated with the [[Kernel (operating system)|kernel]]s of other operating systems, as well as the implementation of the integrated database.<ref>{{cite journal|url=https://www.computer.org/csdl/magazine/co/1981/09/01667517/13rRUwciPii|title=Design of a Small Business Data Processing System|first=Frank|last=Soltis|journal=[[IEEE Computer]]|date=September 1981|volume=14|pages=77–93|doi=10.1109/C-M.1981.220610|s2cid=398484|url-access=subscription}}</ref> There were two levels of microcode in the System/38: * ''Horizontal Microcode'' (HMC), which implemented a [[register–memory architecture|register-memory]]/memory-memory<ref name="ibm-imp-reference">{{cite web|url=http://bitsavers.org/pdf/ibm/system38/SC21-9037-3_IBM_System_38_Internal_Microprogramming_Instructions_Formats_and_Functions_Reference_4th_ed_198508.pdf|title=IBM System/38 Internal Microprogramming Instructions, Formats, and Functions Reference Manual|date=August 1985|edition=fourth|publisher=IBM|id=SC21-9037-3}}</ref> [[instruction set architecture]] known as the ''internal microprogramming (IMP) instruction set''<ref name="ibm-imp-reference" /> or the ''Internal Microprogrammed Interface'' (IMPI) using the native microcode of the System/38's processor.<ref>{{cite web|url=http://users.snip.net/~gbooker/AS400/arch.htm|title=Notes for storage research|author=David McKenzie|archive-url=https://web.archive.org/web/19991008185025/http://users.snip.net/~gbooker/AS400/arch.htm|archive-date=October 8, 1999|url-status=dead}}</ref> Certain low-level and performance sensitive functionality such as task (i.e. process) scheduling and message passing were implemented directly in microcode as part of the Horizontal Microcode. The Horizontal Microcode resided in [[control store]]; it corresponded to traditional microcode. * ''Vertical Microcode'' (VMC), which implemented the Machine Interface in terms of the IMPI architecture; this was implemented by translating MI code into IMPI code and executing it. It also implemented the integrated database, and other components of the operating system which could not be implemented in terms of MI instructions.<ref name="ibm-vmc-plm">{{cite web|url=http://bitsavers.org/pdf/ibm/system38/SY21-0889-5_IBM_System_38_Vertical_Microcode_Logic_Overviews_and_Component_Descriptions_6th_ed_198509.pdf|title=IBM System/38 Vertical Microcode Logic Overviews and Component Descriptions Manual|date=September 1985|edition=sixth|publisher=IBM|id=SY21-0889-5}}</ref> This was implemented using a mixture of [[PL/MP]] and IMPI assembly.<ref name="inside-as400" /> The Vertical Microcode resided in main memory. The use of the term microcode stemmed from a 1969 antitrust case against IBM which resulted in IBM unbundling software from its hardware products (i.e. requiring software to be purchased separately from the hardware). By treating the low level code of the System/38 as part of the hardware, IBM was able to treat the MI as the native instruction set of the System/38, and thus have the freedom to change the IMPI and microcode as the underlying hardware evolved.<ref name="inside-as400">{{cite book|title=Inside the AS/400, Second Edition|url=https://books.google.com/books?id=5DoPAAAACAAJ|isbn=978-1882419661|author=Frank G. Soltis|year=1997|publisher=Duke Press}}</ref> Early AS/400 systems inherited the System/38 microcode structure, but the term microcode was dropped, leading IBM to rename the layers to the ''Vertical Licensed Internal Code'' and ''Horizontal Licensed Internal Code''.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)