Bài giảng Kỹ thuật vi xử lý Microprocessors - Chương 1: Giới thiệu chung về hệ vi xử lý - Phạm Ngọc Nam
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ý - Phạm Ngọc Nam", để 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:
- bai_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ý - Phạm Ngọc Nam
- Kỹ thuật vi xử lý Microprocessors Giảng viên: Phạm Ngọc Nam
- © DHBK 2005 2 Your instructor • Bộ môn kỹ thuật điện tử tin học q Office: C9-401 q Email: pnnam-fet@mail.hut.edu.vn • Research: q FPGA, PSoC q Trí tuệ nhân tạo • Education: q K37 điện tử-ĐHBK Hà nội (1997) q 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 q 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 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 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
- © DHBK 2005 5 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 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 q Làm theo nhóm 2-6 sinh viên q Nộp danh sách các nhóm vào 25/8 q Các nhóm trình bày ý tưởng 15/9 • Thi học kỳ: q 1 câu lý thuyết, 3 câu bài tập (lập trình và thiết kế) q 80% tổng số điểm
- © DHBK 2005 7 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 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 q Thế hệ -1: The early days ( -1642) q Thế hệ 0: Mechanical (1642-1945) q Thế hệ 1: Vacuum tubes (1945-1955) q Thế hệ 2: Discrete transistors (1955-1965) q Thế hệ 3: Integrated circuits (1965-1980) q 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 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) q Thế hệ 0: Mechanical (1642-1945) q Thế hệ 1: Vacuum tubes (1945-1955) q Thế hệ 2: Discrete transistors (1955-1965) q Thế hệ 3: Integrated circuits (1965-1980) q 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 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 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 Thế hệ -1: The early days ( -1642) • Codex Madrid - Leonardo Da Vinci (1500) q Vẽ một cái máy tính cơ khí
- © DHBK 2005 13 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 q Thế hệ -1: The early days ( -1642) þ Thế hệ 0: Mechanical (1642-1945) q Thế hệ 1: Vacuum tubes (1945-1955) q Thế hệ 2: Discrete transistors (1955-1965) q Thế hệ 3: Integrated circuits (1965-1980) q 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 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 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 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 Thế hệ 0: Mechanical (1642-1945)
- © DHBK 2005 18 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 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 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 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 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 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 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 q Thế hệ -1: The early days ( -1642) q Thế hệ 0: Mechanical (1642-1945) þ Thế hệ 1: Vacuum tubes (1945-1955) q Thế hệ 2: Discrete transistors (1955-1965) q Thế hệ 3: Integrated circuits (1965-1980) q 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 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 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 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 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 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 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 Thế hệ 1: Vacuum tubes (1945-1955) • Một magnetic core lưu trữ 256 bits
- © DHBK 2005 32 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 Thế hệ 1: Vacuum tubes (1945-1955) • Năm 1954, John Backus, IBM phát minh ra FORTRAN
- © DHBK 2005 34 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 q Thế hệ -1: The early days ( -1642) q Thế hệ 0: Mechanical (1642-1945) q Thế hệ 1: Vacuum tubes (1945-1955) þ Thế hệ 2: Discrete transistors (1955-1965) q Thế hệ 3: Integrated circuits (1965-1980) q 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 ThThếế hhệệ 2:2: DiscreteDiscrete transistorstransistors (1955-1965)(1955-1965) • Năm 1947, William Shockley, John Bardeen, and Walter Brattain phát minh ra transistor
- © DHBK 2005 36 ThThếế hhệệ 2:2: DiscreteDiscrete transistorstransistors (1955-1965)(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 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 q Thế hệ -1: The early days ( -1642) q Thế hệ 0: Mechanical (1642-1945) q Thế hệ 1: Vacuum tubes (1945-1955) q Thế hệ 2: Discrete transistors (1955-1965) þ Thế hệ 3: Integrated circuits (1965-1980) q 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 ThThếế hhệệ 3:3: IntegratedIntegrated circuitscircuits (1965-1980)(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 ThThếế hhệệ 3:3: IntegratedIntegrated circuitscircuits (1965-1980)(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 ThThếế hhệệ 3:3: IntegratedIntegrated circuitscircuits (1965-1980)(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 ThThếế hhệệ 3:3: IntegratedIntegrated circuitscircuits (1965-1980)(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 ThThếế hhệệ 3:3: IntegratedIntegrated circuitscircuits (1965-1980)(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 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 q Thế hệ -1: The early days ( -1642) q Thế hệ 0: Mechanical (1642-1945) q Thế hệ 1: Vacuum tubes (1945-1955) q Thế hệ 2: Discrete transistors (1955-1965) q 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 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 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 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 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 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 Phân loại vi xử lý
- © DHBK 2005 50 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 Entertainment Gear Box Radio Braking Control Radio
- © DHBK 2005 51 Phân loại vi xử lý
- © DHBK 2005 52 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)
- © DHBK 2005 53 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) q Thập phân, Nhị phân, Hệ 8, Hệ 16 q Cộng, trừ, nhân, chia q Các số âm q 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 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 q Cộng, trừ, nhân, chia q Các số âm q 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 Hệ thập phân • 1234,56710= q 1•1000+2•100+3•10+4•1+5•0.1+6•0.01+7•0.001 q 1•103+2•102+3•101+4•100+5•10-1+6•10-2+7•10-3 q 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
- © DHBK 2005 56 Hệ nhị phân • 1011,0112= q 1•8+0•4+1•2+1•1+0•0.5+1•0.25+1•0.125 q 1•23+0•22+1•21+1•20+0•2-1+1•2-2+1•2-3 q 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
- © DHBK 2005 57 Hệ 8 (Octal) • 7654,328= q 7•512+6•64+5•8+4•1+3•0.125+2•0.015625 q 7•83+6•82+5•81+4•80+3•8-1+2•8-2 q 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
- © DHBK 2005 58 Hệ 16 (Hexadecimal) • FEDC,7616= q 15•4096+14•256+13•16+12•1+7•1/16+6•1/256 q 15•163+14•162+13•161+12•160+7•16-1+6•16-2 q 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
- © DHBK 2005 59 Chuyển đổi giữa các hệ đếm • Chuyển từ hệ thập phân sang nhị phân q 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 q 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 q 1011 0111B = B7H
- © DHBK 2005 60 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) q Thập phân, Nhị phân, Hệ 8, Hệ 16 þ Cộng, trừ, nhân, chia q Các số âm q 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 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
- © DHBK 2005 62 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
- © DHBK 2005 63 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 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
- © DHBK 2005 65 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) q Thập phân, Nhị phân, Hệ 8, Hệ 16 q Cộng, trừ, nhân, chia þ Các số âm q 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 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 Số bù 2 • Số bù 1 (bù lô gic): đảo bit q 1001 => 0110 q 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 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
- © DHBK 2005 69 Số bù 2
- © DHBK 2005 70 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) q Thập phân, Nhị phân, Hệ 8, Hệ 16 q Cộng, trừ, nhân, chia q 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 Số nguyên (integer) • 8 bit q unsigned: 0 đến 255 q signed : -128 đến 127 ( bù hai) • 16 bit q unsigned: 0 đến 65535 (216-1) q signed : -32768 (215) đến 32767 (215-1) • 32 bit q unsigned: 0 đến 232-1 q signed : -231 đến 231-1
- © DHBK 2005 72 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
- © DHBK 2005 73 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) q Single precision: 32 bit q Double precision: 64 bit
- © DHBK 2005 74 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 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
- © DHBK 2005 76 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
- © DHBK 2005 77 BCD • Binary Coded Decimal number q BCD chuẩn (BCD gói, packed BCD): ð1 byte biểu diễn 2 số BCD ðVí dụ: 25: 0010 0101 q BCD không gói (unpacked BCD) : ð1 byte biểu diễn 1 số BCD ðví dụ: 25: 00000010 00000101
- © DHBK 2005 78 ASCII • American Standard Code for Information Interchange (7-bit code)
- © DHBK 2005 79 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ý q Hệ vi xử lý
- © DHBK 2005 80 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ý
- © DHBK 2005 81 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
- © DHBK 2005 82 Hệ vi xử lý • CPU q Đơ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 q Đơn vị điều khiển (Control Unit) Thực hiện lệnh q 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
- © DHBK 2005 83 Hệ vi xử lý • Memory q 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 q 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 q 8, 16, 32, 64 bit tùy thuộc vào vi xử lý • Bus địa chỉ: q 16, 20, 24, 32, 36 bit q số ô nhớ có thể đánh địa chỉ: 2N q Ví dụ: 8088/8086 có 20 đường địa chỉ => quản lý được 220 bytes=1Mbytes
- © DHBK 2005 84 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