BRAND: Computer Architecture


Computer Architecture

Learning Outcomes

After completing these activities you should be able to:

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 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 things:
  1. The user and Programs (Applications) running on the user's behalf;
  2. The operating system; and
  3. 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 numbers and operations, a screen for outputting results, and it processes data by performing the mathematical operations you request, so ... it meets the definition.
This is 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 of basic components:

  1. 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?
  2. 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 (megabytes and gigabytes- more on those later)
  3. 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?)
  4. Why DoD hates the USB stick
    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 its way to a DoD computer [NY 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.

    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.

Here is a cool video demonstrating these components.

Now let's look at our machines! In order to find out what CPU and how much RAM you have, follow these steps.

  1. After clicking on the Windows Start button, select Control Panel
  2. Click on System and Security
  3. 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. However, 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 effort. So weapons systems may well use old hardware, if that hardware has been proven trustworthy.

There are weapon systems in use on naval platforms that run on 20-year-old 286 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 Windows 3.1.

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.

  1. Type 'Device Manager' in the Windows Search Bar and then click on Device Manager at the top, say 'yes' to any user account control questions.
Once it is opened you can click to expand things like Network adapters or DVD/CD-ROM drives you'll get some details about these peripherals.

To see how much storage space you have on your hard drive, do these steps.

  1. After pressing the Windows Start button, right click on File Explorer and select 'Manage' and say 'yes' to any user account control questions.
  2. On the left, under Storage, select Disk Management.
  3. Your hard drive should be listed as a storage device with its capacity.
Question: how many bits of storage is available on your hard drive?

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.

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 ...
  1. Fetch the next instruction from memory as a block of bytes
  2. Decode the bytes to determine what action the instruction specifies
  3. 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!

Review Questions:

  1. List and describe the FOUR parts of a computer discussed in this lesson.
  2. What are the THREE steps in the CPU's cycle?
  3. What are the three types of threats discussed in this lesson?

References

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.
https://www.nytimes.com/2010/08/26/technology/26cyber.html?_r=2&adxnnl=1&ref=technology&adxnnlx=1344855805-Jl0vqx8OPzqhZfgVLQ2C7w

"Fetch-decode-execute cycle." Bitesize. 2019.
https://www.bbc.com/bitesize/guides/z2342hv/revision/5

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.
https://www.wearethemighty.com/news/us-military-old-windows-software

United States. Congress. 2017. Public Law 115-91. Washington: December 12, 2017.
https://www.foreignaffairs.com/articles/united-states/2010-09-01/defending-new-domain