Preface: December 2014, sophomore last semester, the computer composition Principle course design, I wrote some machine instructions, and even designed some micro instructions (extended instruction set, write to the control memory inside), think that I was very strong ...
PS. Just finished the microcomputer interface course Design report, the microcomputer interface reminds me of the principle of computer composition more than a year ago. I looked up all the photos and reports, and I went over it. Design Micro-Instructions
x86 has a complex set of instructions (CISC), each of which consists of a number of micro-directives behind each complex instruction.
In this course design, I in the test box already has 8086 micro instruction set, based on the expansion of their own written 7 micro-instructions.
Figure: My extended micro instructions need to be written to the machine instructions written in the control memory
This is not C, not C + +, not Java, but machine language. That's right, 0, 1 sequence.
Figure: The top 3 machine instructions are "New machine instructions" Based on my expanded 7 micro-instructions. The following line of machine instructions is a complete program. This program should eventually output "9119", "9108", "9107", "0011" running results
Running results perfectly match expectations
Summary
Through this experiment, I have a deep understanding of the "secret" of micro-instructions.
From the design of the micro-instruction to the implementation, I have basically completely figured it out. In this experiment, there were 24 micro-instructions. I0~I5 is the address that points to the address of the next micro-instruction, I6~I8 is F3 for testing, i9~i11 means F2, i12~i14 means F1, is used to control the register, and i15~i23 is used to denote the function of the micro-instruction (e.g., add, subtract, phase, or).
The relationship between micro instructions and machine instructions, I am now more thorough understanding. In the experiment, our group of members step through the debugging (that is, press the pulse signal), step by step tracking the change of the micro-address lamp, step by step to observe when to execute which micro-instructions. The textbook is easy to say: a machine instruction corresponds to a micro-program, a micro-program is a series of micro-instructions . However, only to do the experiment: the design of the micro-code, the hands of the wiring, encountered problems in hand to solve the problem can really understand the essence of computer composition principle. a complete curriculum design report
This blog excerpt from an experiment in the course design. There are 4 complete reports of the course design here. Download link, poke here, don't point