Corpus ID: 16349438

A Brief History of Microprogramming

  title={A Brief History of Microprogramming},
  author={M. Smotherman},
A processing unit in a computer system is composed of a data path and a control unit. The data path includes registers, function units such as ALUs (arithmetic and logic units) and shifters, interface units for main memory and/or I/O busses, and internal processor busses. The control unit governs the series of steps taken by the data path during the execution of a user-visible instruction, or macroinstruction (e.g., load, add, store, conditional branch). 

Figures and Tables from this paper

Signature and Residue Testing of Microprogrammable Control Units
It is shown how to reduce the probability of error escape, when this type of generator is used for detecting arithmetic errors, and how to embed the designed circuit into a microprogrammable finite state machine to test its operation without adding test hardware overhead. Expand
Reverse Engineering x 86 Processor Microcode
This paper reverse engineer the microcode semantics and inner workings of its update mechanism of conventional COTS CPUs on the example of AMD’s K8 and K10 microarchitectures and presents a set of microprograms that demonstrate the possibilities offered by this technology. Expand
Reverse Engineering x86 Processor Microcode
This paper reverse engineer the microcode semantics and inner workings of its update mechanism of conventional COTS CPUs on the example of AMD's K8 and K10 microarchitectures and presents a set of microprograms that demonstrate the possibilities offered by this technology. Expand
Design space exploration tools for the ByoRISC configurable processor family
ByoRISCs provide a unique combination of features that allow their use as architectural testbeds and the seamless and rapid development of new high-performance ASIPs, and it is proved that they provide a viable solution in FPGA-based system-on-a-chip design. Expand
On the Design and Misuse of Microcoded (Embedded) Processors - A Cautionary Note
This work introduces the design of a microcoded RISC-V processor architecture together with a microcode development and evaluation environment and gives insights on how to design meaningful microcode Trojans that undermine system security. Expand
An implemention of support for multiple run-time architectures in a packaging system perspective
Multiarch is a mechanism for packages supporting multiple architectures to be installed at the same time on the same machine in the same operating system. This paper shows a sample implementation ofExpand
Sociotechnical Settlement and Mediation in a System of Technical Societies: A Relational History of the IEEE Computer Society and ACM, circa 1967-1977
  • B. Jesiek
  • Computer Science
  • 2009 IEEE Conference on the History of Technical Societies
  • 2009
It is shown how various structures and processes of sociotechnical settlement and mediation created stability in this system of technical societies, even in the midst of rapid technological and institutional change. Expand
Tangled reality
Tangled Reality allows users to build virtual environments based on simple colored sketches and traverse them using physical vehicles overlayed with virtual imagery, and creates a rich mixed reality workspace. Expand


I370 - a new dimension of microprogramming
The internal 370 mode (I370) is a high level microprogramming interface that significantly improves microcode development productivity and portability and facilitates the utilization of existing high-level languages formicroprogramming. Expand
A comparison of microcode, assembly code, and high-level languages on the VAX-11 and RISC I
This paper compares the performance of three implementations of simplified pattern matching instruction and presents execution times for the microcode and for high-level language and machine language versions of the instruction. Expand
Instruction-level parallel processing: History, overview, and perspective
An overview and historical perspective of the field of ILP and its development over the past three decades is provided. Expand
Microprogrammed implementation of a single chip microprocessor
This paper considers microprogramming as a tool for implementing large scale integration, single-chip microprocessors and designs of the control unit of a new generation microprocessor, which has a two level microprogrammed structure. Expand
The Growth of Interest in Microprogramming: A Literature Survey
The survey reveals the way in which interest has successively developed in the following aspects of the subject: stored logic, the apphcatmn of m]croprogrammmg to the design of a range of computers, emulatmn, m[croprogram mmg m support of software, and read/write control memories. Expand
Microprogram Control for System/360
This paper describes the kind of microprogram control that has been used in several models of SYSTEM/360. A microprogramming language, as well as some of the main techniques used in "assembling" andExpand
A high-frequency custom CMOS S/390 microprocessor
The S/390® Parallel Enterprise Server Generation 4 processor is an implementation of the IBM ESA/390™ architecture on a single custom CMOS chip. It was designed on a blank slate after considerationExpand
Emulation of large systems
The conversion problem and a new technique called emula¢i0~ are discussed. The technique of emulation is developed and includes sections on both the Central Processing Unit (CPU) and the Input/OutputExpand
A 100 MHz macropipelined CISC CMOS microprocessor
A macropipelined CISC microprocessor implemented in a 0.75- mu m CMOS 3.3-V three-metal-layer technology with a macroinstruction pipeline to execute the instruction set of a popular CISC minicomputer is described. Expand
Some Aspects of High-Level Microprogramming
A number of strategies and language design philosophies for solving the problems of high-level microprogramming languages, including machine-oriented languages such as Eckhouse's MPL and Patterson's STRUM, are described. Expand