The Design of Survivable Networks
Download
Report
Transcript The Design of Survivable Networks
ECEN 248: INTRODUCTION TO
DIGITAL SYSTEMS DESIGN
Lecture 1
Dr. “Peter” Weiping Shi
Dept. of Electrical and Computer Engineering
Instructor:
Dr. “Peter” Weiping Shi
Office
332K WERC
Office Hour: MWF 10:00-11:30 am
Email: [email protected]
Lab Time:
501:
Wed 09:10 am-12:00 pm,
502: Mon 6:00 pm- 8:50 pm
503: Thur 09:10 am-12:00 pm
Required textbook:
Brown and Vranesic (2rd Edition)
Fundamentals of Digital Logic with Verilog
Design.
Course info
Course website
http://dropzone.tamu.edu/~wshi/248_fall.html
All slides, labs, assignments, etc.
Mailing list:
Emails will be sent periodically to tamu accounts
Announcements:
Lecture cancellations
Deadline extension
Updates, etc.
Grading Policy:
Assignments (15%)
Labs (20%)
Exam 1 : 15%
Exam 2 : 20%
Exam 3 : 25%
Quizzes 5%
Course Goals
Study methods for
Representation, manipulation, and optimization for
both combinatorial and sequential logic
Solving digital design problems
Study HDL description language (Verilog)
The Evolution of Computer Hardware
When was the first transistor invented?
Modern-day electronics began with the invention in
1947 of the transfer resistor
Bardeen, Brattain & Shockley at Bell Laboratories
William Shockley
Born in London, grown up in CA.
B.S. 1932, Ph.D. 1936
During WWII
Anti-submarine research & bomber pilot training
Report on casualty of invading Japan: 1.7m to 4m
Presidential Medal for Merit
Bell Labs
Solid state physics group leader
Invention of transistor in 1947
Silicon Valley
Shockley Semiconductor Lab, Mountain View, CA
Traitorous Eight formed Fairchild Semiconductor
Robert Noyce, Gordon Moore, etc
The Evolution of Computer Hardware
When was the first IC (integrated circuit) invented?
In 1958 the IC was born when Jack Kilby at Texas
Instruments successfully interconnected, by hand,
several transistors, resistors and capacitors on a
single substrate
The PowerPC 750
Introduced in 1999
3.65M transistors
366 MHz clock
rate
40 mm2 die size
250nm technology
The Underlying Technologies
Year
Technology
Relative Perf./Unit Cost
1951
Vacuum Tube
1
1965
Transistor
35
1975
Integrated Circuit (IC)
900
1995
Very Large Scale IC (VLSI)
2,400,000
2005
VLSI (not a fancy name??)
6,200,000,000
Technology Trends: Microprocessor
Complexity
100000000
Itanium 2: 41 Million
Athlon (K7): 22 Million
Alpha 21264: 15 million
Pentium Pro: 5.5 million
PowerPC 620: 6.9 million
Alpha 21164: 9.3 million
Sparc Ultra: 5.2 million
10000000
Moore’s Law
Pentium
i80486
Transi stors
1000000
i80386
i80286
100000
2X transistors/Chip
Every 1.5 years
i8086
10000
i8080
i4004
1000
1970
1975
1980
1985
Year
1990
1995
2000
Called
“Moore’s Law”
How to Remember?
United States
307
million as of July 2010
Intel processor (core 2 duo)
291
million transistors as of 2006
Layers of abstraction
Application (ex: browser)
Compiler
Software
Hardware
Assembler
Operating
System
(Mac OSX)
Processor Memory I/O system
Instruction Set
Architecture
Datapath & Control
Digital Design
Circuit Design
transistors
ECEN 248
Quiz
Who are inventors of
Transistors
_________________
Integrated circuits _________________
Moore’s Law says: ____________________
Approximately how many transistors in a
microprocessor
300K,
3M, 30M, 300M, 3B
NUMBER SYSTEMS
Overview
Number systems
Decimal: 0, 1, 2, 3, 4, 5,…
Binary: 0, 1, 10, 11, 100, 101, …
Unary:
1, 11, 111, 1111, 1111…
Duodecimal: (base-12), used by British
Sexagesimal (base-60), used by Babylonian
Understanding Decimal Numbers
Decimal numbers are made of decimal digits:
(0,1,2,3,4,5,6,7,8,9)
Number representation:
8653 = 8x103 + 6x102 + 5x101 + 3x100
What about fractions?
97654.35 = 9x104 + 7x103 + 6x102 + 5x101 + 4x100 +
3x10-1 + 5x10-2
Informal notation (97654.35)10
Understanding Binary Numbers
Binary numbers are made of binary digits (bits):
Number representation:
(1011)2 = 1x23 + 0x22 + 1x21 + 1x20 = (11)10
What about fractions?
0 and 1
(110.10)2 = 1x22 + 1x21 + 0x20 + 1x2-1 + 0x2-2
Groups of eight bits are called a byte, or B
(11001001) 2
Digital Computer Systems
Digital systems consider discrete amounts of data.
Examples
26 letters in the alphabet
10 decimal digits
Larger quantities can be built from discrete values:
Words made of letters
Numbers made of digits (e.g. 239875.32)
Computers operate on binary values (0 and 1)
Easy to represent binary values electrically
Voltages and currents: high=1, low=0, on=1, off=0
But, multi-value logic is possible: high=2, medium=1, low=0,
on=2, half-on-half-off=1, off=0, etc. More trouble.
Octal and Hexadecimal
Variations of binary numbers
Octal numbers are made of digits:
0,1,2,3,4,5,6,7
Number representation:
(4536)8 = 4x83 + 5x82 + 3x81 + 6x80 = (2398)10
Hexadecimal numbers are made of
0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
(10ab)16 = 1*163+0*162+10*161+11*160 =
(4269)10
Why Use Binary Numbers?
°
Easy to represent 0 and 1
using electrical values.
°
Possible to tolerate noise.
°
Easy to transmit data
°
Easy to build binary circuits.
AND Gate
1
0
0
Conversion Between Number Bases
Octal(base 8)
Decimal(base 10)
Binary(base 2)
Hexadecimal
(base16)
Convert an Integer from Decimal to Another
Base
For each digit position:
1. Divide decimal number by the base (e.g. 2)
2. The remainder is the lowest-order digit
3. Repeat first two steps until no divisor
remains.
Example for (13)10:
Integer Remainder Coefficient
Quotient
13/2 =
6/2 =
3/2 =
1/2 =
6
3
1
0
1
0
1
1
a0 = 1
a1 = 0
a2 = 1
a3 = 1
Answer (13)10 = (a3 a2 a1 a0)2 = (1101)2
Convert a Fraction from Decimal to Another Base
For each digit position:
1. Multiply decimal number by the base (e.g. 2)
2. The integer is the highest-order digit
3. Repeat first two steps until fraction
becomes zero.
Example for (0.625)10:
Integer
0.625 x 2 =
0.250 x 2 =
0.500 x 2 =
1
0
1
Fraction
+
+
+
0.25
0.50
0
Coefficient
a-1 = 1
a-2 = 0
a-3 = 1
Answer (0.625)10 = (0.a-1 a-2 a-3 )2 = (0.101)2
The Growth of Binary Numbers
n
2n
n
2n
0
20=1
8
28=256
1
21=2
9
29=512
2
22=4
10
210=1024
3
23=8
11
211=2048
4
24=16
12
212=4096
5
25=32
20
220=1M
6
26=64
30
230=1G
Giga
7
27=128
40
240=1T
Tera
Kilo
Mega
Verilog
Computer language to design logic circuits
Verilog = Verify Logic, initially designed
for verification
Verilog Hardware Description Language.
Procedure is to use a compiler for
compiling source code written in Verilog.
Subset of statements can be synthesized
using logic circuits.