Study Study
CS 61C Reading Notes 1
CS 61C Machine Structures Intro
BIO 1B Fungi Notes 1
Cool Pictures All Categories
Internet Videos [ 576 x RSS ]
Front Page [ 118 x RSS ]
Cool Pictures [ 57 x RSS ]
Cool Sites [ 55 x RSS ]
Video Tutorial [ 19 x RSS ]
My Websites
Best of The Internet
Free Video Tutorials
Best of Youtube
Use Google to Download mp3s
Free Quiz Creator
Online Education
Poetry
Famous Poetry
Printable Sheet Music
JimmyR on Youtube
Free Movies Online

Saturday, 26th of January 2008 (26-01-2008)

Reading Due CS 61C Machine Structures

First Reading Assignment for the Berekeley Machine Structures webcast.

Book: Computer Organization And Design - Patterson & Hennessey
Pages: Chapter 1, also 3.1 - 3.2

Overview

Just one chapter... that's 67 pages of technical jargon. The book is widely used and recommended, but it throws a bunch of technical terms out and a whole bunch of references to future chapters. The big picture of each section is pretty clear but there's enough jargon and statistics to make anyone looking to take good notes annoyed. Then again, without skipping through hardware substructures names and specifics when explaining growth, it would be like any other book.

Chapter 1.1: Fundamentals of computer design

The first chapter essentially goes over what was said in the first lecture. The growth in processor speed is due to advances in the integrated circuit and its popularity increased when it became easier to program. See the Wikipedia article on the history of computer hardware and Moore's Law.

Chapter 1.2: Task of the Computer Designer

This chapter gets really complicated explaining the job of the computer designer to make the most efficient but cost effective computer. See the wikipedia articles on computer architecture and computer hardware.

Aspects

Implementation may include

Computer Architechture

Before Computer Architechture referred only to instruction set design, and other stuff was called just implementation, incorrectly. Instruction set architechture actually refers to the programmer visible instruction set, which serves as a boundary between the software and hardware. Organization includes the high level aspects of a computer design like memory, the bus struction and the cpu where arithmetic, logic, branching, and data transfer are implemented.

SPARCstation-2 and SPARCstation-20 are two different organizations with the same architecture.

Architecture Covers

Computer Designer Task Table

Application area

What's the computer for

Funcational RequirementsTypically Supported
General PurposeBlanace performance tasks
ScientificFast floating point opperations
CommercialCOBOL/Databasing support

Software Compatibility

Existing software that can be installed in that machine.

At programming languageEasiest for designers
Object code/binary compatNo flexibility but no investment in new software or porting old programs

Require Operating System

Size of address spaceMay limit application
Memory ManagementRequired for modern OS, paged vs segmented
Protectionpaged vs segmented protection

Standards

Floating pointArithmetic format standardized by IEEE, DEC, or IBM
I/O busFor I/O devices
Operating SystemsUnix vs dos
NetworksNetworks like Ethernet or ATM
Programming LanguagesANSI C Fortran 77 ANSI COBOL

Confusion

Again, I guess this is supposed to be an overview because it goes very fist and throws out many terms. It's just emphasize all the variables to take into consideration that the computer manufacturers have to take in mind when marketting their computer to a targetted group. The other key point it makes is that the computer architecture must be so well efficiently organized that it can last the test of time.

Chapter 1.3: Technology and Computer Usage Trends

The amount of memory consumed by programs has increased at a rapid rate. High level programming languages replaced assembly.

Three Critical Implementation Technologies

Integrated Circuit Logic technology
Increases about 50% per year
Die size (?) increases 10 - 25% per year
Transistor Count up 60 - 80% per year.
Cycling times improve at slower rate because of metal.
Semiconductor DRAM
Density increases by under 60% each year, quadrupling in three years
Cycle time time improves slowly
DRAM improved faster than logictechnologybecause of the reduction in # of transistors.
Magnetic Disk Technology
Improving by 50% a year

Designers sometimes design with the next big technology in mind. The implementation technique is important because it can enable the designers to be able to use a newer more cost effective technology.

Chapter 1.4: Costs and Trends in Costs

Technology changes affecting cost has been a major theme in computer history. The learning curve drives prices lower and is measured by the Yield of the product. It goes on to talk about the economics of computer parts and packages sales. The volume of available merchandise helps drive down the cost and provide availability. Commodities allow for market competition and lowers the buying price for the consumers.

It uses kind of confusing terms to look up like "die" and "wafer" when referring to the integrated circuit. As far as I saw it hadn't explained these in the book. Here's a wikipedia quote:

"Each device is tested before packaging using very expensive automated test equipment (ATE), a process known as wafer testing, or wafer probing. The wafer is then cut into small rectangles called dice. Each good die (N.B. die is the singular form of dice, although dies is also used as the plural) is then connected into a package using aluminium (or gold) wires which are welded to pads, usually found around the edge of the die. After packaging, the devices go through final test on the same or similar ATE used during wafer probing. Test cost can account for over 25% of the cost of fabrication on lower cost products, but can be negligible on low yielding, larger, and/or higher cost devices."
Source: Wikipedia Integrated Circuit

Cost of Integrated Circuit =

.c.Cost of Die + Cost of Testing Die + Cost of Packaging and Final Test
line
Final test Yield.ea.

Cost of Die =

.c. Cost of wafer
line
Dies per wafer X Die Yield.ea.

Dies Per Wafer =

.c.
pie X (wafer diameter/2)^2
line
Die Area
pie X wafer diameter
line
√(2 X Die Area)
.ea.

It goes on to give examples of the forumals.

Distribution of Costs in a System

It goes on to talk about the cost of each part of the computer by percentage of the package value. It seems outdated, listing processor as 6% of the cost and the dram at 36%. I'm not going to read into this more. I don't care about the statistics for computer costs in 1993, and I'm not interested in an overview of basic economics from my computer book. Lowest cost, high performance, it shouldn't repeat it every chapter.

1.5 Measuring and Reporting Performance.

Execution Time: The time it takes from start to end, for a program to complete a task.
Throughput: The time it takes for the computer to finish a number of tasks.
Performance: How low the execution time is relative to other computers.

Measuring Performance

Wallclock time: Also known as response time or elapsed time is the latency to complete a task including all activities performed.

Types of Benchmarks

Real Programs: Programs the user is used to running in which they can compare the performance time themselves
Kernels: Key pieces of generic programs run only to evaluate performance
Toy Benchmarks: Tiny programs that are run with only the purpose of checking performance. Quick to type.
Synthetic Benchmarks: Like kernal benchmarks except not real pieces from real programs. They check the average frequency over a large set of programs.
Benchmark Suites: People try and make combinations of benchmarks to see performance. These combination results are not neccessarily more accurate than but rather they serve to find weaknesses in the computer.

The book goes on to list many of the benchmark tests that are part of the SPEC92 Benchmark suites. Many listed there are linked on the benchmark repository site of open source programs. The book lists fortran and C programs ranging from 500 - 83000 lines of code. The first 6 are integer oriented and the bottom 14 are floating point oriented benchmarks.

Reporting Performance REsults

The results must be reproducible but sometimes computer journals don't leave enough information for other people to reproduce their results. The SPEC benchmark report is more standardized and allows people to reproduce the results.

Comparing and Summarizing Performance

The book shows another example of what a SPECfp92 benchmark test looks like. There's two columns, one saying the hardware specs and the other saying what software it is running. The bottom says the flags, or I guess commend line arguments? they used with their fortran and C programs.

The book shows a chart showing that one computer runs way faster for one program, while running much slower for another. It shows a basic way of mathematically comparing the relative performance among multiple benchmark tests. It takes the total execution time and produces an mean, or harmonic mean depending on if the benchmark is a rate.

3.1 and 3.2

I highly recommend reading wikipedia's page on piplining rather than the books mess of diagrams and mathematical formulas.

End Notes

The rest has more mathematics and old terminology than I'm willing to try and understand. My mathematics isn't all that strong. I rather head to the wikipedia page on benchmarks for generalizations than spend time studying old standards and forumulas. Now days it seems like more processing power means more overkill for demanding graphical games. Large server networks of course would benefit infinitely, but for me, the computers have been well fast enough not to lose hair over for the last couple of years.

Maybe I'll get the motivation another day. As much as I want to go though the machine structures course doing all homeworks and taking careful notes, this seems highly irrelevant to what I've seen so far in the video lectures. For now its all to frustrating, and I'm totally not interested in the content of the pages.

Download mp3s Faster than limewire free!

Checkout my Mp3 and files search that uses google to find music/albums, anime, games and movies with direct downloads. It's very safe and easy to use, just search for a song, then right click save as to download it.

My new Blog

See my new funny pictures blog. I accidently deleted some of the old blogging software which I made, so I just rewrote everything from scratch. This blog won't be updated anymore =/.

Free Video Tutorials

I make video tutorials on a variety of topics on youtube. Please help me out by adding me as a friend if you have a youtube account. It really helps.

Free TV from Youtube!

Random: Cute Pets | Video Tutorial | TV | Funny | Anime

Clicking the links above will give you a random but extremely high rated video. There are over 15,000 awesome videos indexed so click as many times as you'd like.



Save To Del.icio.us, Submit to Digg, Stumble it!


Share This Page


Table of Contents

  1. Reading Due CS 61C Machine Structures
  2. Overview
  3. Chapter 1.1: Fundamentals of computer design
  4. Chapter 1.2: Task of the Computer Designer
  5. Chapter 1.3: Technology and Computer Usage Trends
  6. Chapter 1.4: Costs and Trends in Costs
  7. 1.5 Measuring and Reporting Performance.
  8. 3.1 and 3.2
  9. End Notes

Featured on JimmyR.com

Funny Test Answers
[comic] Bunny Suicides
Baby Can't Stop Laughing
Free Movies Online
Video Game Time Attacks
Cool Magic Videos
Picture Everyday Videos
Funny Cat Videos
Complete List of Videos

Add me On Youtube

Add me

My Video Tutorials

Youtube Video Tutorials

Google