Kỹ thuật xử lý UDS
Trang 2M icroprocessors
Giảng viên: Phạm Ngọc Nam
Trang 3 Đềtài: Nhận dạng chữviết tay
Tiến sỹkỹthuật chuyên ngành điện tử-tin học, 9/ 2004, Đạihọc K.U Leuven, Vương Quốc Bỉ
Đềtài: quản lý chất lượng dị ch vụtrong các ứng dụng đa phương tiện tiên tiến
Trang 73 bài kiểm tra không báo trước
dựđủít nhất 2 bài và kết quảcủa 2 bài > 5: 1 điểm
thiếu 2 bài trởlên: không được thi lần 1
• Thi học kỳ:
1 câu lý thuyết, 2 câu bài tập (lập trình và thiết kế)
70% tổng sốđiểm
Trang 8Gi ớ i thi ệ u chung v ề h ệ vi x ử lý
• Lị ch sửphát triển của các bộvi xửlý và máy tính
• Phân loại vi xửlý
• Các hệđếm dùng trong máy tính ( nhắc lại)
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
Trang 9Gi ớ i thi ệ u chung v ề h ệ vi x ử lý
• Lị ch sửphát triển của các bộvi xửlý và máy tính
Thếhệ-1: The early days (…-1642)
• Các hệđếm dùng trong máy tính ( nhắc lại)
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
Trang 10Gi ớ i thi ệ u chung v ề h ệ vi x ử lý
• Lị ch sửphát triển của các bộvi xửlý và máy tính
Thếhệ-1: The early days (…-1642)
• Các hệđếm dùng trong máy tính ( nhắc lại)
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
Trang 11• Bàn tính, abacus , đã được sửdụng đểtính toán.
Khái niệm vềgiá trịtheo vịtrí đã được xửdụng
Trang 12• Thế kỷ12: Muhammad ibnMusa Al'Khowarizmi đưa
ra khái niệm vềgiải thuật algorithm
Trang 13• Codex Madrid - Leonardo Da Vinci (1500)
Vẽmột cái máy tính cơkhí
Trang 14Gi ớ i thi ệ u chung v ề h ệ vi x ử lý
• Lị ch sửphát triển của các bộvi xửlý và máy tính
• Các hệđếm dùng trong máy tính ( nhắc lại)
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
Trang 15Th ế h ệ 0: Mechanical (1642-1945)
• Blaise Pascal, con trai của một người thu thuế, đã chếtạo một máy cộng có nhớvào năm 1642
Trang 16Th ế h ệ 0: Mechanical (1642-1945)
• Năm 1801, Joseph-Marie Jacquard đã phát minh ra máy dệt tựđộng sửdụng bìa đục lỗđểđiều khiển hoạ tiết dệt trên vải
• Bìa đục lỗlưu trữchương trình: máy đa năng đầu
tiên
Trang 17Th ế h ệ 0: Mechanical (1642-1945)
• 1822, Charles Babbage nhận ra rằng các bảng tính dùng trong hàng hải có quá nhiều lỗi dẫn tới việc rất nhiêu tàu bị mất tích
• Ông đã xin chính phủ Anh hỗtrợđểnghiên cứu vềmáy tính
Trang 18Th ế h ệ 0: Mechanical (1642-1945)
Trang 19Th ế h ệ 0: Mechanical (1642-1945)
• Babbage đã thiết kếmột cái máy vi phân Difference Engine đểthay thếtoàn bộbảng tính: máy thực hiện một ứng dụng cụthểđầu tiên (application specific hard-coded machine)
Trang 20Th ế h ệ 0: Mechanical (1642-1945)
• Ada Augusta King, trở
thành lập trình viên đầu
tiên vào năm 1842 khi
cô viết chương trình cho
Analytical Engine, thiết
bịthứ2 của Babbage
Trang 21Th ế h ệ 0: Mechanical (1642-1945)
• Herman Hollerith, ngừời Mỹ, thiết kếmột máy tính đểxửlý dữliệu vềdân sốMỹ1890
• Ông thành lập công ty, Hollerith Tabulating
Company, sau đấy là
Calculating-Tabulating-Recording (C-T-R) company vào năm 1914 và sau
này được đổi tên là IBM (International Business
Machine) vào năm 1924.
Trang 22Th ế h ệ 0: Mechanical (1642-1945)
• Konrad Zuse, Berlin, Đức, phát triển vào năm 1935 máy tính Z-1 sử dụng rơle và sốnhịphân
• Chu kỳlệnh: 6 giây (0.17 Hz)
Trang 23Th ế h ệ 0: Mechanical (1642-1945)
• Máy tính cơđiện tựđộng lớn đa năng đầu tiên là
máy Harvard Mark I ( IBM Automatic Sequence Control
Calculator ), phát minh bởi Howard Aiken vào cuối 1930
• ASCC không phải là máy tính có chương trình lưu trữ sằn mà các lệnh được ghi vào các băng giấy.
Trang 24Th ế h ệ 0: Mechanical (1642-1945)
• Grace Murray Hopper found the first computer bug beaten todeath in the jaws of a relay She glued it into the logbook ofthe computer and thereafter when the machine stops
(frequently) she told Howard Aiken that they are "debugging"the computer
Lab book!!
Numbered pages for USA patents
Trang 25Gi ớ i thi ệ u chung v ề h ệ vi x ử lý
• Lị ch sửphát triển của các bộvi xửlý và máy tính
• Các hệđếm dùng trong máy tính ( nhắc lại)
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
Trang 26Th ế h ệ 1: Vacuum tubes (1945-1955)
• Năm 1943, John Mauchly và J.
Presper Eckert bắt đầu nghiên cứu vềENIAC
Trang 28Th ế h ệ 1: Vacuum tubes (1945-1955)
• Lập trình thông qua 6000 công tắc nhiều nấc và hàng tấn dây
Trang 29Th ế h ệ 1: Vacuum tubes (1945-1955)
• Năm 1946, John von Neumann phát minh ra máy
tính có chương trình lưu trong bộnhớ
• Máy tính của ông gồm có một đơn vịđiều khiển, một ALU, một bộnhớchương trình và dữliệu và sửdụng sốnhịphân thay vì sốthập phân.
• Máy tính ngày nay đều có cấu trúc von Neumann
• ông đặt nền móng cho hiện tượng “von Neumann
bottleneck”, sựkhông tương thích giữa tốc độcủa bộnhớvới đơn vịxửlý
Trang 30Th ế h ệ 1: Vacuum tubes (1945-1955)
• Năm 1948, máy tính có chương trình lưu trữtrong bộnhớđầutiên được vận hành tại trường đại học Manchester:
Manchester Mark I
Trang 32Th ế h ệ 1: Vacuum tubes (1945-1955)
• Mộ t magnetic core lư u trữ256 bits
Trang 33Th ế h ệ 1: Vacuum tubes (1945-1955)
• John von Neumann năm 1952 với chiếc máy tính mới của ông
Trang 34Th ế h ệ 1: Vacuum tubes (1945-1955)
• Năm 1954, John Backus, IBM phát minh ra
FORTRAN
Trang 35Gi ớ i thi ệ u chung v ề h ệ vi x ử lý
• Lị ch sửphát triển của các bộvi xửlý và máy tính
• Các hệđếm dùng trong máy tính ( nhắc lại)
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
Trang 36• Năm 1947, William Shockley, John Bardeen, and
Walter Brattain phát minh ra transistor
Trang 37• Năm 1955, IBM công bốIBM704, máy tính
mainframe sửdụng tranzistor
• Đây là máy tính với phép toán dấu phấy động đầu
tiên (5 kFlops, clock: 300 kHz)
Trang 38Gi ớ i thi ệ u chung v ề h ệ vi x ử lý
• Lị ch sửphát triển của các bộvi xửlý và máy tính
• Các hệđếm dùng trong máy tính ( nhắc lại)
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
Trang 39• Năm 1958, Jack St Clair Kilby of Texas
Instruments (Nobel prize physics, 2000) đưa ra và chứng minh ý tưởng tích hợp 1 transistor với các
điện trởvà tụđiện trên một chip bán dẫn với kích
thước 1 nửa cái kẹp giấy Đây chính là IC.
Trang 40• 7/4/1964 IBM đưa ra System/360, họmáy tính tương thích đầu tiên của IBM
Trang 41• Năm 1965, Digital
Equipment Corporation, đưa
ra chiế c máy tính mini
đầu tiên DP-8
Trang 42Th ế h ệ 3: Integrated circuits (1965-1980)
• Năm 1971, Ted Hoff chếtạo Intel 4004 theo đơn đặt hàng của một công ty Nhật bản đểtạo chip sản xuất calculator Đây là vi xửlý đầu tiên với 2400 transistor (microprocessor, processor-on-a-chip).
• 4 bít dữliệu, 12 bit địa chỉ
Trang 43Th ế h ệ 3: Integrated circuits (1965-1980)
• 1973-1974, Edward Roberts, William Yates and Jim Bybee
chế tạo MITS Altair 8800, máy tính cá nhân đầu tiên
• Giá $375, 256 bytes of memory, không keyboard, không
màn hình và không bộnhớngoài
• Sau đó, Bill Gate và Paul Allen viết chương trình dị ch
BASIC cho Altair
Trang 44Gi ớ i thi ệ u chung v ề h ệ vi x ử lý
• Lị ch sửphát triển của các bộvi xửlý và máy tính
• Các hệđếm dùng trong máy tính ( nhắc lại)
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
Trang 45Th ế h ệ 4: VLSI (1980-?)
• N ăm 1981, IBM b ắ t đầu với IBM "PC" s ử
dụng h ệ điều hành DOS.
Trang 46Th ế h ệ 4: VLSI (1980-?)
• Năm 1984, Xerox PARC (Palo Alto Research Center) đưa ra
máy tính đểbàn Alto với giao diện người và máy hoàn toàn
mới: windows, biểu tượng, mouse
Con chuột đầu tiên
Trang 47Th ế h ệ 4: VLSI (1980-?)
• Năm 1986, siêu máy tính Cray-XMP vớ i 4 bộ xửlý đã đạttốc độtính toán là 840 MFlops Nó được làm mát bằng nước
Trang 48Th ế h ệ 4: VLSI (1980-?)
• Tố c độtính toán này đã đạt được với máy tính cá
nhân 1 vi xửlý, Pentium III, vào quý 1 năm 2000
Trang 49Gi ớ i thi ệ u chung v ề h ệ vi x ử lý
• Lị ch sửphát triển của các bộvi xửlý và máy tính
• Phân loại vi xửlý
• Các hệđếm dùng trong máy tính ( nhắc lại)
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
Trang 50Phân lo ạ i vi x ử lý
Trang 51Phân lo ạ i vi x ử lý
*Engine Performance and Emission Control (Traction Control)
*Safety Systems
*Cabin Air Quality
*Suspension
and Braking Control
Trang 52Phân lo ạ i vi x ử lý
Type Giá (USD) Example application Disposable system 1 Greeting cards Embedded system 10 Watches, cars,
appliances Game computer 100 Home video games Personal computer 1K Desktop computer
Server 10K Network server Collection of
workstations 100K supercomputerDepartmentalMainframe 1M Batch processing in
bank Supercomputer 10M Weather forecasting
Phân loại theo giá thành:
Trang 53Phân lo ạ i vi x ử lý
• Phân loại theo chức năng:
Vi xửlý đa năng (General Purpose Microprocessor)
DSP (Digital Signal Processor)
Vi điều khiển (Microcontroller)
ASIP (Application Specific Integrated Processor)
• Phân loại theo tập lệnh:
CISC (complex Instruction Set computer): máy tính có tập lệnh phức tạp
mỗi lệnh có độdài cốđị nh và thực hiện trong 1 đến 2 chu ký xung nhị p
cấu trúc vi xửlý đơn giản, có nhiều thanh ghi
tốc độxung nhị p lớn và tiêu thụnăng lượng thấp
Trang 56H ệ th ậ p phân
• 1234,56710=
1•10 3 +2•10 2 +3•10 1 +4•10 0 +5•10 -1 +6•10 -2 +7•10 -3
r = cơsố(r = 10), d=digit (0 d 9), m = sốchữsốtrước dấu phẩy,
n = sốchữsốsau dấu phẩy
i
d D
Trang 57H ệ nh ị phân
• 1011,0112=
1•8+0•4+1•2+1•1+0•0.5+1•0.25+1•0.125
1•2 3 +0•2 2 +1•2 1 +1•2 0 +0•2 -1 +1•2 -2 +1•2 -3
r = cơsố(r = 2), d=digit (0 d 1), m = sốchữsốtrước dấu phẩy, n
= sốchữsốsau dấu phẩy
i i
d B
Trang 58H ệ 8 (Octal)
• 7654,328=
7•8 3 +6•8 2 +5•8 1 +4•8 0 +3•8 -1 +2•8 -2
r = cơsố(r = 8), d=digit (0 d 7), m = sốchữsốtrước dấu phẩy, n
= sốchữsốsau dấu phẩy
i i
d O
Trang 59H ệ 16 (Hexadecimal)
• FEDC,7616=
15•16 3 +14•16 2 +13•16 1 +12•16 0 +7•16 -1 +6•16 -2
r = cơsố(r = 16), d=digit (0 d F), m = sốchữsốtrước dấu phẩy,
n = sốchữsốsau dấu phẩy
i i
d H
Trang 60Chuy ể n đ ổ i gi ữ a các h ệ đ ế m
• Chuyển từhệthập phân sang nhịphân
Quy tắc: lấy sốcần đổi chia cho 2 và ghi nhớphần dư, lấy
thương chia tiếp cho 2 và ghi nhớphần dư Lặp lại khi
thương bằng 0 Đảo ngược thứtựdãy các sốdưsẽđược chứsốcủa hệnhịphân cần tìm
Ví dụ: Đổi 34 sang hệnhịphân: 100010
• Chyển từhệnhịphân sang hệ16 và ngược lại
1011 0111B = B7H
Trang 623 5
6 5
7 2
2
Nhớ x y
0 1 0
C ộ ng nh ị phân
• Cộng nhịphân
• Cộng thập phân
Nhớ x y Tổng
0 1
1
0 0 1 1
1 0 0 1
1 1 1 1
1 1 0 0
1 0 1 0
1 1 1 1
1 1 0
Trang 63Tr ừ nh ị phân
x y Mượn Hiệu
1 1 1 0 1
1 1 1 1
1 1 1 0
0 1 1 1 0
Trang 73Little endian v à big endian
• Số1234 H được lưu trữthếnào trong bộnhớ8 bit?
little endian Intel microprocessors Motorola microprocessorsbig endian
Trang 74(real number, floating point number)
• Ví dụ: 1,234=1,234*100=0,1234*101=
• 11,01 B= 1,101*21=0,1101*22=
• Real number: (m, e) , e.g (0.1101, 2)
Single precision: 32 bit
Double precision: 64 bit
Trang 75(real number, floating point number)
• IEEE-754 format cho single-precision
1 sign bit: 0 dương, 1 âm
8 bit biased exponent= exponent + 127
24 bit mantissa chuẩn hoá = 1 bit ẩn + 23 bit fraction
Mantissa chuẩn hoá: có giá trịgiữa 1 và 2 : 1.f
Ví dụ: biểu diễn 0.1011 dưới dạng IEEE-754
23 30
31
S biased exponent e fraction f of normalized mantissa
Trang 76(real number, floating point number)
• IEEE-754 format cho double-precision
0 51
52 62
63
S biased exponent e fraction f of normalized mantissa
1 sign bit: 0 dương, 1 âm
11 bit biased exponent= exponent + 1023
53 bit mantissa chuẩn hoá = 1 bit ẩn + 52 bit fraction
double precision: (-1)s x 2e-1023 x (1.f)2single precision: (-1)s x 2e-127 x (1.f)2
Trang 77(real number, floating point number)
15 significant digits
6 significant digits Decimal Precision
Trang 78• B inary C oded D ecimal number
BCD chuẩn (BCD gói, packed BCD):
1 byte biểu diễn 2 sốBCD
Ví dụ: 25: 0010 0101
BCD không gói (unpacked BCD) :
1 byte biểu diễn 1 sốBCD
ví dụ: 25: 00000010 00000101
Decimal digit
Trang 79• A merican S tandard C ode for I nformation
I nterchange (7-bit code)
Trang 80Gi ớ i thi ệ u chung v ề h ệ vi x ử lý
• Lị ch sửphát triển của các bộvi xửlý và máy tính
• Phân loại vi xửlý
• Các hệđếm dùng trong máy tính ( nhắc lại)
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
Hệvi xửlý
Trang 81Gi ớ i thi ệ u chung v ề h ệ vi x ử lý
• Lị ch sửphát triển của các bộvi xửlý và máy tính
• Phân loại vi xửlý
• Các hệđếm dùng trong máy tính ( nhắc lại)
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
Hệvi xửlý
Trang 82H ệ vi x ử lý
Vi xửlý CPU
Vi xửlý CPU
Bộnhớ MemoryBộnhớ
Memory
Phối ghép vào/ra (I/O)
Phối ghép vào/ra (I/O)
Bus dữliệu
Bus đị a chỉ Bus điều khiển
DRAM SRAM ROM EEPROM Flash
Intel 80X86 Motorola 680X PowerPC
Thiết bị vào/ra
Màn hình Máy in Bàn phím Con chuột
Ổ cứng
CD-ROM DVD
ISA EISA PCI VESA SCSI USB
Trang 83 Thực hiện các phép toán logic
And, or, compare
Đơn vịđiều khiển (Control Unit)
Các thanh ghi (Registers)
Lưu trữdữliệu và trạng thái của quá trình thực hiện lệnh
Đọc mã lệnh Giải mã lệnh Thực hiện lệnh
Trang 85H ệ vi x ử lý
24 24 32 32 32 32 32
20 20 20 24 24 32 32 32 36 36
68000 68010 68020 68030 68040 68060 PowerPC Motorola
8088 8086 80186 80286 80386SX 80386DX 80486DX Pentium Pentium Pro Pentium I, II, III, IV
Intel
Khảnăng đị a
chỉ
Bus dữliệu Tên vi xửlý
Nhà sản xuất
Trang 88• Cấu trúc bên trong
Sơđồkhối
Các thanh ghi đa năng
Các thanh ghi đoạn
Các thanh ghi con trỏvà chỉsố
Trang 89• Cấu trúc bên trong
Sơđồkhối
Các thanh ghi đa năng
Các thanh ghi đoạn
Các thanh ghi con trỏvà chỉsố
Trang 90Sơ đ ồ kh ố i 8088/8086
CS DS
ES IP
BX
AX
CX DX
SP BP DI
ALU
Khố i điề u khiể n của EU
Logic điề u khiể n bus
Trang 91• Cấu trúc bên trong
Sơđồkhối
Các thanh ghi đa năng
Các thanh ghi đoạn
Các thanh ghi con trỏvà chỉsố
Trang 92Các thanh ghi đa năng c ủ a 8088/8086
• Thanh ghi chứa AX (accumulator): chứa kết quảcủa các phép tính Kết quả8 bit được chứa trong AL
• Thanh ghi cơsởBX (base): chứa đị a chỉcơsở, ví dụcủa bảng dùng trong lệnh XLAT (Translate)
• Thanh ghi đếm CX (count): dùng đểchứa sốlần lặp trong các lệnh lặp (Loop) CL được dùng đểchứa sốlần dị ch hoặc quay trong các lệnh
dị ch và quay thanh ghi
• Thanh ghi dữliệu DX (data): cùng AX chứa dữliệu trong các phép
tính nhân chia số16 bit DX còn được dùng đểchứa đị a chỉcổng
trong các lệnh vào ra dữliệu trực tiếp (IN/OUT)
Trang 93• Cấu trúc bên trong
Sơđồkhối
Các thanh ghi đa năng
Các thanh ghi đoạn
Các thanh ghi con trỏvà chỉsố
Trang 94Các thanh ghi đo ạ n
Thanh ghi đoạn
Đị a chỉvật lý=Segment*16 + offset
Chếđộthực (real mode)
Trang 95Các thanh ghi đo ạ n
Trang 96Các thanh ghi đo ạ n
• Các thanh ghi đoạn: chứa đị a chỉđoạn
30000 2FFFF 34000
43FFF 49000 58FFF
Trang 97Các thanh ghi đo ạ n
090F0
0A0F0 0A0EF
0A280 0A27F
0A480 0A47F c
o d e
d a t a
Trang 98• Cấu trúc bên trong
Sơđồkhối
Các thanh ghi đa năng
Các thanh ghi đoạn
Các thanh ghi con trỏvà chỉsố
Trang 99Các thanh ghi con tr ỏ v à ch ỉ s ố
• Chứa đị a chỉlệch (offset)
Con trỏlệnh IP (instruction pointer): chứa địa chỉlệnh tiếptheo trong đoạn mã lệnh CS
CS:IP
Con trỏcơsởBP (Base Pointer): chứa địa chỉcủa dữliệu
trong đoạn ngăn xếp SS hoặc các đoạn khác
Chỉsốđích (Destination Index): chứa địa chỉdữliệu đích
trong đoạn dữliệu DS trong các lệnh chuỗi
DS:DI
SI và DI có thểđược sửdụng nhưthanh ghi đa năng
80386 trởlên 32 bit: EIP, EBP, ESP, EDI, ESI
Trang 100Các thanh ghi con tr ỏ v à ch ỉ s ố
• Thanh ghi đoạn và thanh ghi lệch ngầm định
Địa chỉchuỗiđích
DIES
Địa chỉlệnhIP
CS
Chú thíchOffset
Segment
Trang 101• Cấu trúc bên trong
Sơđồkhối
Các thanh ghi đa năng
Các thanh ghi đoạn
Các thanh ghi con trỏvà chỉsố
Trang 102Thanh ghi c ờ (Flag Register)
• 9 bit được sửdụng, 6 cờtrạng thái:
C hoăc CF (carry flag)): CF=1 khi có nhớhoặc mượn từMSB
P hoặc PF (parity flag): PF=1 (0) khi tổng sốbít 1 trong kếtquảlà chẵn (lẻ)
A hoặc AF (auxilary carry flag): cờnhớphụ, AF=1 khi có
nhớhoặc mượn từmột sốBCD thấp sang BCD cao
Z hoặc ZF (zero flag): ZF=1 khi kết quảbằng 0
S hoặc SF (Sign flag): SF=1 khi kết quảâm
O hoặc OF (Overflow flag): cờtràn OF=1 khi kết quảlà mộtsốvượt ra ngoài giới hạn biểu diễn của nó trong khi thực
hiện phép toán cộng trừsốcó dấu
2
15 14
C P
A Z
S T
I D O