Basio IO - Hardware
1. (Extremely) Basic Computer Architecture

Hardware Components of a Computer
- Input - various devices allow us to input
our instructions and our data to a computer. (Mouse, Keyboard, Touch Screen,
Scanners, Sensors, Voice Recognition, OCR, MICR, Digital Cameras, Graphical
Tablets)
- Output - various devices display the results
of the computer's work to us (Monitor, Printers, Plotters, Speakers)
- CPU - the brain of the computer. Carries
out our instructions and manipulates our data.
- RAM - random access memory. Hold the programs
(software) that instructs the computer on what output to produce and how to
handle our input. It also holds our data (eg. Word processing documents) It
erases when the computer turns off.
- Secondary Storage - Holds the software
and data when the computer is turned off and when RAM isn't using it. Slower
for the CPU to access than RAM, but it is cheaper than RAM. (Floppy disk,
Hard Disk, CD ROM, zip disk)
- ROM - holds the instructions to boot that
computer and the BIOS (Basic Input Output System). The boot instructions are
essentially a self test and the directions to load the Operating System (OS).
ROM can't (generally) be modified, unlike RAM and the Secondary Storage. It
doesn't erase when the computer is turned off.
To learn more about the hardware pieces of a computer, you should take ICE3M
- Computer Engineering.
Software Layers

In addition to hardware, there are some very important pieces of software (aka
programs and applications) that are needed to make your computer run. We are
going to learn how to write some very simple pieces of software in this class.
- OS - the basic software. It handles a
number of very important functions so that each application doesn't need to
do it. eg. File Management, Input/Output. MS-DOS, WindowsME, Linux, Unix and
MacOSX are all examples of Operating Systems.
- Computer Languages/Compilers - this is
software that allows us to write other software. Examples of computer languages
include Java, C++, C, Perl, Ada, Pascal and Visual Basic. Computer Languages
use the OS to do various things for them.
- Applications - this is software that most
people are familiar with. It allows us to enter data and manipulate it. Examples
include Netscape, Word, Excel, Adobe Photoshop, etc.
2. CPU Pieces
The CPU is the central processing unit. It is also called the microprocessor
or the 'brain' of the computer. The CPU is made of transistors. Transistors
are one of the most significant inventions in computer hardware. They made desktop
computers possible. They were created by Bell Labs in 1947.
2.1 ALU
- arithmetic logic unit
- part of the CPU
- handles the mathematical operations and boolean operations (eg. does x =1?
boolean operations can either result in a true or false)
2.2 CU
- control unit
- part of the CPU
- gets the instructions that the CPU needs to process. It initializes operations
in the ALU when it needs to. It also controls the flow of data around the
CPU.
2.3 buses
- conductor wires or conduits that transport data inside the CPU. There are
also buses to carry data around outside the CPU.
- buses have a certain bit-width. That is only a certain number of bits can
travel in them at the same time.
2.4 primary memory aka L1 aka cache
- this is the memory that is directly on the CPU
- it is very small and can't hold much data, but any data that is here is
very easily accessed by the CPU
2.5 secondary memory aka L2 aka cache
- this is memory that is fairly easily accessible by the CPU, but it
isn't directly on the CPU
- it is slower to access than L1 memory.