Manish Dalal - Docx
Manish Dalal - Docx
Manish Dalal - Docx
Assignment
on
MOOC
on
Contact No.+919416589819
Introduction
In this course, we will explore the several types of hardware components installed in computers and
peripherals. The course also offers a detailed exploration of these components and their function as part of
the computer and peripheral hardware. The career skills acquired in this course will begin my journey into
information technology.
The career skills i acquire in this course will help me to begin my journey into information technology.
By taking this course, you will explore the several types of hardware components installed in computers
and peripherals. You will also learn about the function of each component as part of the computer and
peripheral hardware. It is the first in the series of courses that will provide you with the foundational
knowledge you need to support the project and to dive deeper into using computer technology in
information technology.
here
• Identify basic cable types and their connectors, features, and purposes.
• Explain and configure motherboards, central processing units (CPUs), and add-on cards.
Welcome to your first module. In this module, we're going to cover motherboard components such as the
CPU, the RAM slots, the connectors for the motherboard to hook up to your power supply, what a chipset
is, all the fundamental components that sit on the motherboard. Expansion slots, but in addition we need
to talk about the physical ports that you're connecting to, and the machines. How do you interface with
your keyboard, your sound cards? If you're doing high-speed gaming, you want to be able to put a video
card in. How do you connect up? What kinds of video ports there are? Finally, how do you really bring it
all together? That's where we talk about bios and UEFI. That is the fundamental software, if you think
about it on the motherboard, that controls all that. What does that mean? What do we do with it? How do
we configure it? That is what encompasses Module 1.
In this first module. In this module, we're going to cover motherboard components such as the
CPU, the RAM slots, the connectors for the motherboard to hook up to your power supply, what a
chipset
Key concepts
• Motherboard busses and components:Instructer introduce us with topics covered in this course
Welcome to your first module. In this module, we're going to cover motherboard components such as the
CPU, the RAM slots, the connectors for the motherboard to hook up to your power supply, what a chipset
is, all the fundamental components that sit on the motherboard. Expansion slots, but in addition we need
to talk about the physical ports that you're connecting to, and the machines. How do you interface with
your keyboard, your sound cards? If you're doing high-speed gaming, you want to be able to put a video
card in. How do you connect up? What kinds of video ports there are? Finally, how do you really bring it
all together? That's where we talk about bios and UEFI. That is the fundamental software, if you think
about it on the motherboard, that controls all that. What does that mean? What do we do with it? How do
we configure it? That is what encompasses Module 1. Lesson 1: Motherboard ComponentsModule 1
Introduction
Video: VideoMotherboard
The reading material for this lesson entails a Wikipedia page dedicated to motherboards. While Wikipedia pages are
not usually our primary source for presenting educational content, this particular page has been diligently reviewed
by the author of this course. The author affirms its reliability and deems it valuable for your learning experience.
This article provides a comprehensive overview of motherboards, detailing their purpose, components, history,
design, and various functions within a computer system.
Motherboard [5-10 min]
Once again back to motherboard expansion, you have what they call PCI slots. Now, on older motherboards and I'm
not going to dwell too long on it, but you should when you do your readings, you should see it. They used to have
ISA, EISA, MCI, you name it, there used to be all kinds of different types of expansion slots. Generally they should
be gone by now, but I could not say forever, okay? I had a student that was a technician one time, he went in the
field, he found something, he goes, what is this? And I had it to explain to him it was a 40 pin IDE drive, he goes,
I've never seen one. Some machines still exist that still have older architectures. So, even though in modern
technology we see a lot of newer buses like these, when you do your readings or read any kind of trade journals,
they may refer to the older tech and say, well, it's gone. Nothing's really gone, [LAUGH] okay, it's whether or not
somebody's still using it, okay? So, these are expansion sites, so these are where you put your cards. So, these are
PCI and they come in different speeds and feeds, these are PCI1, PCI16, and they're for your video cards. So, if you
run an AGP type video with a high speed video card, an Nvidia, whatever you want to run, those are the slots you
put them in. You only could buy expansion slots and cards that fit into specific slots. A lot of times people make
mistakes, they buy a card, they try to stick it in because just because it fits doesn't mean it's the right slot. They stick
it in there, it doesn't work, I wonder why, well, because you put in the wrong type slot, [LAUGH] okay? That's not
unusual, it happens, most people have never run across what we call a modem. So, what you call a modem now, like
Comcast modem, or AT&T modem for DSL or cable modems are not modems, they're basically routers. Modems
used to be little dial up things and you could watch old movies and you hear that annoying noise when they dial up.
People used to make a mistake and point plug their phone cable, which you probably haven't seen forever, into their
Ethernet port which is their network port and think it would work. Same problem here, you can't plug a card into the
wrong slot, even though it fits, it may not function. These are what we call PCI slots, this became the industry
standard, these actually grew out of IBM. IBM invented something called Micro channel, if you ever see an old IBM
PS2 machine, very old but you could probably find a picture of it, if you go to California it's in a Computer History
Museum. It is an architecture that bred this PCI type architecture. And you may have two of them, three of them,
four of them, depends on the size of the board. Board sizes vary, this is a standard ATX size, they make mini ones
that go into like nooks and nuance nook, like Microsoft makes little computers called Nooks that are half this size.
Once again, it depends on the manufacturer who's building it. So, those are your expansions, these are put your cards
in, whether you got video cards, maybe you do dual cards, one card, maybe you do crypto mining, I don't care,
[LAUGH]. Whatever you feel is appropriate with the card slots, you add additional ports, additional functions using
these slots. Finally, we also talk about power and I had mentioned power. So, this is a standard ATX 24 pin
motherboard, most power supplies nowadays are the standard 24 pin. This is the main ATX, in the PowerPoint you'll
see a pin out, you note the motherboards run on DC, which is direct current. They do not run on AC, which is
alternated current, which comes from your outlet. If you plug it, if AC ever got across the board, it'll fry, you always
know the smell of Mylar when you smell it, that's what those components are made of, [LAUGH] that's when things
go wrong. But you only get 3 volts, 12 volts and 5 volts, those are the basic voltages that exist on these power
connectors. They also have a separate connector usually on these motherboards, it's usually a 4 or 6 pin, this is an
older board. So, they may not have it on this older no, they don't have it on this older board for the CPU. What that
is, is they have an auxiliary power which isn't on this board currently, but usually sits around here that gives
auxiliary power just for the CPU. The reason they did that is traditionally old boards used to use a split power
connector, it used to be a P1 and P2, two connectors. But they said, why don't we just make it one block, okay? So,
they did and all the power like power on, power off, some computers do not have real switches, that button in the
front is not a real switch on your computer. When you push that button, it's actually closing what they call shorting
two pins together sends a signal to the connector on here that says power on, and then it wakes up, okay? They don't
use real switches anymore, they used to have real push button switches, they don't use them anymore.
SATA has come a long way over time, we're up to generation 3 of it, it's usually what they generally use unless now
the newer style is we'll talk about later is NVMe. NVMe is a direct connect to your motherboard for your storage,
it's basically a stick. It looks like a little stick and you plug it right into your motherboard, makes it very fast because
now I don't have to go through a connect, the connector is integrated, and makes for very fast boot times and access
times. So, your storage ports which would still have address data control lines and power [LAUGH] are right here,
your CPU and your RAM. Now, this all is orchestrated by a little crystal chip and it's usually a small little tin can
that's on these boards. And you usually can dig around and find them, it's not these, these are capacitors, but usually
close by you find a little tiny chip and it's sometimes hard to spot, but it's a little tin can and sometimes you have to
dig around quite a bit. This one is very, very small and it's usually around next to the CPU somewhere, yeah, a little
tiny chip, it's right about here, it's integrated. And what that is, is a crystal oscillator. So, your motherboard has a
metronome, so what it is, it keeps time for all these buses. So, you wonder how does it know when to send
addresses, when to send data, when to send control? It's got a little metronome, we call it the crystal, it's called the
crystal oscillator if you really want to know the technical terms for it, we don't refer to it, just call it the clock on the
motherboard. This is separate from the clock you know as the one in your operating system, but what it does is it
keeps time like a metronome so that things can be timed. What gets written to memory, when does it get read out of
memory, when is it sent from CPU, when is it sent to the data storage? Back and forth, so, every motherboard has
what we call a crystal oscillator, a little clock, that keeps time for all these components to function properly. Kind of
like traffic lights on the street, you got to have to control the traffic, you have different lights, they use a crystal timer
to do so. And then the only other component that we should make note of is, which I'll talk about in a little bit, is the
CMOS, BIOS chip that's right here, sometimes referred to as UEFI. It's backed by a CR232 battery, which is 3.0
volts that keeps all its settings. This is the motherboard's software, if you really want to know what that is, that's the
main software that runs the motherboard, okay? So, that's the one that holds all the settings, I'm going to
demonstrate that in a little bit. For the motherboard handles all the things that go on the motherboard, all that code is
written in this little chip right here, okay? If I get a better light on there, right there, it is kept there by this battery
because when you power off a computer, everything goes dead. So, we need this battery basically to keep it running.
Finally you have audio jacks, so this one has an integrated and a lot of boards do have integrated audio, so they have
an input, output, and some have even more. They got for subwoofers and all kinds of fun stuff, but they're basically
for audio in and out, so microphone in, speaker out, okay? So you can do, some people don't like the limits of
whatever the audio chip is on the motherboard, so they may put an expansion card. Some people like to do video
capture or TV capture, you can put a video card in here, you could actually turn your computer into a TV if you
wanted. Anyways, you put a tuner in there, but generally most boards, or most ivory board has these audio. You can
buy it without audio and then put your own expansion, creative labs made a mint out of audio cards over the years.
They sold a lot of audio interface cards, but generally you have these and on laptops you have very similar ports or
input, output, but those are the external faces. And obviously motherboards could have even more depending on
whoever the manufacturer is. For external bus, this is what we would call the external bus to the internal bus of the
motherboard for basically moving data or interfacing. Anything on the outside usually read, write, so a video
monitor, you will be writing to it to write to the screen. Technically, it's right to the terminal believe it or not,
[LAUGH] you're writing to it, you're actually printing to it, it doesn't see it as anything more than an address space.
(Required)
Now is your opportunity to check your knowledge of what you have learned so far. Please complete the following quiz and don't forget to click
the submit button once you have selected all of your answers.
III. FSB
I. PROM
II. RAM
III. EEPROM
IV. ROM
The reading material for this lesson entails a Wikipedia page dedicated to UEFI. While Wikipedia pages are not
usually our primary source for presenting educational content, this particular page has been diligently reviewed by
the author of this course. The author affirms its reliability and deems it valuable for your learning experience.
This article describes the Unified Extensible Firmware Interface, which is a specification that defines the
architecture of the platform firmware used for booting and its interface for interaction with the operating system.
Examples of firmware that implement the specification are AMI Aptio, Phoenix SecureCore, TianoCore EDK II,
InsydeH2O.
UEFIThe reading material for this lesson entails a Wikipedia page dedicated to UEFI. While Wikipedia pages are
not usually our primary source for presenting educational content, this particular page has been diligently reviewed
by the author of this course. The author affirms its reliability and deems it valuable for your learning experience.
This article describes the Unified Extensible Firmware Interface, which is a specification that defines the
architecture of the platform firmware used for booting and its interface for interaction with the operating system.
Examples of firmware that implement the specification are AMI Aptio, Phoenix SecureCore, TianoCore EDK II,
InsydeH2O.
UEFI
BIOS/UEFI-Video by InstuctiorSo, as I discussed all the hardware in lessons one and two, I really talked about
physical hardware. So I talked about the motherboard, all its components, the external buses, internal buses. That's
all run by software and it's not your operating system, okay? A lot of people go, they operate now is actually lower
level than that. So we're talking about, we used to call it the Basic Input Output Systems, some people still have it.
Or the updated UEFI, which is Unified Extensible Firmware Interface. Whether you have BIOS or UFI or a
combination of both, doesn't really matter. But what that is, is that's the underlying code, on the motherboard that
runs everything, okay? This is the lowest level of firmware, we call it Firmware because that's what it is. It's stored
in a little chip called an EEPROM, which is electronically erasable programmable read only memory. Try that on
your next trivia night. Anyways, what it is, is we call it flash bias, okay? So what means is that, manufacturers when
they produce something like a motherboard, may find an error or a problem, maybe the newest CPU doesn't work
right or needs an upgrade for a CPU. They have you download a piece of software, and they tell you to flash the
bias, meaning it's going to overwrite that chip. The chip itself is electronically erasable. So that means you can use
software to erase it, and basically rewrite the code. That code is nothing, you would know it's in very much machine
language type code. There are people who we used to be able to replace those chips on the motherboard. They since
removed that ability many years ago, because people were putting the wrong chips in or they would put some kind
of chip that was incompatible. So they just give you the ability to flash it. Now, flashing a bias means upgrading that
software. Now, because it's software and this is just to note, you'll see a lot of newer types of things we call types of
malware or bad malware that they're trying to infiltrate or write code into that firmware. Which would then control
the entire motherboard. That is something that's been coming up, and sometimes you hear people talk about the type
of malware that will get into your BIOS or UFI. They're trying to put what's called a backdoor or a rootkit into that
firmware. And it takes a lot of talent to write that kind of code, anyways to get it in there. But fundamentally, this is
the code that runs the board. The operating system will talk to this, to understand what the board has. But this is
what runs the motherboard. So, I'm using a biostimulator, it just simulates what a screen will look like. In UFI, we
would have something of more of a mouse driven, but the settings are essentially the same, they really didn't change.
They just made it easier for the user, they like to make little automation like moving fans. There are limitations to
BIOS which has to do with storage capacities, things like that. But a lot of manufacturers have gone through the
transition phase where they support both. They support both BIOS and UFI because a lot of people don't really
they're using legacy stuff, they really don't want to go to the newer stuff. So they support both because once you go
to UFI, you no longer can use some of your legacy OSS. It also has a form of security that BIOS didn't, which is
called secure boot. Which you'll read about when you read about it in the articles in the course. Where it won't allow
software to be installed unless it's signed by the manufacturer, like Windows or whoever you're using. So let's take a
look at your basic Bio settings. So your basic Biosense with system time, that's the actual board time. Sometimes
when you install your operating system, it'll say do you want me to sync to board time? Do you want your board
time, to sync to the operating system? Do you want the operating system to sync to Microsoft or Macintosh time
servers? Completely up to you, but all clocks should be in sync. They all should be the same, okay. So system time
is actually what the board time is. So then you go to stuff like system date, so whatever the date is, notice it says disk
at. Believe it or not, even today you still see support what's called a disk at or floppy disk. So if you go back and you
can see this one goes all the way back to the old simulator. This goes back to 360K, if you don't know if that five and
a quarter inch, I actually have an interesting story there it is real quick. I was helping an archaeology group, that was
trying to pull in all their data from all their archaeological digs. And they wanted to put it into a central database so
that the public could see it. Well, unfortunately all their data was written most of it on five and a quarter inch floppy
disks. And nobody makes a five and a quarter inch floppy disk anymore. So we went to a scrap yard or basically a
computer boneyard, we found one, then we had to figure out how to get it. We had to find an old machine to
interface it with because we don't even have the cables anymore. So we got that to work, and we were able to
retrieve all that archaeological data. So yeah, there is floppy disks. I actually have a box of pristine five and a
quarters in the wrapper, because I know someday it'll be worth a million. Anyways from that time period, but we
don't use generally floppy disks anymore. I can't say they're completely gone because, I omega zip disk still exists
and those are pretty old. But, this store supports floppy disk. Floppy disks are the disk that you used to plug in, in
order to configure a machine or boot a machine. In the old days, the whole operating system was on floppy disks.
Now, they don't use these terms in CompTIA anymore, though the Bio still has, and this is an older one, which is
master slave, they don't use it, they say primary, secondary. This supports what we call an EIDE bus, or Enhanced
Integrated Data Electronics bus. The drives, like I said, may be gone, they may still exist. Because I've had students
tell me, I found one of these still working, I'm like, I'm impressed. But what it is, is you could put two drives, two of
these types of drives, which were 40 pin on two different chains. Where SATA, you can chain them up to 100 and
some OD drives can't remember the exact number. But, these were limited to four physical disks that you could plug
in. Nowadays it's usually just recognizes a SATA plugin, you plug it in, it says SATA recognizes. That what the
BIOS does, and what modern systems do is they read the geometry of the storage. The geometry is actually stored
on the bottom of the device or if it's a solid state, it's in the device, it tells the system BIOS or UFI. If you're running
UFI, what is the configuration of that device, how big is it? What is its capacity, so that when your operating system
comes around to write on it, it knows the geometry of it. Once again, every one of the boards, no matter what you
have, whether you're using Biosi, has a password. You can set, a user password and a supervisory password. Why is
that important, well, if you are working in industry and you don't want people to mess around with the machine on
their desk. Because they took a computer class and now know how to get into the BIOS or settings. You put a
password on it so they don't turn things on and off. One of the regulatory compliance issues is that you cannot use
USB in a healthcare environment, that's by regulatory issues. So you turn off USB ports so that if somebody plugs
in, they can't use it. You can turn that back on, inside of the UFI or BIOS. So you put a password on your UFI BIOS
so that somebody can't get in there, unless they have a password. Some advanced settings you'll see on most of the
machines is, the speed is set, you usually don't get to it. Now if you're playing as a moderate, some people like to
mod things. Some of the third party motherboard manufacturers, have custom settings where you can tweak things.
Be very careful when you tweak things, you can cause problems for your operating system. But yeah, they have
sometimes modifications where you can mod things. Generally all this does is it reads the board, it's a very standard
one. This is kind of interesting CPU cache, and we're going to talk about cache later. Level One, level Two cache,
they let you turn it off. Well, it says it's enabled, but they used to, let you turn it on or turn it off. Not a good idea,
nowadays they don't even let you do that. But on the old days they let you play around with that. That's the memory
inside the CPU itself, not on the board like I had shown you. You can play around a little bit with chip config. Like I
said, there's sometimes some custom or IO device or if you have PCI, sometimes you run across some custom
configs. Generally not much, it depends on the board manufacturer, power management. Nowadays you're going to
see a lot of this. Given they want machines to be more green, you can set them at different power levels, actually
laptops by themselves. When you're using them, the CPU is asleep, if you're not doing anything that requires CPU
intervention, your CPU goes asleep, or what they call low power mode. It doesn't do anything, it just sits there, and
it doesn't wake up until it really needs to do something. It's to save power, just like your screen will go blank, that's
to save power. Like on portable devices most of the power is drained by either the storage or the screen mostly the
screen. And on desktops that's why they block the screen, to save power. They'll set it into power management. Once
again, it is just one of those settings that both UEFI and BIOS have. Boot, this is important. Notice it says boot, this
is the sequence of boot. A lot of people don't look at their boot sequence or they forget what their boot sequence is.
We used to tell people set it to like CDROM, then your hard drive, well, CDROMs are not in machines anymore, we
don't even get them. But they do give you the ability to boot from USB and newer systems. The reason you want
that first, sometimes is for data recovery. So if your machine crashes and your drive won't boot, your machine will
just sit there. You want to be able to boot off an external hard drive connected via USB, so you can basically connect
and get going. So boot sequence, you can even boot from network, when you hear the term thin client. Thin client
means boot from a network, meaning that some machine somewhere is going to give you your operating system.
And finally with some of the settings, last setting you exit, and usually they tell you on an exit, whether you want to
save changes, load changes. What's nice on exit is if you think somebody has tampered with the settings or messed
with the firmware settings. You can load default settings, turn it back to where the manufacturer did it and
sometimes that fixes the problem. So key things to remember your BIOS or UFI, whether you have both or one or
the other, that's the code that runs the motherboard. It is upgradable, it is flashable. One last note before I end this.
Never flash your BIOS or UFI unless, it is to solve a problem. Because, what you could do is introduce another
problem. You only upgrade to BIOS or UFI, if there is an issue that they're trying to fix. If you don't have that issue
don't upgrade it, because you could introduce new problems. Believe it or not, there's times when you don't want to
upgrade your BIOS or UFI. Once again, this is the integrated software inside the chip on your motherboard, okay.
It's an EE prom, it's not a prom. It's an electronically erasable programmable read only memory, for Trivial Pursuit.
That is the one you flash and update.
(Required)
Question 2
Question 3
Question 4
What is a digital circuit within the processor that performs integer arithmetic and bitwise logic operations?1 point
I. GPU
II. TPM
III. Register
IV. ALU
Question 5
I. Microphone
II. Printer
IV. Keyboard
Question 6
I. CMOS battery
III. Northbridge
IV. Southbridge
Question 7
I. HDMI
II. Serial
III. VGA
IV. Thunderbolt
Question 8
I. Windows driver
Question 9
I. CMOS
III. I/O
I. PCIe slots
Question 11
When an instruction is sent to the CPU in a binary pattern, how does the CPU know what instruction the pattern
means?1 point
II. Register
III. Translator
IV. Codebook
Question 12
The job of the southbridge is to act as the interface between the CPU and what?1 point
I. Slow hardware
III. RAM
Question 13
Question 14
I. RJ11
II. Coax
III. RJ45
IV. BNC
Module 1 Summary
After completing all of the materials, please take a moment to reflect on what was covered. The learning objectives
below capture the key takeaways from this module:
Computer Bus:The reading material for this lesson entails a Wikipedia page dedicated
to computer buses
This article is about buses in computer hardware. For buses in software, see Software bus.
Four PCI Express bus card slots (from top to second from bottom: ×4, ×16, ×1 and ×16), compared to a
32-bit conventional PCI bus card slot (very bottom)
In computer architecture, a bus[1] (shortened form of the Latin omnibus, and historically also called data
highway[2] or databus) is a communication system that transfers data between components inside a
computer, or between computers. This expression covers all related hardware components (wire, optical
fiber, etc.) and software, including communication protocols.[3]
Early computer buses were parallel electrical wires with multiple hardware connections, but the term is
now used for any physical arrangement that provides the same logical function as a parallel electrical
busbar. Modern computer buses can use both parallel and bit serial connections, and can be wired in
either a multidrop (electrical parallel) or daisy chain topology, or connected by switched hubs, as in the
case of Universal Serial Bus (USB).
iii. I/O (input/output) devices as peripherals that communicate with the outside world.
Some Important points on wikipedia page:
An early computer might contain a hand-wired CPU of vacuum tubes, a magnetic drum for main
memory, and a punch tape and printer for reading and writing data respectively. A modern system might
have a multi-core CPU, DDR4 SDRAM for memory, a solid-state drive for secondary storage, a graphics
card and LCD as a display system, a mouse and keyboard for interaction, and a Wi-Fi connection for
networking. In both examples, computer buses of one form or another move data between all of these
devices.
In most traditional computer architectures, the CPU and main memory tend to be tightly coupled. A
microprocessor conventionally is a single chip which has a number of electrical connections on its pins that can
be used to select an "address" in the main memory and another set of pins to read and write the data stored at
that location. In most cases, the CPU and memory share signalling characteristics and operate in synchrony. The
bus connecting the CPU and memory is one of the defining characteristics of the system, and often referred to
simply as the system bus.
It is possible to allow peripherals to communicate with memory in the same fashion, attaching adapters,
either on the motherboard or in the form of expansion cards, directly to the system bus. This is
commonly accomplished through some sort of standardized electrical connector, several of these
forming the expansion bus or local bus. However, as the performance differences between the CPU and
peripherals varies widely, some solution is generally needed to ensure that peripherals do not slow
overall system performance. Many CPUs feature a second set of pins similar to those for communicating
with memory, but able to operate at very different speeds and using different protocols (e.g. UART, SPI,
and Ethernet).[disputed (for: What CPUs have those pins, and what do those pins do?) – discuss] Others
use smart controllers to place the data directly in memory, a concept known as direct memory access.
Most modern systems combine both solutions, where appropriate.
As the number of potential peripherals grew, using an expansion card for every peripheral became
increasingly untenable. This has led to the introduction of bus systems designed specifically to support
multiple peripherals. Common examples are the SATA ports in modern computers, which allow a number
of hard drives to be connected without the need for a card. However, these high-performance systems
are generally too expensive to implement in low-end devices, like a mouse. This has led to the parallel
development of a number of low-performance bus systems for these solutions, the most common
example being the standardized Universal Serial Bus (USB). All such examples may be referred to as
peripheral buses, although this terminology is not universal.
In modern systems the performance difference between the CPU and main memory has grown so great
that increasing amounts of high-speed memory is built directly into the CPU, known as a cache. In such
systems, CPUs communicate using high-performance buses that operate at speeds much greater than
memory, and communicate with memory using protocols similar to those used solely for peripherals in
the past. These system buses are also used to communicate with most (or all) other peripherals, through
adaptors, which in turn talk to other peripherals and controllers. Such systems are architecturally more
similar to multicomputers, over a bus rather than a network. In these cases, expansion buses are entirely
separate and no longer share any architecture with their host CPU (and may in fact support many
different CPUs, as is the case with PCI). What would have formerly been a system bus is now often
known as a front-side bus.
Given these changes, the classical terms "system", "expansion" and "peripheral" no longer have the
same connotations. Other common categorization systems are based on the bus's primary role,
connecting devices internally or externally, PCI vs. SCSI for instance. However, many common modern
bus systems can be used for both; SATA and the associated eSATA are one example of a system that
would formerly be described as internal, while certain automotive applications use the primarily external
IEEE 1394 in a fashion more similar to a system bus. Other examples, like InfiniBand and I²C were
designed from the start to be used both internally and externally.
*Internal buses:
The internal bus, also known as internal data bus, memory bus, system bus or front-side bus, connects all
the internal components of a computer, such as CPU and memory, to the motherboard. Internal data
buses are also referred to as local buses, because they are intended to connect to local devices. This bus
is typically rather quick and is independent of the rest of the computer operations.
*External buses:
The external bus, or expansion bus, is made up of the electronic pathways that connect the different
external devices, such as printer etc., to the computer.
Address bus: An address bus is a bus that is used to specify a physical address. When a
processor or DMA-enabled device needs to read or write to a memory location, it specifies that
memory location on the address bus (the value to be read or written is sent on the data bus).
The width of the address bus determines the amount of memory a system can address. For
example, a system with a 32-bit address bus can address 232 (4,294,967,296) memory locations.
If each memory location holds one byte, the addressable memory space is 4 GiB.
Address multiplexing :https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"section=5"
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"section=5"
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"section=5"
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"section=5"
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing) HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"& HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"action=edit
HYPERLINK "https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"&
HYPERLINK "https://en.wikipedia.org/w/index.php?
title=Bus_(computing)&action=edit§ion=5"section=5" HYPERLINK
"https://en.wikipedia.org/w/index.php?title=Bus_(computing)&action=edit§ion=5"section=5
Early processors used a wire for each bit of the address width. For example, a 16-bit address bus had 16
physical wires making up the bus. As the buses became wider and lengthier, this approach became
expensive in terms of the number of chip pins and board traces. Beginning with the Mostek 4096 DRAM,
address multiplexing implemented with multiplexers became common. In a multiplexed address scheme,
the address is sent in two equal parts on alternate bus cycles. This halves the number of address bus
signals required to connect to the memory. For example, a 32-bit address bus can be implemented by
using 16 lines and sending the first half of the memory address, immediately followed by the second half
memory address.
Typically two additional pins in the control bus -- a row-address strobe (RAS) and the column-address
strobe (CAS) -- are used to tell the DRAM whether the address bus is currently sending the first half of
the memory address or the second half.
Implementation:
Accessing an individual byte frequently requires reading or writing the full bus width (a word) at once. In
these instances the least significant bits of the address bus may not even be implemented - it is instead
the responsibility of the controlling device to isolate the individual byte required from the complete
word transmitted. This is the case, for instance, with the VESA Local Bus which lacks the two least
significant bits, limiting this bus to aligned 32-bit transfers.
Historically, there were also some examples of computers which were only able to address words -- word
machines.
Memory bus:
This section does not cite any sources. Please help improve this section by adding citations to reliable
sources. Unsourced material may be challenged and removed. (June 2023) (template removal help)
The memory bus is the bus which connects the main memory to the memory controller in computer
systems. Originally, general-purpose buses like VMEbus and the S-100 bus were used, but to reduce
latency, modern memory buses are designed to connect directly to DRAM chips, and thus are designed
by chip standards bodies such as JEDEC. Examples are the various generations of SDRAM, and serial
point-to-point buses like SLDRAM and RDRAM. An exception is the Fully Buffered DIMM which, despite
being carefully designed to minimize the effect, has been criticized for its higher latency.
Implementation details:
Buses can be parallel buses, which carry data words in parallel on multiple wires, or serial buses, which
carry data in bit-serial form. The addition of extra power and control connections, differential drivers,
and data connections in each direction usually means that most serial buses have more conductors than
the minimum of one used in 1-Wire and UNI/O. As data rates increase, the problems of timing skew,
power consumption, electromagnetic interference and crosstalk across parallel buses become more and
more difficult to circumvent. One partial solution to this problem has been to double pump the bus.
Often, a serial bus can be operated at higher overall data rates than a parallel bus, despite having fewer
electrical connections, because a serial bus inherently has no timing skew or crosstalk. USB, FireWire,
and Serial ATA are examples of this. Multidrop connections do not work well for fast serial buses, so most
modern serial buses use daisy-chain or hub designs.
Network connections such as Ethernet are not generally regarded as buses, although the difference is
largely conceptual rather than practical. An attribute generally used to characterize a bus is that power is
provided by the bus for the connected hardware. This emphasizes the busbar origins of bus architecture
as supplying switched or distributed power. This excludes, as buses, schemes such as serial RS-232,
parallel Centronics, IEEE 1284 interfaces and Ethernet, since these devices also needed separate power
supplies. Universal Serial Bus devices may use the bus supplied power, but often use a separate power
source. This distinction is exemplified by a telephone system with a connected modem, where the RJ11
connection and associated modulated signalling scheme is not considered a bus, and is analogous to an
Ethernet connection. A phone line connection scheme is not considered to be a bus with respect to
signals, but the Central Office uses buses with cross-bar switches for connections between phones.
However, this distinction—that power is provided by the bus—is not the case in many avionic systems,
where data connections such as ARINC 429, ARINC 629, MIL-STD-1553B (STANAG 3838), and EFABus
(STANAG 3910) are commonly referred to as “data buses” or, sometimes, "databuses". Such avionic data
buses are usually characterized by having several equipments or Line Replaceable Items/Units (LRI/LRUs)
connected to a common, shared media. They may, as with ARINC 429, be simplex, i.e. have a single
source LRI/LRU or, as with ARINC 629, MIL-STD-1553B, and STANAG 3910, be duplex, allow all the
connected LRI/LRUs to act, at different times (half duplex), as transmitters and receivers of data.[4]
Bus multiplexing:
Main article: Bus encoding § Other examples of bus encoding
The simplest system bus has completely separate input data lines, output data lines, and address lines.
To reduce cost, most microcomputers have a bidirectional data bus, re-using the same wires for input
and output at different times.[5]
Some processors use a dedicated wire for each bit of the address bus, data bus, and the control bus. For
example, the 64-pin STEbus is composed of 8 physical wires dedicated to the 8-bit data bus, 20 physical
wires dedicated to the 20-bit address bus, 21 physical wires dedicated to the control bus, and 15 physical
wires dedicated to various power buses.
Bus multiplexing requires fewer wires, which reduces costs in many early microprocessors and DRAM
chips. One common multiplexing scheme, address multiplexing, has already been mentioned. Another
multiplexing scheme re-uses the address bus pins as the data bus pins,[5] an approach used by
conventional PCI and the 8086. The various "serial buses" can be seen as the ultimate limit of
multiplexing, sending each of the address bits and each of the data bits, one at a time, through a single
pin (or a single differential pair).
History
Over time, several groups of people worked on various computer bus standards, including the IEEE Bus
Architecture Standards Committee (BASC), the IEEE "Superbus" study group, the open microprocessor
initiative (OMI), the open microsystems initiative (OMI), the "Gang of Nine" that developed EISA, etc.
[citation needed]
First generation
Early computer buses were bundles of wire that attached computer memory and peripherals.
Anecdotally termed the "digit trunk" in the early Australian CSIRAC computer,[6] they were named after
electrical power buses, or busbars. Almost always, there was one bus for memory, and one or more
separate buses for peripherals. These were accessed by separate instructions, with completely different
timings and protocols.
One of the first complications was the use of interrupts. Early computer programs performed I/O by
waiting in a loop for the peripheral to become ready. This was a waste of time for programs that had
other tasks to do. Also, if the program attempted to perform those other tasks, it might take too long for
the program to check again, resulting in loss of data. Engineers thus arranged for the peripherals to
interrupt the CPU. The interrupts had to be prioritized, because the CPU can only execute code for one
peripheral at a time, and some devices are more time-critical than others.
High-end systems introduced the idea of channel controllers, which were essentially small computers
dedicated to handling the input and output of a given bus. IBM introduced these on the IBM 709 in
1958, and they became a common feature of their platforms. Other high-performance vendors like
Control Data Corporation implemented similar designs. Generally, the channel controllers would do their
best to run all of the bus operations internally, moving data when the CPU was known to be busy
elsewhere if possible, and only using interrupts when necessary. This greatly reduced CPU load, and
provided better overall system performance.
To provide modularity, memory and I/O buses can be combined into a unified system bus.[7] In this case,
a single mechanical and electrical system can be used to connect together many of the system
components, or in some cases, all of them.
Later computer programs began to share memory common to several CPUs. Access to this memory bus
had to be prioritized, as well. The simple way to prioritize interrupts or bus access was with a daisy chain.
In this case signals will naturally flow through the bus in physical or logical order, eliminating the need for
complex scheduling.
Digital Equipment Corporation (DEC) further reduced cost for mass-produced minicomputers, and
mapped peripherals into the memory bus, so that the input and output devices appeared to be memory
locations. This was implemented in the Unibus of the PDP-11 around 1969.[8]
Early microcomputer bus systems were essentially a passive backplane connected directly or through
buffer amplifiers to the pins of the CPU. Memory and other devices would be added to the bus using the
same address and data pins as the CPU itself used, connected in parallel. Communication was controlled
by the CPU, which read and wrote data from the devices as if they are blocks of memory, using the same
instructions, all timed by a central clock controlling the speed of the CPU. Still, devices interrupted the
CPU by signaling on separate CPU pins.
For instance, a disk drive controller would signal the CPU that new data was ready to be read, at which
point the CPU would move the data by reading the "memory location" that corresponded to the disk
drive. Almost all early microcomputers were built in this fashion, starting with the S-100 bus in the Altair
8800 computer system.
In some instances, most notably in the IBM PC, although similar physical architecture can be employed,
instructions to access peripherals (in and out) and memory (mov and others) have not been made
uniform at all, and still generate distinct CPU signals, that could be used to implement a separate I/O
bus.
These simple bus systems had a serious drawback when used for general-purpose computers. All the
equipment on the bus had to talk at the same speed, as it shared a single clock.
Increasing the speed of the CPU becomes harder, because the speed of all the devices must increase as
well. When it is not practical or economical to have all devices as fast as the CPU, the CPU must either
enter a wait state, or work at a slower clock frequency temporarily,[9] to talk to other devices in the
computer. While acceptable in embedded systems, this problem was not tolerated for long in general-
purpose, user-expandable computers.
Such bus systems are also difficult to configure when constructed from common off-the-shelf
equipment. Typically each added expansion card requires many jumpers in order to set memory
addresses, I/O addresses, interrupt priorities, and interrupt numbers.
Second generation
This section does not cite any sources. Please help improve this section by adding citations to reliable
sources. Unsourced material may be challenged and removed. (June 2023) (template removal help)
"Second generation" bus systems like NuBus addressed some of these problems. They typically
separated the computer into two "worlds", the CPU and memory on one side, and the various devices on
the other. A bus controller accepted data from the CPU side to be moved to the peripherals side, thus
shifting the communications protocol burden from the CPU itself. This allowed the CPU and memory side
to evolve separately from the device bus, or just "bus". Devices on the bus could talk to each other with
no CPU intervention. This led to much better "real world" performance, but also required the cards to be
much more complex. These buses also often addressed speed issues by being "bigger" in terms of the
size of the data path, moving from 8-bit parallel buses in the first generation, to 16 or 32-bit in the
second, as well as adding software setup (now standardised as Plug-n-play) to supplant or replace the
jumpers.
However, these newer systems shared one quality with their earlier cousins, in that everyone on the bus
had to talk at the same speed. While the CPU was now isolated and could increase speed, CPUs and
memory continued to increase in speed much faster than the buses they talked to. The result was that
the bus speeds were now very much slower than what a modern system needed, and the machines were
left starved for data. A particularly common example of this problem was that video cards quickly outran
even the newer bus systems like PCI, and computers began to include AGP just to drive the video card.
By 2004 AGP was outgrown again by high-end video cards and other peripherals and has been replaced
by the new PCI Express bus.
An increasing number of external devices started employing their own bus systems as well. When disk
drives were first introduced, they would be added to the machine with a card plugged into the bus,
which is why computers have so many slots on the bus. But through the 1980s and 1990s, new systems
like SCSI and IDE were introduced to serve this need, leaving most slots in modern systems empty. Today
there are likely to be about five different buses in the typical machine, supporting various devices.
[citation needed]
Third generation
"Third generation" buses have been emerging into the market since about 2001, including
HyperTransport and InfiniBand. They also tend to be very flexible in terms of their physical connections,
allowing them to be used both as internal buses, as well as connecting different machines together. This
can lead to complex problems when trying to service different requests, so much of the work on these
systems concerns software design, as opposed to the hardware itself. In general, these third generation
buses tend to look more like a network than the original concept of a bus, with a higher protocol
overhead needed than early systems, while also allowing multiple devices to use the bus at once.
Buses such as Wishbone have been developed by the open source hardware movement in an attempt to
further remove legal and patent constraints from computer design.
The Compute Express Link (CXL) is an open standard interconnect for high-speed CPU-to-device and
CPU-to-memory, designed to accelerate next-generation data center performance.[10]
Parallel
• MBus
• MicroChannel or MCA
• Parallel ATA (also known as Advanced Technology Attachment, ATA, PATA, IDE, EIDE, ATAPI, etc.),
Hard disk drive, optical disk drive, tape drive peripheral attachment bus
• S-100 bus or IEEE 696, used in the Altair 8800 and similar microcomputers
• SS-50 Bus
• Runway bus, a proprietary front side CPU bus developed by Hewlett-Packard for use by its PA-
RISC microprocessor family
• GSC/HSC, a proprietary peripheral bus developed by Hewlett-Packard for use by its PA-RISC
microprocessor family
• Precision Bus, a proprietary bus developed by Hewlett-Packard for use by its HP3000 computer
family
• STEbus
• STD Bus (for STD-80 [8-bit] and STD32 [16-/32-bit]), FAQ Archived 2012-02-27 at the Wayback
Machine
• Unibus, a proprietary bus developed by Digital Equipment Corporation for their PDP-11 and early
VAX computers.
• Q-Bus, a proprietary bus developed by Digital Equipment Corporation for their PDP and later VAX
computers.
• PC/104
• PC/104-Plus
• PCI-104
• PCI/104-Express
• PCI/104
Serial
• 1-Wire
• HyperTransport
• I²C
• I3C (bus)
• SLIMbus
• Serial ATA (SATA), Hard disk drive, solid state drive, optical disc drive, tape drive peripheral
attachment bus
• UNI/O
• SMBus
Parallel
• IEEE-488 (also known as GPIB, General-Purpose Interface Bus, and HPIB, Hewlett-Packard
Instrumentation Bus)
• PC Card, previously known as PCMCIA, much used in laptop computers and other portables, but
fading with the introduction of USB and built-in network and modem connections
Serial
• Many field buses are serial data buses (not to be confused with the parallel "data bus" section of
a system bus or expansion card), several of which use the RS-485 electrical characteristics and
then specify their own protocol and connector:
• Modbus
• ARINC 429
• MIL-STD-1553
• IEEE 1355
• Camera Link
• eSATA
• ExpressCard
• RS-232
• Thunderbolt
• USB
• Futurebus
• InfiniBand
• QuickRing
• Small Computer System Interface (SCSI), Hard disk drive and tape drive peripheral attachment
bus
• Thunderbolt
Key concepts:
@Central Processing Unit:The reading material for this lesson entails a Wikipedia page dedicated to
the CPU. While Wikipedia pages are not usually our primary source for presenting educational
content, this particular page has been diligently reviewed by the author of this course. The author
affirms its reliability and deems it valuable for your learning experience.
This article discusses the central processing unit (CPU).The CPU is the most important processor in
your computer and executes instructions of a computer program, such as arithmetic, logic,
controlling, and input/output (I/O) operations.
@CPU Socket:he reading material for this lesson entails a Wikipedia page
dedicated to CPU Sockets. While Wikipedia pages are not usually our primary source for
presenting educational content, this particular page has been diligently reviewed by the author of
this course. The author affirms its reliability and deems it valuable for your learning experience.
This article describes how the CPU socket (also known as a CPU slot) serves as a crucial interface
between a microprocessor and a printed circuit board (PCB). Its primary purpose is to establish
both mechanical and electrical connections, allowing the central processing unit (CPU) to be easily
placed and replaced without the need for soldering.
All right, so welcome back. So now we're going to go into the world of the CPU and a world of the
power supply. Well, let's start first with the CPU and look at what are we talking about with the
CPU. Now this little utility which I'm going to have you do as a little lesson inside the course is to
look inside your actual CPU and you normally can't just rip it open and look at the guts inside the
CPU, you have to [LAUGH] actually run a utility. So this is a little utility called CPU Z. And what it
does is it allows me to look inside the CPU, see what kind of firmware, what kind of things are
running, and just talk about in general what the CPU is. So we see here, on my laptop here I'm
running an intel core I seven, okay? That means it's the 7th generation. It's an older CPU.
Nowadays CPUs come out about every three months or less. And notice importantly, it's using a
socket, okay? So one thing we always talk about is sockets. So I introduced them in the first lesson
about you have zero insertion force sockets, either at pins or you have little balls that come up from
the motherboard. But in this case, mine is a laptop with a non-upgradable CPU. So basically the
socket is a printed circuit board. They literally soldered it in there. Some manufacturers like some
of the gamer laptops, do have upgradable CPUs. You actually can remove them and put them in.
They use a special kind of wedge socket, which is not a normal socket. You actually put the CPU
and a screwdriver, you turn a **** and wedge it. It's very proprietary to [LAUGH] those particular
ones. In this case, most of your laptops don't have a removable CPU. Your desktop does but once
again, that's prevalent on the chipset. My chipset happens to be coffee like. Notice it gives you
technology builds about what the CPU is. It's 14 nanometers which is very, very small. They've
been trying to get to the ten I think AMD finally broke it, the ten nanometers. And basically, what
all that means is how much can I shove in that little tiny package that I call a CPU? We'll talk about
multicores and how many cores. There's some even some proprietary chips like 128 core CPUs, but
those are for proprietary use. Notice this one is family 6, and it tells me how fast it's running. So in
CPUs, we talk about it in Gigahertz. Now, normally we talk about this is how fast or how many
instructions the CPU can do in a given time period, all right, per second. Since it's in this socket, it's
welded, this is what it gets set up to do. It also gives me a set of all the instructions that this CPU
supports. Remember I talked about BIOS and Firmware and all that fun stuff. Well, these are all
the instructions inside the CPU. So once again, we have more software. Now, this software is not
upgradable. [LAUGH] You can't flash the CPU, not yet anyway, but this is all the features that they
build in the CPU. Once again, if you upgrade your CPU in a socket, whether it's Pins or whatever,
you have to make sure your chipset supports it and then that would upgrade the instruction set
within the CPU. Once again, I get core speeds of CPU. How fast it's going? Generally, with most
laptops, it has a power saving feature. When you're not doing anything, it shuts the CPU off or puts
it in low mode to save power when you're on battery because usually you're running half speed on
battery anyways. The reason being it's to save power. Most CPUs though like I said, use less than
one volt. Once again, we'll talk about cache later. But that's the internal memory inside the CPUs
that's sitting in that socket also gives me the bus speed. That's when remember when I talked about
motherboards, I said, front side bus, that's the front side bus, which is 100 MHz in this case. And
they tell you if there's any multipliers, so they multiply the bus eight times to do this. And it also
gives me some other interesting features in this particular piece of software when I'm trying to
investigate the CPU and its relationship to the board. So if you look also I can look at my
mainboard and it gives me specs about my mainboard that the CPU lives in. Kind of tells me all
about what the CPU is going to interact with, tells me memory, how much memory is on the board,
type of memory. We'll get into more of this later but for the CPU, we know that the sockets are
either in this case mine's, welded, but in a desktop, they could be zero insertion force, can be
upgraded, can be changed, mine can, of course, but you could also see memory. And this is
upgradable just like in a desktop, okay? SPD which we'll talk about, that's how it sets. The actually
every memory stick that we'll talk about that go into those slots has a little chip on it called SPD. It
actually tells the CPU and the firmware what it is, okay? It also tells me all my graphic controllers,
I can do benchmarking not necessary here. But for the CPU, the important part is to really
understand or look at your CPU and understand what type of socket I'm dealing with. Because if
you are going to upgrade a CPU and its socket, you really want to know what type of socket, what
does it support? Do I need to upgrade my firmware? Sometimes when we talked about bias and
UFI, when I said don't upgrade it unless necessary, sometimes you have to upgrade it before you
change out the CPU to a faster CPU. Because there's a limit to what maybe the board manufacturer
didn't know that chip was coming out or they put the board out prior to the manufacturer releasing
that CPU. So you want to make sure that you upgrade the board properly. Now, note it says cores,
okay? I just highlighted it in that socket, and you go, what is that? There are six cores. You say, no,
there's 5 0 is a significant number. Programmers always start at zero. That's why it says core zero
to core five so there's six, all right? Okay, so everybody gets confused by that. They say, no, it's five.
Now, zero is significant. All right, [LAUGH] okay, it's just like counting RAM. You'll find it zero
significant. But there are six cores in one little chip that fits into that one socket. That means I have
six real CPUs all stuffed into a little tiny chip. It's no longer we used to talk about single core
processors where you had one processor with everything in it, sat in your socket, and you're all set.
What happened and we actually just a little side note, we used to actually have to put in a second
chip called a Co processor, which was an arithmetic logic unit, which we used to call the fancy way
of saying it was the calculator for the CPU [LAUGH] and another socket. And some boards actually
supported dual sockets CPUs. So you'd have two CPU sockets, you put dual CPUs. Some boards
can take up to 15, 16 depends on the server board, many processors in sockets, and once again,
depends on the manufacturer, what they do, what they decide to do with the infrastructure. A lot of
the cloud servers have multicore, multisocketed processors, meaning those little servers which are
about 1.75 inches or one U, and have a mainboard that can take multiple sockets, which have
multiple CPUs, which are also multicores, we'll get into multicore next, but go over that they can
take multiple cores. So a single little chip is no longer just a single little chip. It could have multiple
CPUs within it that plug into this one little socket. So if you had two, three sockets, you potentially
could have if I had four sockets, six. Six cores ease that's 24 processors. Not calling the virtual
processor, which we'll get into later when we talk about Hyper Threading. So for this section,
during this lesson, I want to really show you the guts of your CPU, and I'll talk a little bit more
about what this all means as I go along. But for the CPU, the socket, this one is welded, and
desktops generally upgradable. However, in laptops, some of them do allow you to upgrade but
your firmware has to be able to support it so does the socket. If you use the wrong socket, it won't
fit, or you'll cause mayhem [LAUGH] or damage, okay? So this is the covering of just lesson one,
okay?
(Required)
Electronic principles
Readings
#CPU QUIZ :
I. PGA or LGA
Question 2Die-integrated power managing module which regulates on-demand voltage supply to the
CPU circuitry is called?1 point
I. TPM
II. VPM
III. VRM
IV. ARM
In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and
other major system components that operate on data in 32-bit units.[1][2] Compared to smaller bit widths,
32-bit computers can perform large calculations more efficiently and process more data per clock cycle.
Typical 32-bit personal computers also have a 32-bit address bus, permitting up to 4 GB of RAM to be
accessed, far more than previous generations of system architecture allowed.[3]
32-bit designs have been used since the earliest days of electronic computing, in experimental systems
and then in large mainframe and minicomputer systems. The first hybrid 16/32-bit microprocessor, the
Motorola 68000, was introduced in the late 1970s and used in systems such as the original Apple
Macintosh. Fully 32-bit microprocessors such as the HP FOCUS, Motorola 68020 and Intel 80386 were
launched in the early to mid 1980s and became dominant by the early 1990s. This generation of personal
computers coincided with and enabled the first mass-adoption of the World Wide Web. While 32-bit
architectures are still widely-used in specific applications, the PC and server market has moved on to 64
bits with x86-64 since the mid-2000s with installed memory often exceeding the 32-bit 4G RAM address
limits on entry level computers. The latest generation of mobile phones have also switched to 64 bits.
A 32-bit register can store 232 different values. The range of integer values that can be stored in 32 bits
depends on the integer representation used. With the two most common representations, the range is 0
through 4,294,967,295 (232 − 1) for representation as an (unsigned) binary number, and −2,147,483,648
(−231) through 2,147,483,647 (231 − 1) for representation as two's complement.
One important consequence is that a processor with 32-bit memory addresses can directly access at most
4 GiB of byte-addressable memory (though in practice the limit may be lower).File formats
A 32-bit file format is a binary file format for which each elementary information is defined on 32 bits (or
4 bytes). An example of such a format is the Enhanced Metafile Format.
From the software perspective, 64-bit computing means the use of machine code with 64-bit virtual
memory addresses. However, not all 64-bit instruction sets support full 64-bit virtual memory addresses;
x86-64 and AArch64 for example, support only 48 bits of virtual address, with the remaining 16 bits of
the virtual address required to be all zeros (000...) or all ones (111...), and several 64-bit instruction sets
support fewer than 64 bits of physical memory address.
The term 64-bit also describes a generation of computers in which 64-bit processors are the norm. 64
bits is a word size that defines certain classes of computer architecture, buses, memory, and CPUs and,
by extension, the software that runs on them. 64-bit CPUs have been used in supercomputers since the
1970s (Cray-1, 1975) and in reduced instruction set computers (RISC) based workstations and servers
since the early 1990s. In 2003, 64-bit CPUs were introduced to the mainstream PC market in the form of
x86-64 processors and the PowerPC G5.
A 64-bit register can hold any of 264 (over 18 quintillion or 1.8×1019) different values. The range of
integer values that can be stored in 64 bits depends on the integer representation used. With the two
most common representations, the range is 0 through 18,446,744,073,709,551,615 (264 − 1) for
representation as an (unsigned) binary number, and −9,223,372,036,854,775,808 (−263) through
9,223,372,036,854,775,807 (263 − 1) for representation as two's complement. Hence, a processor
with 64-bit memory addresses can directly access 264 bytes (16 exbibytes or EiB) of byte-
addressable memory.
With no further qualification, a 64-bit computer architecture generally has integer and addressing
registers that are 64 bits wide, allowing direct support for 64-bit data types and addresses.
However, a CPU might have external data buses or address buses with different sizes from the
registers, even larger (the 32-bit Pentium had a 64-bit data bus, for instance).[1]
Architectural implications
Processor registers are typically divided into several groups: integer, floating-point, single
instruction, multiple data (SIMD), control, and often special registers for address arithmetic which
may have various uses and names such as address, index, or base registers. However, in modern
designs, these functions are often performed by more general purpose integer registers. In most
processors, only integer or address-registers can be used to address data in memory; the other
types of registers cannot. The size of these registers therefore normally limits the amount of directly
addressable memory, even if there are registers, such as floating-point registers, that are wider.
Most high performance 32-bit and 64-bit processors (some notable exceptions are older or
embedded ARM architecture (ARM) and 32-bit MIPS architecture (MIPS) CPUs) have integrated
floating point hardware, which is often, but not always, based on 64-bit units of data. For example,
although the x86/x87 architecture has instructions able to load and store 64-bit (and 32-bit)
floating-point values in memory, the internal floating-point data and register format is 80 bits wide,
while the general-purpose registers are 32 bits wide. In contrast, the 64-bit Alpha family uses a 64-
bit floating-point data and register format, and 64-bit integer registers
A multi-core processor implements multiprocessing in a single physical package. Designers may couple
cores in a multi-core device tightly or loosely. For example, cores may or may not share caches, and they
may implement message passing or shared-memory inter-core communication methods. Common
network topologies used to interconnect cores include bus, ring, two-dimensional mesh, and crossbar.
Homogeneous multi-core systems include only identical cores; heterogeneous multi-core systems have
cores that are not identical (e.g. big.LITTLE have heterogeneous cores that share the same instruction
set, while AMD Accelerated Processing Units have cores that do not share the same instruction set). Just
as with single-processor systems, cores in multi-core systems may implement architectures such as VLIW,
superscalar, vector, or multithreading.
Multi-core processors are widely used across many application domains, including general-purpose,
embedded, network, digital signal processing (DSP), and graphics (GPU). Core count goes up to even
dozens, and for specialized chips over 10,000,[3] and in supercomputers (i.e. clusters of chips) the count
can go over 10 million (and in one case up to 20 million processing elements total in addition to host
processors).[4]
The improvement in performance gained by the use of a multi-core processor depends very much on the
software algorithms used and their implementation. In particular, possible gains are limited by the
fraction of the software that can run in parallel simultaneously on multiple cores; this effect is described
by Amdahl's law. In the best case, so-called embarrassingly parallel problems may realize speedup
factors near the number of cores, or even more if the problem is split up enough to fit within each core's
cache(s), avoiding use of much slower main-system memory. Most applications, however, are not
accelerated as much unless programmers invest effort in refactoring.[5]
In the consumer market, dual-core processors (that is, microprocessors with two units) started becoming
commonplace in the late 2000s.[7] Quad-core processors were also being adopted for higher-end
systems. In the late 2010s, hexa-core (six cores) started entering the mainstream.[8]
hm's law states that the electric current through a conductor between two points is
directly proportional to the voltage across the two points. Introducing the constant of proportionality,
the resistance,[1] one arrives at the three mathematical equations used to describe this relationship:[2]
where I is the current through the conductor, V is the voltage measured across the conductor and R is
the resistance of the conductor. More specifically, Ohm's law states that the R in this relation is constant,
independent of the current.[3] If the resistance is not constant, the previous equation cannot be called
Ohm's law, but it can still be used as a definition of static/DC resistance.[4] Ohm's law is an empirical
relation which accurately describes the conductivity of the vast majority of electrically conductive
materials over many orders of magnitude of current. However some materials do not obey Ohm's law;
these are called non-ohmic.
The law was named after the German physicist Georg Ohm, who, in a treatise published in 1827,
described measurements of applied voltage and current through simple electrical circuits containing
various lengths of wire. Ohm explained his experimental results by a slightly more complex equation
than the modern form above (see § History below).
In physics, the term Ohm's law is also used to refer to various generalizations of the law; for example the
vector form of the law used in electromagnetics and material science:
where J is the current density at a given location in a resistive material, E is the electric field at that
location, and σ (sigma) is a material-dependent parameter called the conductivity. This reformulation of
Ohm's law is due to Gustav Kirchhoff.[5]
A power supply unit (PSU) converts mains AC to low-voltage regulated DC power for
the internal components of a computer. Modern personal computers universally use switched-mode
power supplies. Some power supplies have a manual switch for selecting input voltage, while others
automatically adapt to the main voltage.
Most modern desktop personal computer power supplies conform to the ATX specification, which
includes form factor and voltage tolerances. While an ATX power supply is connected to the mains
supply, it always provides a 5-volt standby (5VSB) power so that the standby functions on the computer
and certain peripherals are powered. ATX power supplies are turned on and off by a signal from the
motherboard. They also provide a signal to the motherboard to indicate when the DC voltages are in
spec, so that the computer is able to safely power up and boot. The most recent ATX PSU standard is
version 3.0 as of mid-2022.
RAID levels
Readings
Computer memory stores information, such as data and programs for immediate use
in the computer.[2] The term memory is often synonymous with the term primary storage or main
memory. An archaic synonym for memory is store.[3]
DDR4 SDRAM module. As of 2021, over 90 percent of computer memory used in PCs and servers was of
this type.[1]
Computer memory operates at a high speed compared to storage which is slower but less expensive and
higher in capacity. Besides storing opened programs, computer memory serves as disk cache and write
buffer to improve both reading and writing performance. Operating systems borrow RAM capacity for
caching so long as not needed by running software.[4] If needed, contents of the computer memory can
be transferred to storage; a common way of doing this is through a memory management technique
called virtual memory.
Modern computer memory is implemented as semiconductor memory,[5][6] where data is stored within
memory cells built from MOS transistors and other components on an integrated circuit.[7] There are
two main kinds of semiconductor memory: volatile and non-volatile. Examples of non-volatile memory
are flash memory and ROM, PROM, EPROM and EEPROM memory. Examples of volatile memory are
dynamic random-access memory (DRAM) used for primary storage, and static random-access memory
(SRAM) used for CPU cache.
Most semiconductor memory is organized into memory cells each storing one bit (0 or 1). Flash memory
organization includes both one bit per memory cell and multi-level cell capable of storing multiple bits
per cell. The memory cells are grouped into words of fixed word length, for example, 1, 2, 4, 8, 16, 32, 64
or 128 bits. Each word can be accessed by a binary address of N bits, making it possible to store 2N
words in the memory.
History
Electromechanical memory used in the IBM 602, and early punch multiplying calculator
In the early 1940s, memory technology often permitted a capacity of a few bytes. The first electronic
programmable digital computer, the ENIAC, using thousands of vacuum tubes, could perform simple
calculations involving 20 numbers of ten decimal digits stored in the vacuum tubes.
The next significant advance in computer memory came with acoustic delay-line memory, developed by
J. Presper Eckert in the early 1940s. Through the construction of a glass tube filled with mercury and
plugged at each end with a quartz crystal, delay lines could store bits of information in the form of sound
waves propagating through the mercury, with the quartz crystals acting as transducers to read and write
bits. Delay-line memory was limited to a capacity of up to a few thousand bits.
Two alternatives to the delay line, the Williams tube and Selectron tube, originated in 1946, both using
electron beams in glass tubes as means of storage. Using cathode-ray tubes, Fred Williams invented the
Williams tube, which was the first random-access computer memory. The Williams tube was able to
store more information than the Selectron tube (the Selectron was limited to 256 bits, while the
Williams tube could store thousands) and less expensive. The Williams tube was nevertheless
frustratingly sensitive to environmental disturbances.
8 GB microSDHC card on top of 8 bytes of magnetic-core memory (1 core is 1 bit.)
Efforts began in the late 1940s to find non-volatile memory. Magnetic-core memory allowed for recall of
memory after power loss. It was developed by Frederick W. Viehe and An Wang in the late 1940s, and
improved by Jay Forrester and Jan A. Rajchman in the early 1950s, before being commercialized with the
Whirlwind computer in 1953.[8] Magnetic-core memory was the dominant form of memory until the
development of MOS semiconductor memory in the 1960s.[9]
The first semiconductor memory was implemented as a flip-flop circuit in the early 1960s using bipolar
transistors.[9] Semiconductor memory made from discrete devices was first shipped by Texas
Instruments to the United States Air Force in 1961. The same year, the concept of solid-state memory on
an integrated circuit (IC) chip was proposed by applications engineer Bob Norman at Fairchild
Semiconductor.[10] The first bipolar semiconductor memory IC chip was the SP95 introduced by IBM in
1965.[9] While semiconductor memory offered improved performance over magnetic-core memory, it
remain larger and more expensive and did not displace magnetic-core memory until the late 1960s.[9]
[11]
MOS memory:
The invention of the metal–oxide–semiconductor field-effect transistor (MOSFET) enabled the practical
use of metal–oxide–semiconductor (MOS) transistors as memory cell storage elements. MOS memory
was developed by John Schmidt at Fairchild Semiconductor in 1964.[12] In addition to higher
performance, MOS semiconductor memory was cheaper and consumed less power than magnetic core
memory.[13] In 1965, J. Wood and R. Ball of the Royal Radar Establishment proposed digital storage
systems that use CMOS (complementary MOS) memory cells, in addition to MOSFET power devices for
the power supply, switched cross-coupling, switches and delay-line storage.[14] The development of
silicon-gate MOS integrated circuit (MOS IC) technology by Federico Faggin at Fairchild in 1968 enabled
the production of MOS memory chips.[15] NMOS memory was commercialized by IBM in the early 1970s.
[16] MOS memory overtook magnetic core memory as the dominant memory technology in the early
1970s.[13]
The two main types of volatile random-access memory (RAM) are static random-access memory (SRAM)
and dynamic random-access memory (DRAM). Bipolar SRAM was invented by Robert Norman at Fairchild
Semiconductor in 1963,[9] followed by the development of MOS SRAM by John Schmidt at Fairchild in
1964.[13] SRAM became an alternative to magnetic-core memory, but requires six transistors for each bit
of data.[17] Commercial use of SRAM began in 1965, when IBM introduced their SP95 SRAM chip for the
System/360 Model 95.[9]
Toshiba introduced bipolar DRAM memory cells for its Toscal BC-1411 electronic calculator in 1965.[18]
[19] While it offered improved performance, bipolar DRAM could not compete with the lower price of the
then dominant magnetic-core memory.[20] MOS technology is the basis for modern DRAM. In 1966,
Robert H. Dennard at the IBM Thomas J. Watson Research Center was working on MOS memory. While
examining the characteristics of MOS technology, he found it was possible to build capacitors, and that
storing a charge or no charge on the MOS capacitor could represent the 1 and 0 of a bit, while the MOS
transistor could control writing the charge to the capacitor. This led to his development of a single-
transistor DRAM memory cell.[17] In 1967, Dennard filed a patent for a single-transistor DRAM memory
cell based on MOS technology.[21] This led to the first commercial DRAM IC chip, the Intel 1103 in
October 1970.[22][23][24] Synchronous dynamic random-access memory (SDRAM) later debuted with
the Samsung KM48SL2000 chip in 1992.[25][26]
The term memory is also often used to refer to non-volatile memory including read-only memory (ROM)
through modern flash memory. Programmable read-only memory (PROM) was invented by Wen Tsing
Chow in 1956, while working for the Arma Division of the American Bosch Arma Corporation.[27][28] In
1967, Dawon Kahng and Simon Sze of Bell Labs proposed that the floating gate of a MOS semiconductor
device could be used for the cell of a reprogrammable ROM, which led to Dov Frohman of Intel inventing
EPROM (erasable PROM) in 1971.[29] EEPROM (electrically erasable PROM) was developed by Yasuo
Tarui, Yutaka Hayashi and Kiyoko Naga at the Electrotechnical Laboratory in 1972.[30] Flash memory was
invented by Fujio Masuoka at Toshiba in the early 1980s.[31][32] Masuoka and colleagues presented the
invention of NOR flash in 1984,[33] and then NAND flash in 1987.[34] Toshiba commercialized NAND
flash memory in 1987.[35][36][37]
Developments in technology and economies of scale have made possible so-called very large memory
(VLM) computers.[37]
Volatile memory:
Volatile memory is computer memory that requires power to maintain the stored information. Most
modern semiconductor volatile memory is either static RAM (SRAM) or dynamic RAM (DRAM).[a] DRAM
dominates for desktop system memory. SRAM is used for CPU cache. SRAM is also found in small
embedded systems requiring little memory.
SRAM retains its contents as long as the power is connected and may use a simpler interface, but
requires six transistors per bit. Dynamic RAM is more complicated for interfacing and control, needing
regular refresh cycles to prevent losing its contents, but uses only one transistor and one capacitor per
bit, allowing it to reach much higher densities and much cheaper per-bit costs.[2][23][37]
Non-volatile memory:
Non-volatile memory can retain the stored information even when not powered. Examples of non-volatile
memory include read-only memory, flash memory, most types of magnetic computer storage devices
(e.g. hard disk drives, floppy disks and magnetic tape), optical discs, and early computer storage methods
such as paper tape and punched cards.[37]
Semi-volatile memory:
A third category of memory is semi-volatile. The term is used to describe a memory that has some limited
non-volatile duration after power is removed, but then data is ultimately lost. A typical goal when using a
semi-volatile memory is to provide the high performance and durability associated with volatile
memories while providing some benefits of non-volatile memory.
For example, some non-volatile memory types experience wear when written. A worn cell has increased
volatility but otherwise continues to work. Data locations which are written frequently can thus be
directed to use worn circuits. As long as the location is updated within some known retention time, the
data stays valid. After a period of time without update, the value is copied to a less-worn circuit with
longer retention. Writing first to the worn area allows a high write rate while avoiding wear on the not-
worn circuits.[38]
As a second example, an STT-RAM can be made non-volatile by building large cells, but doing so raises
the cost per bit and power requirements and reduces the write speed. Using small cells improves cost,
power, and speed, but leads to semi-volatile behavior. In some applications, the increased volatility can
be managed to provide many benefits of a non-volatile memory, for example by removing power but
forcing a wake-up before data is lost; or by caching read-only data and discarding the cached data if the
power-off time exceeds the non-volatile threshold.[39]
The term semi-volatile is also used to describe semi-volatile behavior constructed from other memory
types. For example, a volatile and a non-volatile memory may be combined, where an external signal
copies data from the volatile memory to the non-volatile memory, but if power is removed before the
copy occurs, the data is lost. Or, a battery-backed volatile memory, and if external power is lost there is
some known period where the battery can continue to power the volatile memory, but if power is off for
an extended time, the battery runs down and data is lost.[37]
Management:
Proper management of memory is vital for a computer system to operate properly. Modern operating
systems have complex systems to properly manage memory. Failure to do so can lead to bugs or slow
performance.Bugs
Improper management of memory is a common cause of bugs, including the following types:
A memory leak occurs when a program requests memory from the operating system and never returns
the memory when it is done with it. A program with this bug will gradually require more and more
memory until the program fails as the operating system runs out.
A segmentation fault results when a program tries to access memory that it does not have permission to
access. Generally, a program doing so will be terminated by the operating system.
A buffer overflow occurs when a program writes data to the end of its allocated space and then continues
to write data beyond this to memory that has been allocated for other purposes. This may result in
erratic program behavior, including memory access errors, incorrect results, a crash, or a breach of
system security. They are thus the basis of many software vulnerabilities and can be maliciously
exploited.
Virtual memory:
Virtual memory is a system where physical memory is managed by the operating system typically with
assistance from a memory management unit, which is part of many modern CPUs. It allows multiple
types of memory to be used. For example, some data can be stored in RAM while other data is stored on
a hard drive (e.g. in a swapfile), functioning as an extension of the cache hierarchy. This offers several
advantages. Computer programmers no longer need to worry about where their data is physically stored
or whether the user's computer will have enough memory. The operating system will place actively used
data in RAM, which is much faster than hard disks. When the amount of RAM is not sufficient to run all
the current programs, it can result in a situation where the computer spends more time moving data
from RAM to disk and back than it does accomplishing tasks; this is known as thrashing.Protected
memory
Memory protection:
Protected memory is a system where each program is given an area of memory to use and is prevented
from going outside that range. If the operating system detects that a program has tried to alter memory
that does not belong to it, the program is terminated (or otherwise restricted or redirected). This way,
only the offending program crashes, and other programs are not affected by the misbehavior (whether
accidental or intentional). Use of protected memory greatly enhances both the reliability and security of
a computer system.
Without protected memory, it is possible that a bug in one program will alter the memory used by
another program. This will cause that other program to run off of corrupted memory with unpredictable
results. If the operating system's memory is corrupted, the entire computer system may crash and need
to be rebooted. At times programs intentionally alter the memory used by other programs. This is done
by viruses and malware to take over computers. It may also be used benignly by desirable programs
which are intended to modify other programs, debuggers, for example, to insert breakpoints or hooks.
There are 3 content modules in this course and each module may take about 6 hours to complete. You can
advance at your own pace; a consistent pace will help you complete the module and move on to the next
course in the sequence. The final module consists of your final assessment for the course. You have to
pass module tests and final assessment with 80% of achievement. At the end of the course, you will
receive a Certificate of Completion branded by Coursera and IIT.
i. Readings: Each module may include several required and/or supplemental readings.
ii. Video Lessons: In each module, the concepts you need to know will be presented through a
collection of short videos. You may stream these videos for playback within the browser by
clicking on their titles.
iii. In-Video Questions. Some videos have questions associated with it to help verify your
understanding of the topics. These questions will automatically appear while watching the video
if you stream the video through your browser. These questions do not contribute toward your final
score in the class.
iv. Discussion Forum: This course has a place for you to interact with other learners about class-
related topics. Unless specified, discussion forums do not carry a score.
v. Practice Quizzes: Each module will include some practice quizzes, intended for you to assess
your understanding of the topics. You will be allowed unlimited attempts at each practice quiz.
There is no time limit on how long you take to complete each attempt at the quiz. These quizzes
do not contribute toward your final score in the class.
vi. Summative Module Assessments: Each module will include at least one summative module
assessment. You will be allowed three attempts per every eight hours for each assessment. There
is no time limit on how long you take to complete each attempt at the assessment. Your highest
grade will be recorded
vii. Final Assessment: This course will contain one final summative course assessment. I will be
allowed one attempt for this assessment.