Bài giảng Kỹ thuật vi xử lý (Microprocessors) - Chương 1: Giới thiệu chung về hệ vi xử lý

ppt 84 trang phuongnguyen 2560
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật vi xử lý (Microprocessors) - Chương 1: Giới thiệu chung về hệ vi xử lý", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_ky_thuat_vi_xu_ly_microprocessors_chuong_1_gioi_th.ppt

Nội dung text: Bài giảng Kỹ thuật vi xử lý (Microprocessors) - Chương 1: Giới thiệu chung về hệ vi xử lý

  1. Kỹ thuật vi xử lý Microprocessors Giảng viên: Phạm Ngọc Nam
  2. © DHBK 2005 2/Chapter1 Your instructor • Bộ môn kỹ thuật điện tử tin học ❑ Office: C9-401 ❑ Email: pnnam-fet@mail.hut.edu.vn • Research: ❑ FPGA, PSoC ❑ 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
  3. © 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ế
  4. © DHBK 2005 4/Chapter1 Tài liệu tham khảo • Slides • 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
  5. © 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ế
  6. © 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 25/8 ❑ Các nhóm trình bày ý tưởng 15/9 • Thi học kỳ: ❑ 1 câu lý thuyết, 3 câu bài tập (lập trình và thiết kế) ❑ 80% tổng số điểm
  7. 7/Chapter1 © DHBK 2005 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ý
  8. 8/Chapter1 © DHBK 2005 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ý
  9. 9/Chapter1 © DHBK 2005 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ý
  10. 10/Chapter1 © DHBK 2005 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
  11. 11/Chapter1 © DHBK 2005 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
  12. 12/Chapter1 © DHBK 2005 Thế hệ -1: The early days ( -1642) • Codex Madrid - Leonardo Da Vinci (1500) ❑ Vẽ một cái máy tính cơ khí
  13. 13/Chapter1 © DHBK 2005 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ý
  14. © 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
  15. © 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
  16. © 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
  17. © DHBK 2005 17/Chapter1 Thế hệ 0: Mechanical (1642-1945)
  18. © 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)
  19. © 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
  20. © 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.
  21. © 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)
  22. © 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.
  23. © 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!!
  24. 24/Chapter1 © DHBK 2005 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ý
  25. © 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
  26. © 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)
  27. © 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
  28. © 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ý
  29. © 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
  30. © 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.
  31. © DHBK 2005 31/Chapter1 Thế hệ 1: Vacuum tubes (1945-1955) • Một magnetic core lưu trữ 256 bits
  32. © 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
  33. © DHBK 2005 33/Chapter1 Thế hệ 1: Vacuum tubes (1945-1955) • Năm 1954, John Backus, IBM phát minh ra FORTRAN
  34. 34/Chapter1 © DHBK 2005 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ý
  35. © 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
  36. © 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)
  37. 37/Chapter1 © DHBK 2005 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ý
  38. © 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.
  39. © 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
  40. © 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
  41. © 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ỉ
  42. © 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
  43. 43/Chapter1 © DHBK 2005 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ý
  44. © 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.
  45. © 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
  46. © 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
  47. © 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
  48. 48/Chapter1 © DHBK 2005 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ý
  49. © DHBK 2005 49/Chapter1 Phân loại vi xử lý
  50. © 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 *Cabin Air System (ITS) *Lighting Quality *Safety Systems *Engine Performance and Emission Control (Traction Control) *Suspension Steering Controls Digital Car and * * Gear Box *Entertainment Braking Control * Radio
  51. © DHBK 2005 51/Chapter1 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 100K Departmental workstations supercomputer Mainframe 1M Batch processing in bank Supercomputer 10M Weather forecasting
  52. © DHBK 2005 52/Chapter1 Phân loại vi xử lý • Vi xử lý đa năng (General Purpose Microprocessor) • DSP (Digital Signal Processor) • Vi điều khiển (Microcontroller) • ASIP (Application Specific Integrated Processor)
  53. 53/Chapter1 © DHBK 2005 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ý
  54. 54/Chapter1 © DHBK 2005 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ý
  55. © DHBK 2005 55/Chapter1 Hệ thập phân • 1234,56710= ❑ 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 D =  di • r i=−n
  56. © DHBK 2005 56/Chapter1 Hệ nhị phân • 1011,0112= ❑ 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
  57. © DHBK 2005 57/Chapter1 Hệ 8 (Octal) • 7654,328= ❑ 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
  58. © DHBK 2005 58/Chapter1 Hệ 16 (Hexadecimal) • FEDC,7616= ❑ 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
  59. © 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
  60. 60/Chapter1 © DHBK 2005 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ý
  61. © DHBK 2005 61/Chapter1 Cộng nhị phân • Cộng thập phân Nhớ 0 1 0 x 8 2 7 3 y 5 6 2 Tổng 8 8 3 5 • Cộng nhị phân Nhớ 0 0 1 1 1 1 1 x 1 0 0 1 1 0 1 1 y 1 0 1 0 1 1 1 Tổng 1 1 1 1 0 0 1 0
  62. © DHBK 2005 62/Chapter1 Trừ nhị phân x 1 1 1 0 1 y 1 1 1 1 Mượn 1 1 1 0 Hiệu 0 1 1 1 0
  63. © 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
  64. © DHBK 2005 64/Chapter1 Chia nhị phân 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 0 1 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
  65. 65/Chapter1 © DHBK 2005 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ý
  66. 66/Chapter1 © DHBK 2005 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)
  67. © 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)
  68. © DHBK 2005 68/Chapter1 Số bù 2 • Ví dụ: Tìm số bù 2 của 0 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
  69. © 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
  70. 70/Chapter1 © DHBK 2005 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ý
  71. © DHBK 2005 71/Chapter1 Số nguyên (integer) • 8 bit ❑ 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
  72. © 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 FFFFH 0101H 12H 0101H 34H 0100H 34H 0100H 12H 0000H 0000H little endian big endian Intel microprocessors Motorola microprocessors
  73. 73/Chapter1 © DHBK 2005 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
  74. 74/Chapter1 © DHBK 2005 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
  75. 75/Chapter1 © DHBK 2005 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 s e-127 single precision: (-1) x 2 x (1.f)2 s e-1023 double precision: (-1) x 2 x (1.f)2
  76. 76/Chapter1 © DHBK 2005 Số thực (real number, floating point number) Single Precision Double Precision Machine epsilon 2-23 or 1.192 x 10-7 2-52 or 2.220 x 10-16 Smallest positive 2-126 or 1.175 x 10-38 2-1022 or 2.225 x 10-308 Largest positive (2- 2-23) 2127 or 3.403 x 1038 (2- 2-52) 21023 or 1.798 x 10308 Decimal Precision 6 significant digits 15 significant digits
  77. © 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 Decimal BCD Ví dụ: 25: 0010 0101 digit 0 0000 ❑ BCD không gói (unpacked BCD) : 1 0001 2 0010 1 byte biểu diễn 1 số BCD 3 0011 ví dụ: 25: 00000010 00000101 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001
  78. 78/Chapter1 © DHBK 2005 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 , N ^ n ~ 1111 SI US / ? O _ o DEL
  79. 79/Chapter1 © DHBK 2005 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ý
  80. 80/Chapter1 © DHBK 2005 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ý
  81. © DHBK 2005 81/Chapter1 Hệ vi xử lý Bus dữ liệu Bus điều khiển Phối ghép Bộ nhớ Vi xử lý Thiết bị vào/ra Memory CPU vào/ra (I/O) Màn hình Bus địa chỉ Máy in Bàn phím DRAM Intel 80X86 ISA Con chuột SRAM Motorola 680X EISA Ổ cứng ROM PowerPC PCI Ổ mềm EEPROM VESA CD-ROM Flash SCSI DVD USB
  82. © DHBK 2005 82/Chapter1 Hệ vi xử lý • CPU ❑ Đơn vị số học và logic (Arithmetic Logical Unit) Đọc mã lệnh Thực hiện các phép toán số học ✓ C ng, tr , nhân chia ộ ừ Giải mã lệnh Thực hiện các phép toán logic ✓ And, or, compare ❑ Đơn vị điều khiển (Control Unit) Thực hiện lệnh ❑ 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
  83. © DHBK 2005 83/Chapter1 Hệ vi xử lý • Memory ❑ ROM: không bị mất dữ liệu, chứa dữ liệu điều khiển hệ thống lúc khởi động ❑ RAM: mất dữ liệu khi mất nguồn, chứa chương trình và dữ liệu trong quá trình hoạt động của hệ thống • Bus dữ liệu ❑ 8, 16, 32, 64 bit tùy thuộc vào vi xử lý • Bus địa chỉ: ❑ 16, 20, 24, 32, 36 bit ❑ số ô nhớ có thể đánh địa chỉ: 2N ❑ Ví dụ: 8088/8086 có 20 đường địa chỉ => quản lý được 220 bytes=1Mbytes
  84. © DHBK 2005 84/Chapter1 Hệ vi xử lý Nhà sản xuất Tên vi xử lý Bus Bus Khả năng địa dữ liệu địa chỉ chỉ Intel 8088 8 20 1 M 8086 16 20 1 M 80186 16 20 1 M 80286 16 24 16 M 80386SX 16 24 16 M 80386DX 32 32 4 G 80486DX 32 32 4 G Pentium 64 32 4 G Pentium Pro 64 36 64 G Pentium I, II, III, IV 64 36 64 G Motorola 68000 16 24 16 M 68010 16 24 16 M 68020 32 32 4 G 68030 32 32 4 G 68040 32 32 4 G 68060 64 32 4 G PowerPC 64 32 4 G