🔙 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ý