52 lines
17 KiB
HTML
52 lines
17 KiB
HTML
|
|
<!DOCTYPE html><html><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type" /><meta content="width=device-width, initial-scale=1" name="viewport" /><!--replace-start-0--><!--replace-start-5--><!--replace-start-8--><title>Bus - My Zettelkasten</title><!--replace-end-8--><!--replace-end-5--><!--replace-end-0--><link href="https://cdn.jsdelivr.net/npm/fomantic-ui@2.8.7/dist/semantic.min.css" rel="stylesheet" /><link href="https://fonts.googleapis.com/css?family=Merriweather|Libre+Franklin|Roboto+Mono&display=swap" rel="stylesheet" /><!--replace-start-1--><!--replace-start-4--><!--replace-start-7--><link href="https://raw.githubusercontent.com/srid/neuron/master/assets/neuron.svg" rel="icon" /><meta content="A bus is a communication system that transfers data between components inside a computer, or between computers." name="description" /><meta content="Bus" property="og:title" /><meta content="My Zettelkasten" property="og:site_name" /><meta content="article" property="og:type" /><meta content="Bus" property="neuron:zettel-id" /><meta content="Bus" property="neuron:zettel-slug" /><meta content="bus" property="neuron:zettel-tag" /><meta content="computer-architecture" property="neuron:zettel-tag" /><script type="application/ld+json">[]</script><style type="text/css">body{background-color:#eeeeee !important;font-family:"Libre Franklin", serif !important}body .ui.container{font-family:"Libre Franklin", serif !important}body h1, h2, h3, h4, h5, h6, .ui.header, .headerFont{font-family:"Merriweather", sans-serif !important}body code, pre, tt, .monoFont{font-family:"Roboto Mono","SFMono-Regular","Menlo","Monaco","Consolas","Liberation Mono","Courier New", monospace !important}body div.z-index p.info{color:#808080}body div.z-index ul{list-style-type:square;padding-left:1.5em}body div.z-index .uplinks{margin-left:0.29999em}body .zettel-content h1#title-h1{background-color:rgba(33,133,208,0.1)}body nav.bottomPane{background-color:rgba(33,133,208,2.0e-2)}body div#footnotes{border-top-color:#2185d0}body p{line-height:150%}body img{max-width:100%}body .deemphasized{font-size:0.94999em}body .deemphasized:hover{opacity:1}body .deemphasized:not(:hover){opacity:0.69999}body .deemphasized:not(:hover) a{color:#808080 !important}body div.container.universe{padding-top:1em}body div.zettel-view ul{padding-left:1.5em;list-style-type:square}body div.zettel-view .pandoc .highlight{background-color:#ffff00}body div.zettel-view .pandoc .ui.disabled.fitted.checkbox{margin-right:0.29999em;vertical-align:middle}body div.zettel-view .zettel-content .metadata{margin-top:1em}body div.zettel-view .zettel-content .metadata div.date{text-align:center;color:#808080}body div.zettel-view .zettel-content h1{padding-top:0.2em;padding-bottom:0.2em;text-align:center}body div.zettel-view .zettel-content h2{border-bottom:solid 1px #4682b4;margin-bottom:0.5em}body div.zettel-view .zettel-content h3{margin:0px 0px 0.4em 0px}body div.zettel-view .zettel-content h4{opacity:0.8}body div.zettel-view .zettel-content div#footnotes{margin-top:4em;border-top-style:groove;border-top-width:2px;font-size:0.9em}body div.zettel-view .zettel-content div#footnotes ol > li > p:only-of-type{display:inline;margin-right:0.5em}body div.zettel-view .zettel-content aside.footnote-inline{width:30%;padding-left:15px;margin-left:15px;float:right;background-color:#d3d3d3}body div.zettel-view .zettel-content .overflows{overflow:auto}body div.zettel-view .zettel-content code{margin:auto auto auto auto;font-size:100%}body div.zettel-view .zettel-content p code, li code, ol code{padding:0.2em 0.2em 0.2em 0.2em;background-color:#f5f2f0}body div.zettel-view .zettel-content pre{overflow:auto}body div.zettel-view .zettel-content dl dt{font-weight:bold}body div.zettel-view .zettel-content blockquote{background-color:#f9f9f9;border-left:solid 10px #cccccc;margin:1.5em 0px 1.5em 0px;padding:0.5em 10px 0.5em 10px}body div.zettel-view .zettel-content.raw{background-color:#dddddd}body .ui.label.zettel-tag{color:#000000}body .ui.label.zettel-tag a{color:#000000}body nav.bottomPane ul.ba
|
||
|
|
async=""
|
||
|
|
id="MathJax-script"
|
||
|
|
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"
|
||
|
|
></script>
|
||
|
|
<link
|
||
|
|
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/themes/prism.min.css"
|
||
|
|
rel="stylesheet"
|
||
|
|
/><link rel="preconnect" href="https://fonts.googleapis.com" /><link
|
||
|
|
rel="preconnect"
|
||
|
|
href="https://fonts.gstatic.com"
|
||
|
|
crossorigin
|
||
|
|
/><link
|
||
|
|
href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Sans+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=IBM+Plex+Serif:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap"
|
||
|
|
rel="stylesheet"
|
||
|
|
/>
|
||
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/components/prism-core.min.js"></script>
|
||
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.23.0/plugins/autoloader/prism-autoloader.min.js"></script>
|
||
|
|
<style>
|
||
|
|
body .ui.container,
|
||
|
|
body ul {
|
||
|
|
font-family: "IBM Plex Sans" !important;
|
||
|
|
}
|
||
|
|
body blockquote {
|
||
|
|
border-left-width: 3px !important;
|
||
|
|
font-style: italic;
|
||
|
|
}
|
||
|
|
.headerFont,
|
||
|
|
.ui.header,
|
||
|
|
body h1,
|
||
|
|
h2,
|
||
|
|
h3,
|
||
|
|
h4,
|
||
|
|
h5,
|
||
|
|
h6 {
|
||
|
|
font-family: "IBM Plex Sans Condensed" !important;
|
||
|
|
}
|
||
|
|
body p {
|
||
|
|
line-height: 1.4;
|
||
|
|
}
|
||
|
|
.monoFont,
|
||
|
|
body code,
|
||
|
|
pre,
|
||
|
|
tt {
|
||
|
|
font-family: "IBM Plex Mono" !important;
|
||
|
|
font-size: 12px !important;
|
||
|
|
line-height: 1.4 !important;
|
||
|
|
}
|
||
|
|
</style>
|
||
|
|
<!--replace-end-7--><!--replace-end-4--><!--replace-end-1--></head><body><div class="ui fluid container universe"><!--replace-start-2--><!--replace-start-3--><!--replace-start-6--><div class="ui text container" id="zettel-container" style="position: relative"><div class="zettel-view"><article class="ui raised attached segment zettel-content"><div class="pandoc"><h1 id="title-h1">Bus</h1><p>A bus is a communication system that transfers data between components inside a computer, or between computers.</p><p><strong>A bus can be thought of as a kind of pipeline that allows different components of the computer to communicate with each other.</strong></p><p>Note that the use of the word “bus” varies somewhat in points of emphasis. A bus can mean:</p><ul><li>The physical wires that make up the bus</li><li>The communication channel that is established over those wires</li></ul><h2 id="main-buses">Main buses</h2><table class="ui table"><thead><tr><th>Bus type</th><th>Description</th></tr></thead><tbody><tr><td>System bus</td><td>The primary pathway between the CPU and <span class="zettel-link-container errors"><span class="zettel-link" title="Wiki-link does not refer to any existing zettel"><a>Memory</a></span></span>. It comprises the <strong>data bus</strong> that transfers data from the memory to the CPU and the <strong>address bus</strong> which transmits requests from the CPU to memory.</td></tr><tr><td>Internal bus</td><td>Connects local devices for example the harddisk to the CPU.</td></tr><tr><td>External bus</td><td>Connects peripheral devices such as disks and printers to the <span class="zettel-link-container cf"><span class="zettel-link" title="Zettel: Motherboard"><a href="Motherboard.html">motherboard</a></span></span></td></tr><tr><td>Expansion bus</td><td>Allows expansion boards to access the CPU and memory.</td></tr><tr><td>Frontside bus</td><td>Main computer bus that determines data transfer rate speed and is the primary data transfer path between the CPU, RAM and other <span class="zettel-link-container cf"><span class="zettel-link" title="Zettel: Motherboard"><a href="Motherboard.html">motherboard</a></span></span> devices.</td></tr><tr><td>Backside bus</td><td>Transfers secondary cache (L2 cache) data at faster speeds, allowing more efficient CPU operations</td></tr></tbody></table><h2 id="bus-standards">Bus standards</h2><h3 id="parallel-and-serial-transmission-types">Parallel and serial transmission types</h3><p>There is a distinction between buses that use <strong>serial</strong> and buses that use <strong>parallel transmission</strong>. They are distinguished by the way in which the bits are transferred from one point to another, along the bus.</p><p>Serial Transmission is the type of transmission in which a single communication link is used to transfer the data from an end to another. On other hand Parallel Transmission is the transmission in which multiple parallel links are used that transmit each bit of data simultaneously.</p><img src="../img/serial-transmission.jpg" width="800px"/>
|
||
|
|
<img src="../img/parallel-transmission.jpg" width="800px"/>
|
||
|
|
<ul><li>Serial buses are cheaper to implement than parallel buses</li><li>Serial buses operate at greater <a href="Bus.md#latency">latency</a> than parallel buses</li></ul><h2 id="latency">Latency</h2><p>Latency means <em>delay</em>: the delay from the time the data is requested until the time it arrives. In the context of a microprocesser and buses a key locus of latency would be between the time a request takes to travel accross the system bus from the CPU to the memory.</p><h3 id="bandwidth">Bandwidth</h3><p>In general, bandwidth is a measure of the capacity for a communications channel to transmit data. A bus is a channel between two components thus we can talk about the bandwidth of buses. The speed and efficiency of a bus is a function of its bandwidth, although other factors such as its length and proximity to the source and receiver are also important.</p><p>Bandwidth can be calculated in terms of how many bits can be transferred per second. The wider the bus, the more bits that can be transferred. If we have a bus that can run at 66MHz and transfer 64 bits, 64 bits is 8Mb thus the bandwidth is 8 x 66 = 528Mb.</p><h2 id="standards">Standards</h2><p>The mode of transmission is used to distinguish the different bus standards.</p><p>SCSI (Small Computer System Interface) and ATA (Advanced Technology Attachment) are used for hard drive devices (i.e. internal buses). USB (Univeral Serial Bus) and SATA (Serial Advanced Technology Attachment) are used for peripheral devices, keyboards and modem devices (i.e external buses).</p></div></article><nav class="ui attached segment deemphasized backlinksPane" id="neuron-backlinks-pane"><h3 class="ui header">Backlinks</h3><ul class="backlinks"><li><span class="zettel-link-container cf"><span class="zettel-link"><a href="Role_of_memory_in_computation.html">The role of memory in computation</a></span></span><ul class="context-list" style="zoom: 85%;"><li class="item"><div class="pandoc">The instruction at the first address is sent to the CPU, travelling accross the data bus part of the <span class="zettel-link-container cf"><span class="zettel-link" title="Zettel: Bus"><a href="Bus.html">system bus</a></span></span>.</div></li></ul></li><li><span class="zettel-link-container cf"><span class="zettel-link"><a href="Instruction_set_architectures.html">Instruction Set Architectures</a></span></span><ul class="context-list" style="zoom: 85%;"><li class="item"><div class="pandoc"><p>There have been different, successive generations of x86 corresponding to their <span class="zettel-link-container cf"><span class="zettel-link" title="Zettel: Signed and unsigned numbers"><a href="Signed_and_unsigned_numbers.html">word-size</a></span></span>: 16-bit, 32-bit, 64-bit. Word size here just means how many bits the processor can work with at a time. A 34-bit processor can operate on values that are 32 bits in length. This means it has 32bit <a href="CPU_architecture#registers" title="cf">registers</a>, a 32-bit data <span class="zettel-link-container cf"><span class="zettel-link" title="Zettel: Bus"><a href="Bus.html">bus</a></span></span>, a 32-bit address bus and so on.</p></div></li></ul></li><li><span class="zettel-link-container cf"><span class="zettel-link"><a href="Chipset_and_controllers.html">Chipset and controllers</a></span></span><ul class="context-list" style="zoom: 85%;"><li class="item"><div class="pandoc"><p>Buses run in and out of the chipset into these key motherboard components. The main chipset is a kind of junction that sits between the memory and CPU through which the <span class="zettel-link-container cf"><span class="zettel-link" title="Zettel: Bus"><a href="Bus.html">system bus</a></span></span> passes.</p></div></li></ul></li><li><span class="zettel-link-container cf"><span class="zettel-link"><a href="CPU_architecture.html">CPU architecture</a></span></span><ul class="context-list" style="zoom: 85%;"><li class="item"><div class="pandoc"><p>At the core of a computer sits the Central Processing Unit. This is the assembly of chips that execute all computation. Instruction
|