Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Computer program
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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 program=== {{main|Microcode}} [[File:Not-gate-en.svg|thumb|96px|right|NOT gate]] [[File:NAND_ANSI_Labelled.svg|thumb|96px|right|NAND gate]] [[File:NOR_ANSI_Labelled.svg|thumb|96px|right|NOR gate]] [[File:AND_ANSI_Labelled.svg|thumb|96px|right|AND gate]] [[File:OR_ANSI_Labelled.svg|thumb|96px|right|OR gate]] A [[Microcode|microcode program]] is the bottom-level interpreter that controls the [[data path]] of software-driven computers.<ref name="sco6th-ch1-p6">{{cite book | last = Tanenbaum | first = Andrew S. | title = Structured Computer Organization, Sixth Edition | publisher = Pearson | year = 2013 | page = 6 | isbn = 978-0-13-291652-3 }}</ref> (Advances in [[Random logic|hardware]] have migrated these operations to [[Control unit#Hardwired control unit|hardware execution circuits]].)<ref name="sco6th-ch1-p6"/> Microcode instructions allow the programmer to more easily implement the [[Logic level|digital logic level]]<ref name="sco6th-ch4-p243">{{cite book | last = Tanenbaum | first = Andrew S. | title = Structured Computer Organization, Sixth Edition | publisher = Pearson | year = 2013 | page = 243 | isbn = 978-0-13-291652-3 }}</ref>βthe computer's real hardware. The digital logic level is the boundary between [[computer science]] and [[computer engineering]].<ref name="sco6th-ch3-p147">{{cite book | last = Tanenbaum | first = Andrew S. | title = Structured Computer Organization, Sixth Edition | publisher = Pearson | year = 2013 | page = 147 | isbn = 978-0-13-291652-3 }}</ref> A [[logic gate]] is a tiny [[Field-effect transistor|transistor]] that can return one of two signals: on or off.<ref name="sco6th-ch3-p148">{{cite book | last = Tanenbaum | first = Andrew S. | title = Structured Computer Organization, Sixth Edition | publisher = Pearson | year = 2013 | page = 148 | isbn = 978-0-13-291652-3 }}</ref> * Having one transistor forms the [[NOT gate]]. * Connecting two transistors in series forms the [[NAND gate]]. * Connecting two transistors in parallel forms the [[NOR gate]]. * Connecting a NOT gate to a NAND gate forms the [[AND gate]]. * Connecting a NOT gate to a NOR gate forms the [[OR gate]]. These five gates form the building blocks of [[Boolean algebra|binary algebra]]βthe digital logic functions of the computer. Microcode instructions are [[Assembly language#Mnemonics|mnemonics]] programmers may use to execute digital logic functions instead of forming them in binary algebra. They are stored in a [[central processing unit|central processing unit's]] (CPU) [[control store]].<ref name="sco6th-ch4-p253">{{cite book | last = Tanenbaum | first = Andrew S. | title = Structured Computer Organization, Sixth Edition | publisher = Pearson | year = 2013 | page = 253 | isbn = 978-0-13-291652-3 }}</ref> These hardware-level instructions move data throughout the [[data path]]. The micro-instruction cycle begins when the [[microsequencer]] uses its microprogram counter to ''fetch'' the next [[machine instruction]] from [[random-access memory]].<ref name="sco6th-ch4-p255">{{cite book | last = Tanenbaum | first = Andrew S. | title = Structured Computer Organization, Sixth Edition | publisher = Pearson | year = 2013 | page = 255 | isbn = 978-0-13-291652-3 }}</ref> The next step is to ''decode'' the machine instruction by selecting the proper output line to the hardware module.<ref name="sco6th-ch3-p161">{{cite book | last = Tanenbaum | first = Andrew S. | title = Structured Computer Organization, Sixth Edition | publisher = Pearson | year = 2013 | page = 161 | isbn = 978-0-13-291652-3 }}</ref> The final step is to ''execute'' the instruction using the hardware module's set of gates. [[File:ALU block.gif|thumb|right|A symbolic representation of an ALU]] Instructions to perform arithmetic are passed through an [[arithmetic logic unit]] (ALU).<ref name="sco6th-ch3-p166">{{cite book | last = Tanenbaum | first = Andrew S. | title = Structured Computer Organization, Sixth Edition | publisher = Pearson | year = 2013 | page = 166 | isbn = 978-0-13-291652-3 }}</ref> The ALU has circuits to perform elementary operations to add, shift, and compare integers. By combining and looping the elementary operations through the ALU, the CPU performs its complex arithmetic. Microcode instructions move data between the CPU and the [[memory controller]]. Memory controller microcode instructions manipulate two [[Processor register|registers]]. The [[memory address register]] is used to access each memory cell's address. The [[memory data register]] is used to set and read each cell's contents.<ref name="sco6th-ch4-p249">{{cite book | last = Tanenbaum | first = Andrew S. | title = Structured Computer Organization, Sixth Edition | publisher = Pearson | year = 2013 | page = 249 | isbn = 978-0-13-291652-3 }}</ref> Microcode instructions move data between the CPU and the many [[computer buses]]. The [[Disk controller|disk controller bus]] writes to and reads from [[hard disk drive]]s. Data is also moved between the CPU and other functional units via the [[PCI Express|peripheral component interconnect express bus.]]<ref name="sco6th-ch2-p111">{{cite book | last = Tanenbaum | first = Andrew S. | title = Structured Computer Organization, Sixth Edition | publisher = Pearson | year = 2013 | page = 111 | isbn = 978-0-13-291652-3 }}</ref>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Computer program
(section)
Add topic