BRAND: Computer Architecture
After completing these activities you should be able to:
- Describe a computer as a device that manipulates digital data through input, processing, and output
- Name the major physical components of a computer, and describe their function
- Explain program launch and the CPU fetch-decode-execute cycle
The operating system is a go-between, between the physical machine and the users/programs (applications).
You will see a layered approach to topics in this course time and time again. Layered approaches are used for multiple reasons. Layered approaches allow details to be abstracted away allowing problems to be broken down and solved in smaller pieces, recursively so until the pieces are small enough for us to focus on. The construct of the cyber domain is a layered construct due to the design and nature of the core technology and the aspects of the cyber domain. Most importantly the seams in the layers have continually shown to be points where vulnerabilities exist. Understanding how the layers interact is crucial to operating within the cyber domain.
There is no right or wrong way to learn the layers in, in some cases we will start from the bottom, in others we will start from the top.
If you take a big picture view of a computer
, you get three
- The user and Programs (Applications) running on the user's behalf;
- The operating system; and
- The physical computer.
In this lesson we'll learn a bit about the physical computer. We will explore the operating system, and users and Programs in upcoming discussions.
What is a computer?
Basically, a computer is a device that can read in data,
process data, output data, and, optionally, store data.
Is a calculator a computer by this definition? It has keys for
inputting number and operations, a screen for outputting
results, and it processes data by performing the mathematical
operations you request, so ... it meets the definition.
This an Intel Core i5 CPU
Usually when we think "computer", we're thinking of a PC, a
laptop, or maybe a big server. A typical PC, laptop or server consists of a number basic
Central Processing Unit (CPU) - This is
essentially the brain of the computer. It executes instructions and controls data flow to and from other parts of the computer.
What CPU does your laptop have? Your smartphone? An iPad?
- Random Access Memory (RAM) - this is the CPU's short-term memory. It can only really compute with values it has loaded into
RAM, because the CPU itself can only remember a very small
number of things. For example, when you open up a program such as Microsoft Word, an instance of that program is loaded into RAM. However, when you save a Word document, the document is saved to the hard drive, mentioned below. When the power goes off, anything stored in RAM is lost.
RAM is usually measured in MB's or GB's (mega bytes and
giga bytes, remember?)
Hard Drive (HDD) - this is the computer's long-term memory.
Things stored here are remembered even after the power has
been turned off. Why bother with RAM then? Mostly
because the hard drive is much slower than RAM. If the
CPU needs to access a value often, it would slow down the
machine way too much to keep having to grab the value off
the hard drive. Continuing with the above Microsoft Word example, the actual Microsoft Word program and Word documents you have saved are stored on the hard drive.
Hard Drive space is usually measured in GB's or TB's (giga bytes and
tera bytes, remember?)
Why DoD hates the USB stick
Peripherals - These are components that are attached to the
computer in some way to increase
the capabilities of your computer but are not a part of
the core architecture of your
computer. These are things like keyboards, mice, monitors, webcams, printers,
scanners, and many others.
The hard drive is a peripheral, but it plays a central role
in how the computer functions, so we talk about it separately.
One of the most popular peripherals
for PCs and laptops
is the "USB stick" flash drive. You can get a key-fob with 16 GB of
storage on it — what's not to love?
Well, from the standpoint of an organization like the
DoD, there's a lot not to love. First off, USB
sticks are easy to lose, and they provide an easy way
for people to smuggle large amounts of sensitive data
out of a secure location. Second, USB sticks
can be "infected" by computer viruses, so they provide
an oft-used avenue to get viruses into secure
locations. Both of these problems can be catastrophic.
Think this is far-fetched? In 2008, an attack that's
been referred to as the "worst breach of U.S. military
computers in history" started with a virus-infected
USB flash drive that made it's way to a DoD computer
Times Aug 2010 article].
In the aftermath of the attack, flash drives were
banned in the DoD.
Today, DoD personnel may only use USB sticks
(flash drives) under very restricted circumstances.
The attack, and the counter operation
(named Buckshot Yankee) "marked a turning
point in U.S. cyber-defense strategy" according to
William J. Lynn III, the then deputy secretary of defense.
In order to find out what CPU and how much RAM you have, follow these steps.
- After clicking on the Windows Start button, select Control Panel
- Click on System and Security
- Under the System section, click View amount of RAM and processor speed
In the description of your System the description may say "32-bit"
or it may say "64-bit". A CPU is called "32-bit" if it stores
memory addresses in 32-bits. This allows for a maximum of 4GB of memory.
Most CPUs for PCs now are "64-bit", meaning the CPU uses 64 bits
to store memory addresses. This allows for a maximum of 16
billion GB of memory ... which is a lot. The Operating System (OS) is
either written to make full use of 64 bits for addresses, or only
32. If you see "32-bit", it probably means the OS is 32-bit.
In order to see what peripherals you have, follow these steps.
Why the Navy uses 20-year-old CPUs
With the continued evolution of CPUs and other hardware, you
might think that weapon systems always employ the latest and
greatest commercial CPUs.
weapon systems must operate for
many years and must be trusted to function correctly in all
sorts of conditions.
That level of trust or confidence in the hardware is, in many
applications, more important than speed.
Trusting hardware to perform up to this standard requires
many rigorous tests, and a significant investment of time and
So weapons systems may well use old hardware, if that hardware
has been proven trustworthy.
There are weapon systems in use on naval platforms
CPUs (16-bit, 25MHz; over a hundred times slower than
your laptops). Older hardware often means older
operating systems and older software too, such
As the Navy continues to employ increasingly network centric
platforms, engineers need to continually integrate new
technologies with older technologies (often technologies that
were not intended to be connected to networks), while maintaining
the trust and security required of weapon systems.
Your CAC has a computer.
The small gold plate at the bottom of your CAC is a computer.
It has a CPU ("Oberthur ID-One Cosmo 128K v5.5"), memory
(a whopping 144KB), inputs data (e.g.: you enter your PIN),
processes data (e.g.: performs cryptographic calculations),
and outputs data to the card reader.
The computer in your CAC draws power from the card reader.
- Type 'Device Manager' in the Windows Search Bar and then click on Device Manager at the top, say 'yes' to any user account control
Once it is opened you can click to expand things like Network adapters
you'll get some details about these peripherals.
To see how much storage space you have on your hard drive, do these steps.
- After pressing the Windows Start button, right click on File Explorer and select 'Manage' say 'yes' to any user account control
- On the left, under Storage, select Disk Management.
- Your hard drive should be listed as a storage device with its capacity.
how many bits of storage is available on your hard drive?
Fetch, Decode, Execute and the pulse of a CPU
A CPU leads a boring life. It performs the same three steps over,
and over and over and over and over ...
- Fetch the next instruction from memory as a block of bytes
- Decode the bytes to determine what action the instruction specifies
- Execute the action encoded in the instruction
... and it performs these steps hundreds of millions of times per second. A CPU's "clock speed" tells you
(not quite literally, but close) how many of these steps it can
perform each second. So a 1 GHz clock speed means roughly a
billion steps per second. Pretty fast, eh? There is a crystal
inside the CPU that vibrates at a given rate, and it provides
the "tick" for the CPU's clock. It is, if you will, the beating
heart of the CPU.
You may well ask how the instructions the CPU loads from memory
in the fetch step got there in the first place.
These instructions are loaded into memory initially from a file on disk
— namely the file that is "the Program" the CPU is running.
And so we come full circle, back to the previous lesson!
You can get a graph of how busy your CPU is over time:
a) press control+alt+delete,
b) choose Task Manager,
c) click on the Performance tab.
DOD takes action against hardware and software companies
The DOD has issued a warning against using any Lenovo equipment over fears of spying. DOD detected that Lenovo products were beaconing back
to remote users in what they believe were cyber intelligence gathering activities.
Lenovo is a Chinese company and 27% owned by Chinese Academy of Science, a government research institute.
DOD Issues Warning Against Lenovo
Similarly, President Trump acted on a recommendation from DHS and signed an executive order that banned the use of Kaspersky
software on any U.S. Government computer system. This was due to concerns that the Russian firm Kaspersky labs has close ties to the Kremlin
and may be sharing information with them.
Trump Signs Law Banning Kaspersky
Supply Chain Threats and Counterfeit Electronics
Supply Chain threats in the Cyber realm can take the form of counterfeit electronics or compromised software.
Counterfeit electronics usually come in 3 different forms:
- Old or refurbished equipment sold as "new". (Higher likelihood of failure)
- Wrong part put into the correct packaging to look like the correct part
- Compromised or cloned parts. Parts that look like the originals but are made with inferior parts and may be
embedded with malware or designed to fail or disrupt operations.
Compromised software usually has malware written directly into the code or embedded into the firmware of the device.
Counterfeit electronic components are such a great threat that in April of 2013 the DOD published the
DoD Instruction 4140.67,
"DoD Counterfeit Prevention Policy". The DOD is also considering making security the 4th selection criteria in the acquisition process
(cost, schedule and performance being the other three) as part of their pilot program “Deliver Uncompromised”.
Counterfeit parts can be a real problem for the organizations
that unknowingly purchase them too, either because they are unreliable (since
the counterfeiters rely on the real brand's reputation, not
their own, there's no concern for quality control) or because
they are purposely built to fail or to function improperly.
Of course legitimate businesses that produce electronics suffer too: they
lose sales, and when parts fail they — not the
counterfeiters — are blamed for the failure.
- List and describe the FOUR parts of a computer discussed in this lesson.
- What are the THREE steps in the CPU's cycle?
- What are the three types of threats discussed in this lesson.
Department of Defense. 2013. DoDI 4140.67: DoD Counterfeit Prevention Policy. Washington: April 26, 2013.
Knowlton, Brian. 2010. “Military Computer Attack Confirmed.” New York Times, August 25, 2010.
"Fetch-decode-execute cycle." Bitesize. 2019.
Lynn, William F. III. 2010. “Defending a New Domain - The Pentagon's Cyberstrategy." Foreign Affairs 89, no. 5 (September/October): 97-108.
Nye, Logan. "The Military Spends Millions to not Upgrade Computers." We Are The Mighty. February 19, 2019.
United States. Congress. 2017. Public Law 115-91. Washington: December 12, 2017.