🔙 Quay lại trang tải sách pdf ebook Kỹ thuật Vi Xử lý
Ebooks
Nhóm Zalo
Kỹthuật vi xửlý
Microprocessors
Giảng viên: Phạm Ngọc Nam
© DHBK 2005 2/Chapter1
Your instructor
• Bộmôn kỹthuật điện tửtin học
Office: C9-401
Email: [email protected]
• Research:
FPGA, PSoC, hệnhúng
Trí tuệnhân tạo
• Education:
K37 điện tử-ĐHBK Hà nội (1997)
Master vềtrí tuệnhân tạo 1999, Đại học K.U. Leuven, vương quốc Bỉ
Đề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, Đại họ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
© DHBK 2005 3/Chapter1
Nội dung môn học
1. Giới thiệu chung vềhệvi xửlý 2. Bộvi xửlý Intel 8088/8086 3. Lập trình hợp ngữcho 8086 4. Tổchức vào ra dữliệu 5. Ngắt và xửlý ngắt
6. Truy cập bộnhớtrực tiếp DMA 7. Các bộvi xửlý trên thực tế
© DHBK 2005 4/Chapter1
• Slides
Tài liệu tham khảo
• Văn ThếMinh, Kỹthuật vi xửlý, Nhà xuất bản giáo dục, 1997.
• Barry B. Brey, The Intel Microprocessors: 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium and Pentium Pro Processor: Architecture, Programming, and Interfacing, Fourth Edition, Prentice Hall, 1997.
• Quách Tuấn Ngọc và cộng sự, Ngôn ngữlập trình Assembly và máy vi tính IBM-PC, 2 tập, Nhà xuất bản giáo dục, 1995.
• Cảm ơn giáo sưRudy Lauwereins đã cho phép sử dụng slides của ông
© DHBK 2005 5/Chapter1
Mục đích của môn học
• Nắm được cấu trúc, nguyên lý hoạt động của bộvi xửlý và hệvi xửlý
• Có khảnăng lập trình bằng hợp ngữcho vi xửlý • Có khảnăng lựa chọn vi xửlý thích hợp cho các ứng dụng cụthể
• Nắm được các bộvi xửlý trên thực tế
© DHBK 2005 6/Chapter1
Bài tập lớn và thi
• Bài tập lớn: thiết kếmột ứng dụng trên vi điều khiển: 20% tổng sốđiểm
Làm theo nhóm 2-6 sinh viên
Nộp danh sách các nhóm vào 3/1
Các nhóm trình bày ý tưởng 17/1
• Kiểm tra: 10%
3 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
© DHBK 2005 7/Chapter1
Chương 1
Giớ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ý
© DHBK 2005 8/Chapter1
Chương 1
Giớ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)
Thếhệ0: Mechanical (1642-1945)
Thếhệ1: Vacuum tubes (1945-1955)
Thếhệ2: Discrete transistors (1955-1965)
Thếhệ3: Integrated circuits (1965-1980)
Thếhệ4: VLSI (1980-?)
• 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ý
© DHBK 2005 9/Chapter1
Chương 1
Giớ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)
Thếhệ0: Mechanical (1642-1945)
Thếhệ1: Vacuum tubes (1945-1955)
Thếhệ2: Discrete transistors (1955-1965)
Thếhệ3: Integrated circuits (1965-1980)
Thếhệ4: VLSI (1980-?)
• 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ý
© DHBK 2005 10/Chapter1
Thếhệ-1: The early days (…-1642)
• 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
© DHBK 2005 11/Chapter1
Thếhệ-1: The early days (…-1642)
• Thếkỷ12: Muhammad ibn
Musa Al'Khowarizmi đưa
ra khái niệm vềgiải
thuật algorithm
© DHBK 2005 12/Chapter1
Thếhệ-1: The early days (…-1642)
• Codex Madrid - Leonardo Da Vinci (1500) Vẽmột cái máy tính cơkhí
© DHBK 2005 13/Chapter1
Chương 1
Giớ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)
Thếhệ0: Mechanical (1642-1945)
Thếhệ1: Vacuum tubes (1945-1955)
Thếhệ2: Discrete transistors (1955-1965)
Thếhệ3: Integrated circuits (1965-1980)
Thếhệ4: VLSI (1980-?)
• 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ý
© DHBK 2005 14/Chapter1
Thế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
© DHBK 2005 15/Chapter1
Thế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
© DHBK 2005 16/Chapter1
Thế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
© DHBK 2005 17/Chapter1
Thếhệ0: Mechanical (1642-1945)
© DHBK 2005 18/Chapter1
Thế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)
© DHBK 2005 19/Chapter1
Thế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
© DHBK 2005 20/Chapter1
Thế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.
© DHBK 2005 21/Chapter1
Thế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)
© DHBK 2005 22/Chapter1
Thế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.
© DHBK 2005 23/Chapter1
Thếhệ0: Mechanical (1642-1945)
• Grace Murray Hopper found the first computer bug beaten to death in the jaws of a relay. She glued it into the logbook of the computer and thereafter when the machine stops (frequently) she told Howard Aiken that they are "debugging" the computer.
Numbered pages
for USA patents
Lab book!!
© DHBK 2005 24/Chapter1
Chương 1
Giớ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)
Thếhệ0: Mechanical (1642-1945)
Thếhệ1: Vacuum tubes (1945-1955)
Thếhệ2: Discrete transistors (1955-1965)
Thếhệ3: Integrated circuits (1965-1980)
Thếhệ4: VLSI (1980-?)
• 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ý
© DHBK 2005 25/Chapter1
Thếhệ1: Vacuum tubes (1945-1955)
• Năm 1943, John
Mauchly và J.
Presper Eckert
bắt đầu nghiên
cứu vềENIAC
© DHBK 2005 26/Chapter1
Thếhệ1: Vacuum tubes (1945-1955)
• 18000 vacuum tubes, 1500 rơle, 30 tấn, 140 kW, 20 thanh ghi 10 chữsốthập phân, 100 nghìn phép tính/ giây
• “Trong tương lai máy tính sẽnặng tối đa là 1.5 tấn” (Popular Mechanics, 1949)
© DHBK 2005 27/Chapter1
Thế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
© DHBK 2005 28/Chapter1
Thế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ý
© DHBK 2005 29/Chapter1
Thếhệ1: Vacuum tubes (1945-1955)
• Năm 1948, máy tính có chương trình lưu trữtrong bộnhớđầu tiên được vận hành tại trường đại học Manchester: Manchester Mark I
© DHBK 2005 30/Chapter1
Thếhệ1: Vacuum tubes (1945-1955)
• Năm 1951, máy tính Whirlwind lần đầu tiên sửdụng bộnhớlõi từ(magnetic core memories). Gần đây nguyên lý này đã được sửdụng lại đểchếtạo MRAM ởdạng tích hợp.
© DHBK 2005 31/Chapter1
Thếhệ1: Vacuum tubes (1945-1955)
• Một magnetic core lưu trữ256 bits
© DHBK 2005 32/Chapter1
Thế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
© DHBK 2005 33/Chapter1
Thếhệ1: Vacuum tubes (1945-1955)
• Năm 1954, John Backus, IBM phát minh ra FORTRAN
© DHBK 2005 34/Chapter1
Chương 1
Giớ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)
Thếhệ0: Mechanical (1642-1945)
Thếhệ1: Vacuum tubes (1945-1955)
Thếhệ2: Discrete transistors (1955-1965)
Thếhệ3: Integrated circuits (1965-1980)
Thếhệ4: VLSI (1980-?)
• 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ý
© DHBK 2005 35/Chapter1
Thếhệ2: Discrete transistors (1955-1965)
• Năm 1947, William Shockley, John Bardeen, and Walter Brattain phát minh ra transistor
© DHBK 2005 36/Chapter1
Thếhệ2: Discrete transistors (1955-1965)
• 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)
© DHBK 2005 37/Chapter1
Chương 1
Giớ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)
Thếhệ0: Mechanical (1642-1945)
Thếhệ1: Vacuum tubes (1945-1955)
Thếhệ2: Discrete transistors (1955-1965)
Thếhệ3: Integrated circuits (1965-1980)
Thếhệ4: VLSI (1980-?)
• 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ý
© DHBK 2005 38/Chapter1
Thếhệ3: Integrated circuits (1965-1980)
• 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.
© DHBK 2005 39/Chapter1
Thếhệ3: Integrated circuits (1965-1980)
• 7/4/1964 IBM đưa ra System/360, họmáy tính tương thích đầu tiên của IBM
© DHBK 2005 40/Chapter1
Thếhệ3: Integrated circuits (1965-1980)
• Năm 1965, Digital
Equipment Corporation, đưa ra chiếc máy tính mini đầu tiên DP-8
© DHBK 2005 41/Chapter1
Thế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ỉ
© DHBK 2005 42/Chapter1
Thế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
© DHBK 2005 43/Chapter1
Chương 1
Giớ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)
Thếhệ0: Mechanical (1642-1945)
Thếhệ1: Vacuum tubes (1945-1955)
Thếhệ2: Discrete transistors (1955-1965)
Thếhệ3: Integrated circuits (1965-1980)
Thếhệ4: VLSI (1980-?)
• 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ý
© DHBK 2005 44/Chapter1
Thếhệ4: VLSI (1980-?)
• Năm 1981, IBM bắt đầu với IBM "PC" sử dụng hệđiều hành DOS.
© DHBK 2005 45/Chapter1
Thế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
© DHBK 2005 46/Chapter1
Thếhệ4: VLSI (1980-?)
• Năm 1986, siêu máy tính Cray-XMP với 4 bộxửlý đã đạt tốc độtính toán là 840 MFlops. Nó được làm mát bằng nước
© DHBK 2005 47/Chapter1
Thế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
© DHBK 2005 48/Chapter1
Chương 1
Giớ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ý
© DHBK 2005 49/Chapter1
Phân loại vixửlý
© DHBK 2005 50/Chapter1
Phân loại vi xửlý
• BMW > 100 processors
• Trung bình 1 công dân Mỹ~ 75 processors
*Intelligent Transportation System (ITS)
*Safety Systems
*Engine
Performance and
Emission Control
(Traction Control)
*Cabin Air Quality
*Lighting
*Suspension and
Braking Control
*Gear Box
*Digital Car
*Steering Controls*Entertainment Radio
© DHBK 2005 51/Chapter1
Phân loại theo giá thành:
Phâ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
Departmental
supercomputer
Mainframe
1M
Batch processing in bank
Supercomputer
10M
Weather forecasting
© DHBK 2005 52/Chapter1
Phâ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 nhiều lệnh
cấu trúc phức tạp
mỗi lệnh: có độdài khác nhau và thực hiện trong 1 đến chục chu kỳ xung nhịp
RISC (reduced instruction Set computer): máy tính có tập lệnh rút gọn
ít lệnh
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
© DHBK 2005 53/Chapter1
Chương 1
Giớ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) Thập phân, Nhịphân, Hệ8, Hệ16
Cộng, trừ, nhân, chia
Các sốâm
Sốnguyên, sốthực, BCD, ASCII
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
© DHBK 2005 54/Chapter1
Chương 1
Giớ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) Thập phân, Nhịphân, Hệ8, Hệ16
Cộng, trừ, nhân, chia
Các sốâm
Sốnguyên, sốthực, BCD, ASCII
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
© DHBK 2005 55/Chapter1
• 1234,56710=
Hệthập phân
1•1000+2•100+3•10+4•1+5•0.1+6•0.01+7•0.001
1•103+2•102+3•101+4•100+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
m 1
i
i D d r
i n
© DHBK 2005 56/Chapter1
• 1011,0112=
Hệnhịphân
1•8+0•4+1•2+1•1+0•0.5+1•0.25+1•0.125
1•23+0•22+1•21+1•20+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
m
1
i B di
2
i n
© DHBK 2005 57/Chapter1
• 7654,328=
Hệ8 (Octal)
7•512+6•64+5•8+4•1+3•0.125+2•0.015625
7•83+6•82+5•81+4•80+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
m
1
i O di
8
i n
© DHBK 2005 58/Chapter1
• FEDC,7616=
Hệ16 (Hexadecimal)
15•4096+14•256+13•16+12•1+7•1/16+6•1/256
15•163+14•162+13•161+12•160+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
m
1
i H di
16
i n
© DHBK 2005 59/Chapter1
Chuyể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
© DHBK 2005 60/Chapter1
Chương 1
Giớ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) Thập phân, Nhịphân, Hệ8, Hệ16
Cộng, trừ, nhân, chia
Các sốâm
Sốnguyên, sốthực, BCD, ASCII
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
© DHBK 2005 61/Chapter1
• Cộng thập phân Nhớ
x
Cộng nhịphân
0 1 0
8 2 7 3
y
5 6
2
• Cộng nhịphân
Tổng 8 8
3 5
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
© DHBK 2005 62/Chapter1
x
y
Mượn
Hiệu
Trừnhịphân
1 1 1 0 1
1 1 1 1
1 1 1 0
0 1 1 1 0
© DHBK 2005 63/Chapter1
Nhân nhịphân
• Nguyên tắc: cộng và dịch
1 1 1 0
1 1 0 1
1 1 1 0
0 0 0 0
1 1 1 0
1 1 1 0
1 0 1 1 0 1 1 0
© DHBK 2005 64/Chapter1
Chia nhịphân
1 0 1 1 1 0 1 0
1 1 1 0
1 0 0 1 0 1 0
1 1 1 0
1 0 0 1 0
0 0 0 0
1 0 0 1 0
1 1 1 0
1 0 0
• Nguyên tắc: trừvà dịch
1 1 1 0 1 1 0 1
© DHBK 2005 65/Chapter1
Chương 1
Giớ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) Thập phân, Nhịphân, Hệ8, Hệ16
Cộng, trừ, nhân, chia
Các sốâm
Sốnguyên, sốthực, BCD, ASCII
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
© DHBK 2005 66/Chapter1
Biểu diễn bằng dấu và độlớn
(Sign-Magnitude)
• Một sốcó dấu bao gồm 2 phần: dấu và độlớn
• Ví dụhệ10: +12310 (thông thường ‘123’) và -12310
• Hệnhịphân: bít dấu là bít MSB; ‘0’ = dương,‘1’ = âm • Ví dụ: 011002 = +1210 và 111002 = -1210
• Các sốcó dấu 8 bít sẽcó giá trịtừ-127 đến +127 với 2 số0: 1000 0000 (-0) và 0000 0000 (+0)
© DHBK 2005 67/Chapter1
Sốbù 2
• Sốbù 1 (bù lô gic): đảo bit
1001 => 0110
0100 => 1011
• Sốbù 2 (bù sốhọc): sốbù 1 +1 • Ví dụ: Tìm sốbù 2 của 13
13 = 0000 1101
Sốbù 1 của 13 =1111 0010
Cộng thêm 1: 1
Sốbù 2 của 13= 1111 0011 (tức là -13)
© DHBK 2005 68/Chapter1
• Ví dụ: Tìm sốbù 2 của 0
Sốbù 2
0 = 0000 0000
Sốbù 1 của 0 =1111 1111
Cộng thêm 1: 1
Sốbù 2 của 0= 0000 0000 (tức là -0)
• Nhưvậy với sốbù 2, số0 được biểu diễn 1 cách duy nhất
• Sốcó dấu 8 bít sẽcó giá trịtừ-128 đến 127
© DHBK 2005 69/Chapter1
Sốbù 2
Decimal Sốbù 2 Sign-magnitude -8 1000 - -7 1001 1111 -6 1010 1110 -5 1011 1101 -4 1100 1100 -3 1101 1011 -2 1110 1010 -1 1111 1001 0 0000 1000 & 0000
1 0001 0001 2 0010 0010 3 0011 0011 4 0100 0100 5 0101 0101 6 0110 0110 7 0111 0111
© DHBK 2005 70/Chapter1
Chương 1
Giớ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) Thập phân, Nhịphân, Hệ8, Hệ16
Cộng, trừ, nhân, chia
Các sốâm
Sốnguyên, sốthực, BCD, ASCII
• Giới thiệu sơlược vềcấu trúc và hoạt động của hệvi xửlý
© DHBK 2005 71/Chapter1
• 8 bit
Sốnguyên (integer)
unsigned: 0 đến 255
signed : -128 đến 127 ( bù hai)
• 16 bit
unsigned: 0 đến 65535 (216-1)
signed : -32768 (215) đến 32767 (215-1) • 32 bit
unsigned: 0 đến 232-1
signed : -231 đến 231-1
© DHBK 2005 72/Chapter1
Little endian và big endian
• Số1234 H được lưu trữthếnào trong bộnhớ8 bit?
FFFFH
0101H 0100H
0000H
.....
12H
34H
.....
little endian
FFFFH
0101H 0100H
0000H
.....
34H
12H
.....
big endian
Intel microprocessors
Motorola microprocessors
© DHBK 2005 73/Chapter1
Sốthực
(real number, floating point number)
• Ví dụ: 1,234=1,234*100=0,1234*101=... • 11,01 B= 1,101*21=0,1101*22=...
mantissa exponent
• Real number: (m, e) , e.g. (0.1101, 2) Single precision: 32 bit
Double precision: 64 bit
© DHBK 2005 74/Chapter1
Sốthực
(real number, floating point number)
• IEEE-754 format cho single-precision
31 30 23 22 0 S biased exponent e fraction f of normalized mantissa
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
Sign bit s=0
chuẩn hoá mantissa: 0.1011=1.011*2-1
Biased exponent: -1 + 127=126=01111110
IEEE format: 0 01111110 0110000000000000000000
© DHBK 2005 75/Chapter1
Sốthực
(real number, floating point number)
• IEEE-754 format cho double-precision
63 62 52 51 0 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
single precision: (-1)s x 2e-127 x (1.f)2double precision: (-1)s x 2e-1023 x (1.f)2
© DHBK 2005 76/Chapter1
Sốthực
(real number, floating point number) Single Precision Double Precision2-52 or 2.220 x 10-16 2-23 or 1.192 x 10 Machine -7 epsilon
2-1022 or 2.225 x 10-308 2-126 or 1.175 x 10-38 Smallest positive (2- 2-52) 21023 or 1.798 x 10308 (2- 2-23) 2127 or 3.403 x 1038 Largest positive Decimal Precision 6 significant digits 15 significant digits
© DHBK 2005 77/Chapter1
BCD
• Binary Coded Decimal 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
BCD
digit
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
© DHBK 2005 78/Chapter1
ASCII
• American Standard Code for Information Interchange (7-bit code)
b3b2b1b0 000 001 010 011 100 101 110 111 0000 NUL DLE SP 0 @ P ‘ p 0001 SOH DC1 ! 1 A Q a q 0010 STX DC2 “ 2 B R b r 0011 ETX DC3 # 3 C S c s 0100 EOT DC4 $ 4 D T d t 0101 ENQ NAK % 5 E U e u 0110 ACK SYN & 6 F V f V 0111 BEL ETB ‘ 7 G W g w 1000 BS CAN ( 8 H X h x 1001 HT EM ) 9 I Y i y 1010 LF SUB * : J Z j z 1011 VT ESC + ; K [ k { 1100 FF FS , < L \ l | 1101 CR GS - = M ] m } 1110 SO RS . > N ^ n ~ 1111 SI US / ? O _ o DEL
© DHBK 2005 79/Chapter1
Chương 1
Giớ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ý