LM2 – System Architecture & Processing

First, please see this page’s sub-menu items that importantly include the Numbering Systems presentation and tutorial (as introduced in LM 1, use a mouse roll-over on the 02 Architecture & Hardware menu item to see the sub-menu). As we move forward please keep Moore’s (processing power), Gilder’s (bandwidth), and Kryder’s (storage) Laws in mind.  Note the Lecture Recording for the textbook material is located further down the page.

Computer Architecture describes a computer system by specifying its parts and their relations (connections, functionalities, etc) and the instruction set (machine instructions).

Von Neumann Architecture 

Here is a nice quick YouTube presentation introducing the Von Neumann Architecture to give a top-level over-arching perspective (i.e. abstraction). In the sub-menu, please watch my Fetch-Execute Cycle Simulation demo for a more precise and discrete view.

Here is a quick introduction to the Binary Numbering System

Memory

The Byte is the smallest addressable unit of memory and as such, every Byte has both (1) contents (instructions or data) which may or may not be meaningful (it may just be non-meaningful garbage 0’s and 1’s until memory is initialized by the OS/Application) and (2) an address (machine address) whose size is in accord with the machine architecture (32 bit, 64 bit).

The CPU can only execute instructions and operate on data that are in ROM or RAM. As a result information must be brought in from storage (e.g. hard drive, DVD, flash drive, network, etc.) to be executed and therefore storage often requires and suffers from mechanical latencies several orders of magnitude slower than the CPU (see memory hierarchy above).  This is why increasing the amount of available RAM increases your computer’s efficiency (i.e. it doesn’t have to wait for data from storage (in accord with in the memory hierarchy above).

Storage

We have an entire LM on Storage in the coming weeks so I’ll defer detailed discussion on storage until we cover that chapter but at this juncture please understand that storage is persistent or non-volatile meaning it retains stored values without power consumption and computations can not occur on external storage.  This means that data/instructions must be brought into memory to be used/computed and then written back out to storage to save the results in a stable/non-volatile manner.

Memory/Storage Hierarchy

Recall a computer architecture not only defines the components but their relationships and it is necessary to understand the Memory Hierarchy that categorizes memory/storage according to their access time, complexity and expense: http://en.wikipedia.org/wiki/Memory_hierarchy.

In the following image, the peak memory in the pyramid is the fastest but also the most expensive (incredibly expensive), and as you proceed lower in the pyramid, access times increase but the cost goes down.  With this basis modern computers strive to blend or balance speed and cost/affordability.

Textbook Chapter 2 Presentation

The following topics are covered in the recording but not in the text:

Lossy vs. Lossless Compression

In a nutshell, data requires lossless compression whereas lossy compression is appropriate for media where human perception is involved.  This is critical knowledge for Web Designers and Marketing as we should not use up a user’s data plan forcing them to download large media files and mobile browsing is now the norm.

The Boot Sequence

Understanding this is necessary and also provides the answer to my question in class “why is a boot sector virus so pernicious”.

     Program vs. Process

A program is a static entity (i.e. not active) whereas a process is active or dynamic.  We install programs on a hard drive (storage) and when we execute a program it is brought into memory and becomes a process where processes have resources (e.g. memory, cpu cycles, internet connections, printers, etc.) allocated to them by the Operating System.

Also, please look up and understand the difference between the terms: Homogenous and Heterogeneous reminding you that you are now responsible for looking up any terms you are unfamiliar with.

Please review the LM2 sub-menu items as necessary:

      1. Computer Numbering Systems which is much better than the text’s presentation
      2. Symbolic Representation/Coding for better presentations of digitization
      3. Fetch/Execute Cycle simulation
      4. Optional – Mobile Computing Architecture (Phoneblocks/Ara)
      5. Optional – Emergent Hardware