Why more parallelism possible at microprogramming level? - Page 1
Forum section: electronics / beginners

author: shivajikobardan
author_rank: Contributor
timestamp: September 10, 2025, 06:45:00 am
content: I am studying from John P Hayes COA book. I have it as the only physical book so it is what it is. I cannot afford a new book as I am jobless at the moment. I do not have good devices to read pdf files.QuoteI do not understand how does control field division into k disjoint fields helps?I have been stuck for few hours over the course of multiple days. And this does not seem like it will end. What should I do? Fast forward to the other topics? Or stuck at it? Am I missing any prereriquisites(Please mention them)?

author: xvr
author_rank: Frequent Contributor
timestamp: September 10, 2025, 09:22:19 am
content: QuoteThis will help reduce the complexity of the decoder, not improve parallelism.Imagine a processor with three arithmetic units. You can control each of them with a dedicated field in the micro-op and get 3 sets of controls (one for each unit), or combine them in a single ALU and control it with an opcode field (selecting one of the three units) and a common (shared) control field.Suppose that each unit requires 3 bits to control. In the first configuration, you will need 9 bits, in the second - only 5 (3 bits for control and 2 bits to select the processing unit).

author: Berni
author_rank: Super Contributor
timestamp: September 10, 2025, 09:39:17 am
content: The idea is to have instructions that don't get in the way of each other.If you have multiple instructions that have their input data available in registers and don't have any dependency on other instruction around then then you can execute those instructions simultaneously on the same clock cycle (each one executed by a different part of the CPU). Having them encoded in a way where the CPUs instruction decoder can easily determine this makes it easier to design a CPU that implements this, hence such a CPU might need less circuitry and might run at a higher clock speed.The opposite of this is complex instruction set computers like the all famous x86 architecture. It results in huge long complex instructions that do as much work as possible in a single instruction, but this makes it much more difficult to determine what instructions touch completely unrelated parts of the CPU so that they could be executed in parallel without breaking something. This makes modern x86 CPUs so ridiculously complicated.

author: rstofer
author_rank: Super Contributor
timestamp: September 10, 2025, 01:53:45 pm
content: Google AI for 'advantges of microprogramming over discrete logic'Google AI for 'am2900 logic family' for a description of AMD chips created specifically for microprogrammed processors (not necessarily CPUs).For a standard text of microprogramming Google for 'Mick and Brick'https://archive.org/details/bit-slice-microprocessor-designThe original 8" floppy drive was invented by IBM to hold microcode images for several of the 360 family of mainframes. Images were loaded at boot time from the floppy drive. This allowed end users to modify the instruction set of the CPU. This practice was discouraged but some customers were too big to deny.Google for 'ibm 360 microcode'These days control units are formed by state machines inside FPGAs. Microcoding will still work but I haven't run across many examples. The LC3, 'Litle Computer 3', is microcoded in the book. A worksheet is provided.Google for 'https://en.wikipedia.org/wiki/Little_Computer_3'This is a fun project for an FPGA, microcoded or not!

author: shivajikobardan
author_rank: Contributor
timestamp: September 11, 2025, 12:34:37 pm
content: Thanks for your replies.