I was wondering why 8086 control bus consists of 4 lines I/O read/write and Mem read/write.
These are clearly 4 different functions that can be determined using only 2 lines. In this geeksforgeeks link we can clearly see that RD is the not operation of WR

Why is 8086 control bus 4 bits?
154 Views Asked by Fahd Seddik At
1
There are 1 best solutions below
Related Questions in CPU-ARCHITECTURE
- What is causing the store latency in this program?
- what's the difference between "nn layout" and "nt layout"
- Will a processor with such a defect work?
- How do i find number of Cycles of a processor?
- Why does LLVM-MCA measure an execution stall?
- Can out-of-order execution of CPU affect the order of new operator in C++?
- running SPEC in gem5 using the SimPoint methodology
- Why don't x86-64 (or other architectures) implement division by 10?
- warn: MOVNTDQ: Ignoring non-temporal hint, modeling as cacheable!, While simulating x86 with spec2006 benchamrks I am getting stuck in warn message
- arithmetic intensity of zgemv versus dgemv/sgemv?
- What is the microcode scoreboard?
- Why don't x86/ARM CPU just stop speculation for indirect branches when hardware prediction is not available?
- Question about the behaviour of registers
- How to increase throughput of random memory reads/writes on multi-GB buffers?
- RISVC Single Cycle Processor Data Path and Testbench
Related Questions in X86-16
- DOSbox automatically freezes and crashes without any prompt warnings
- x86 Wrote a boot loader that prints a message to the screen but the characters are completely different to what I expected
- running an imf file using dosbox in parallel to a game
- Input and output of signed single-digit decimal numbers
- Move string to end of file assembly
- I search a unit to solve the turbo pascal 255 string limit
- Unknown error in assembly language code, the result of multiplication operation is always random symbol
- Assembly language adding two numbers code error issue
- kernel.asm:60: error: comma, colon, decorator or end of line expected after operand
- Loading disk sector into memory (AT&T)
- Issue with Displaying Random Characters and Sound Playback Interruption in Assembly Code
- x86 BIOS stage 1 boot code halting after loop from interrupt
- Reverse engineer LCD Protocol used in MPC2000XL
- TASM error when i tried to compile this code
- "Symbol not defined : @STACK " error in ASM code for 8086. Compiled using DOSBOX ,MASM
Related Questions in MICROPROCESSORS
- emu8086 doesn't recognize my labels
- Playing .wav files on DOSBox's Sound Blaster device
- Get the Population Standard Deviation of streaming input data
- Are Memory Address Hardcoded on RAM Chip?
- Memory capacity of a RAM
- how to generate software interrupt by some method other than using assembly instruction
- What is the difference between processor (CPU) and microprocessor?
- An 8255 IC is interfaced to 8086 microprocessor
- How to find the physical address of interrupts in interrupt vector table?
- Why is x86 little endian?
- How do screenshots work from a software perspective
- How to write ARMGNU assembly code to write C = A + B?
- How can we expect a program to complete in order?
- How to converting 8085 code to z80 assembly
- How interpreted language code is executed by CPU?
Related Questions in CONTROL-BUS
- How to trigger another route when REST Endpoint is called in camel
- Why is 8086 control bus 4 bits?
- Stopping and restarting Spring Integration input endpoints via control bus
- Using Control Bus EIP in Spring Integration to start/stop channels dynamically
- Spring Integration how to use Control Bus with JavaConfig, no DSL
- Apache Camel Jgroups controlbus XML examples to use predefined filters
- EvaluationException: The method 'start' is not supported by this command processor
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
It is common in hardware to use 1-hot control signals here one line for read & one line for write, instead of one encoded line for both (i.e. one line where read=0, write=1).
When signals are packed/encoded as you suggest, i.e. 2 bits represents 4 values, they generally have to be decoded into 1-hot before they can activate the intended hardware circuitry.
So, here apparently, instead of encoding and decoding, they simply expose the 4 different 1-hot lines.
Most importantly, however, two lines (one for read and one for write) allows for saying read, write, or no operation on a given bus cycle. So, there's really three different values (or six for both I/O and memory), and these cannot even be encoded in 1 (or 2) bits (but could be in 2 (or 3 bits)).
(Yes, it also allows for dual operation read=1 and write=1, but this is understood to be bad and no one will do it.)