Bài giảng Kiến trúc máy tính - Nguyễn Kim Khánh
lượt xem 84
download
Bài giảng "Kiến trúc máy tính" có nội dung gồm các chương sau: chương 1 giới thiệu chung, chương 2 cơ bản về logic số, chương 3 hệ thống máy tính, chương 4 số học máy tính, chương 5 kiến trúc tập lệnh, chương 6 bộ xử lý, chương 7 bộ nhớ máy tính, chương 8 hệ thống vào-ra, chương 9 các kiến trúc song song.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Kiến trúc máy tính - Nguyễn Kim Khánh
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Hanoi University of Science and Technology Contact Information n Address: 502-B1 n Mobile: 091-358-5533 KIẾN TRÚC MÁY TÍNH n e-mail: khanhnk@soict.hust.edu.vn Computer Architecture khanh.nguyenkim@hust.edu.vn Nguyễn Kim Khánh Bộ môn Kỹ thuật máy tính Viện Công nghệ thông tin và Truyền thông Department of Computer Engineering (DCE) School of Information and Communication Technology (SoICT) Version: Jan 2014 Jan2014 Computer Architecture 2 NKK-HUST NKK-HUST Mục tiêu học phần Tài liệu tham khảo chính n Sinh viên được trang bị các kiến thức cơ sở về [1] William Stallings - Computer Organization and kiến trúc tập lệnh và tổ chức của máy tính, cũng Architecture – Designing for Performance – 2013 (9th edition) như những vấn đề cơ bản trong thiết kế máy tính. [2] David A. Patterson & John L. Hennessy - Computer n Sau khi học xong học phần này, sinh viên có Organization and Design: The Hardware/Software Interface khả năng: – 2012 (revised 4th edition) n Tìm hiểu kiến trúc tập lệnh của các bộ xử lý cụ thể [3] David Money Harris and Sarah L. Harris, Digital n Lập trình hợp ngữ trên một số kiến trúc Design and Computer Architecture – 2013 (2nd edition) n Đánh giá hiệu năng của các họ máy tính n Khai thác và quản trị hiệu quả các hệ thống máy tính [4] Andrew S. Tanenbaum - Structured Computer n Phân tích và thiết kế máy tính Organization – 2012 (6th edition) Jan2014 Computer Architecture 3 Jan2014 Computer Architecture 4 Nguyễn Kim Khánh DCE-HUST 1
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST Nội dung học phần Chú ý: Bài giảng mới nhất Jan 2014 Chương 1. Giới thiệu chung Chương 2. Cơ bản về logic số ftp://dce.hust.edu.vn/khanhnk/CA Chương 3. Hệ thống máy tính Chương 4. Số học máy tính Chương 5. Kiến trúc tập lệnh Chương 6. Bộ xử lý Chương 7. Bộ nhớ máy tính Chương 8. Hệ thống vào-ra Chương 9. Các kiến trúc song song Jan2014 Computer Architecture 5 Jan2014 Computer Architecture 6 NKK-HUST NKK-HUST Kiến trúc máy tính Nội dung 1.1. Máy tính và phân loại Chương 1 1.2. Khái niệm kiến trúc máy tính GIỚI THIỆU CHUNG 1.3. Sự tiến hóa của máy tính 1.4. Hiệu năng máy tính Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội Jan2014 Computer Architecture 7 Jan2014 Computer Architecture 8 Nguyễn Kim Khánh DCE-HUST 2
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST 1.1. Máy tính và phân loại máy tính Máy tính .... 1. Máy tính n Máy tính (Computer) là thiết bị điện tử thực hiện các công việc sau: Bộ xử lý trung tâm n Nhận thông tin vào, (Central Processing Unit) Các n Xử lý thông tin theo dãy các lệnh được nhớ sẵn bên Các thiết bị ra thiết bị vào trong, (Input Devices) (Output Devices) n Đưa thông tin ra. Bộ nhớ chính Dãy các lệnh nằm trong bộ nhớ để yêu cầu n (Main Memory) máy tính thực hiện công việc cụ thể gọi là chương trình (program) à Máy tính hoạt động theo chương trình. Jan2014 Computer Architecture 9 Jan2014 Computer Architecture 10 NKK-HUST NKK-HUST 2. Phân loại máy tính Phân loại máy tính hiện đại [P&H] n Thiết bị di động cá nhân (Personal Mobile Devices): Smartphones, Tablet n Phân loại truyền thống: n n Máy tính cá nhân đa dụng (Personal Computers) n Máy vi tính (Microcomputers) n Desktop computers, Laptop computers n Máy tính nhỏ (Minicomputers) n Máy chủ (Servers) n Máy tính lớn (Mainframe Computers) n Thực chất là Máy phục vụ n Dùng trong mạng theo mô hình Client/Server n Siêu máy tính (Supercomputers) n Máy tính cụm/máy tính qui mô lớn (Clusters/Warehouse Scale Computers): n Sử dụng tại các trung tâm tính toán, trung tâm dữ liệu n Supercomputers n Máy tính nhúng (Embedded Computers) n Đặt ẩn trong thiết bị khác n Được thiết kế chuyên dụng Jan2014 Computer Architecture 11 Jan2014 Computer Architecture 12 Nguyễn Kim Khánh DCE-HUST 3
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST 1.2. Khái niệm kiến trúc máy tính Định nghĩa của Hennessy/ Patterson n Kiến trúc máy tính bao gồm: n Định nghĩa trước đây về kiến trúc máy n Kiến trúc tập lệnh (Instruction Set Architecture): tính: nghiên cứu máy tính theo cách nhìn của người lập n Là thiết kế kiến trúc tập lệnh (Instruction Set trình (hardware/software interface). Architecture – ISA) n Tổ chức máy tính (Computer Organization) hay Vi n Các thuộc tính của máy tính theo cách nhìn kiến trúc (Microarchitecture): nghiên cứu thiết kế máy người lập trình (hardware/software interface) tính ở mức cao, chẳng hạn như hệ thống nhớ, cấu trúc bus, thiết kế bên trong CPU. n Là định nghĩa hẹp n Phần cứng (Hardware): nghiên cứu thiết kế logic chi tiết và công nghệ đóng gói của máy tính. n Kiến trúc tập lệnh thay đổi chậm, tổ chức và phần cứng máy tính thay đổi rất nhanh. Jan2014 Computer Architecture 13 Jan2014 Computer Architecture 14 NKK-HUST NKK-HUST Kiến trúc tập lệnh Cấu trúc cơ bản của máy tính Kiến trúc tập lệnh của máy tính bao gồm: CPU Bộ nhớ chính n Tập lệnh: tập hợp các chuỗi số nhị phân mã hoá cho các thao tác mà máy tính có thể thực hiện Bus liên kết hệ thống n Các kiểu dữ liệu: các kiểu dữ liệu mà máy tính có thể xử lý Hệ thống vào-ra Jan2014 Computer Architecture 15 Jan2014 Computer Architecture 16 Nguyễn Kim Khánh DCE-HUST 4
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST Các thành phần cơ bản của máy tính Mô hình phân lớp của máy tính n Bộ xử lý trung tâm (Central Processing Unit): Người sử Phần mềm ứng dụng Điều khiển hoạt động của máy tính và xử lý dữ dụng Người lập trình Phần mềm trung gian liệu. Hệ điều hành n Bộ nhớ chính (Main Memory): Chứa các Các phần mềm ứng dụng Kiến trúc Người thiết chương trình và dữ liệu đang được sử dụng. Các phần mềm trung gian kế HĐH tập lênh Vi kiến trúc n Hệ thống vào-ra (Input/Output System): Trao Hệ điều hành đổi thông tin giữa máy tính với bên ngoài. Logic-số Phần cứng n Bus liên kết hệ thống (System Interconnection Mạch điện tử Bus): Kết nối và vận chuyển thông tin giữa các thành phần với nhau. n Phần cứng (Hardware): hệ thống vật lý của máy tính. n Phần mềm (Software): các chương trình và dữ liệu. Jan2014 Computer Architecture 17 Jan2014 Computer Architecture 18 NKK-HUST NKK-HUST 1.3. Sự tiến hóa của máy tính ENIAC – Máy tính điện tử đầu tiên Các thế hệ máy tính n Electronic Numerical Intergator and Computer n Thế hệ thứ nhất: Máy tính dùng đèn điện tử n Dự án của Bộ Quốc phòng Mỹ chân không (1950s) n Do John Mauchly và John Presper Eckert ở Đại học Pennsylvania thiết kế. n Thế hệ thứ hai: Máy tính dùng transistor n Bắt đầu từ 1943, hoàn thành 1946 (1960s) n Nặng 30 tấn n Thế hệ thứ ba: Máy tính dùng vi mạch SSI, n 18000 đèn điện tử và 1500 rơle MSI và LSI (1970s) n 5000 phép cộng/giây n Xử lý theo số thập phân n Thế hệ thứ tư: Máy tính dùng vi mạch VLSI n Bộ nhớ chỉ lưu trữ dữ liệu (1980s) n Lập trình bằng cách thiết lập vị trí của các chuyển mạch và các cáp nối. n Thế hệ thứ năm: Máy tính dùng vi mạch ULSI, SoC (1990s-nay) Jan2014 Computer Architecture 19 Jan2014 Computer Architecture 20 Nguyễn Kim Khánh DCE-HUST 5
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST Máy tính von Neumann Vi mạch n Vi mạch hay là mạch tích hợp (Integrated Circuit n Chính là máy tính IAS (thực - IC): mạch điện tử gồm nhiều transistors và các hiện tại Princeton Institute for linh kiện khác được tích hợp trên một chip bán Advanced Studies) dẫn. n Bắt đầu 1947, hoàn thành 1952 n Phân loại vi mạch theo qui mô tích hợp: n Do John von Neumann thiết kế n SSI - Small Scale Integration n Được xây dựng theo ý tưởng n MSI - Medium Scale Integration “chương trình được lưu trữ” - n LSI - Large Scale Integration (stored-program concept) của n VLSI - Very Large Scale Integration von Neumann/Turing (1945) n ULSI - Ultra Large Scale Integration n Trở thành mô hình cơ bản của máy tính Jan2014 Computer Architecture 21 Jan2014 Computer Architecture 22 NKK-HUST NKK-HUST Một số vi mạch số điển hình Luật Moore 2.1 / A BRIEF HISTORY OF COMPUTERS 31 t g ui ga w or in te of rc ul s la ist rk d ra on ci te ns wo om e’ d teg ti in ven pr oor Bộ vi xử lý (Microprocessors): CPU được chế tra irst M In F n 100 bn 10 bn tạo trên một chip. 1 bn 100 m 10 m Vi mạch điều khiển tổng hợp (Chipset): một 100,000 n 10,000 1000 hoặc một vài vi mạch thực hiện được nhiều 100 10 1 1947 50 55 60 65 70 75 80 85 90 95 2000 05 11 chức năng điều khiển và nối ghép. Figure 2.8 Growth in Transistor Count on Integrated Circuits n Gordon Moore IBM –/360người By 1964, IBM SYSTEM đồng had a firmsáng grip on the lập computerIntel market with n Bộ nhớ bán dẫn (Semiconductor Memory): n its 7000 series of machines. In that year, IBM announced the System/360, a new Số transistors trên family of computer chip products. sẽ Although gấp the đôi announcement sau itself 18 was no tháng surprise, it ROM, RAM, Flash n contained some unpleasant news for current IBM customers: the 360 product line Giá thànhdifficult củafor thechip hầu base. current customer như không This was thay a bold step by IBM, but oneđổi was incompatible with older IBM machines. Thus, the transition to the 360 would be IBM felt was necessary to break out of some of the constraints of the 7000 architecture and n Hệ thống trên chip (SoC – System on Chip) n Mật độ cao hơn, to produce do a system vậy capable đường of evolving with the newdẫn ngắn integrated hơn circuit technology [PADE81, GIFF87]. The strategy paid off both financially and technically. The 360 n Các bộ vi điều khiển (Microcontrollers) n Kích thước nhỏ computer hơn vendor, dẫnsharetới with a market aboveđộ70%. phức And, with some tạp was the success of the decade and cemented IBM as the overwhelmingly dominant tăng lên modifications and extensions, the architecture of the 360 remains to this day the architecture n Điện năngthroughout tiêu thisthụ text. ít hơn 9 of IBM’s mainframe computers. Examples using this architecture can be found The System/360 was the industry’s first planned family of computers. The n Hệ thống family có ít các covered a widechip liên kết range of performance với and cost. Tablenhau, doofđó tăng độ tin 2.4 indicates some the key characteristics of the various models in 1965 (each member of the family is cậy distinguished by a model number). The models were compatible in the sense that a program written for one model should be capable of being executed by another model in the series, with only a difference in the time it takes to execute. Jan2014 Computer Architecture 23 Jan2014 Computer Architecture 24 The concept of a family of compatible computers was both novel and extremely successful. A customer with modest requirements and a budget to match could start with the relatively inexpensive Model 30. Later, if the customer’s needs grew, it was possible to upgrade to a faster machine with more memory without 9 The term mainframe is used for the larger, most powerful computers other than supercomputers. Typical characteristics of a mainframe are that it supports a large database, has elaborate I/O hardware, and is used in a central data processing facility. Nguyễn Kim Khánh DCE-HUST 6
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST Sự phát triển của vi xử lý Máy tính ngày nay n 1971: bộ vi xử lý 4-bit Intel 4004 Massive Cluster Gigabit Ethernet Clusters n 1972: các bộ xử lý 8-bit n 1978: các bộ xử lý 16-bit n 1985: các bộ xử lý 32-bit Refrigerators n 2001: các bộ xử lý 64-bit n 2006: các bộ xử lý đa lõi (multicores) Sensor Nets Cars RobotsRobots Routers Routers Jan2014 Computer Architecture 25 Jan2014 Computer Architecture 26 NKK-HUST NKK-HUST 1.4. Hiệu năng máy tính Xung nhịp của CPU n Định nghĩa hiệu năng P(Performance): n Hoạt động của CPU được điều khiển bởi xung nhịp có tần số xác định P = 1/ t trong đó: t là thời gian thực hiện T0 n “Máy tính A nhanh hơn máy B n lần” n Chu kỳ xung nhịp T0(Clock period): thời gian của PA / PB = tB / tA = n một chu kỳ n Ví dụ: Thời gian chạy chương trình: n Tần số xung nhịp f0 (Clock rate): số chu kỳ trong 1 n 10s trên máy A, 15s trên máy B giây. n tB / tA = 15s / 10s = 1.5 n f0 = 1/T0 n Vậy máy A nhanh hơn máy B 1.5 lần n VD: Bộ xử lý có f0 = 4GHz = 4000MHz = 4×109Hz T0 = 1/(4x109) = 0.25x10–9s = 0.25ns Jan2014 Computer Architecture 27 Jan2014 Computer Architecture 28 Nguyễn Kim Khánh DCE-HUST 7
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST Thời gian CPU (tCPU) Ví dụ n Máy tính A: n n Tần số xung nhịp: fA= 2GHz tCPU = n × T0 = n Thời gian của CPU: tA = 10s f0 n Máy tính B n Thời gian của CPU: tB = 6s Số chu kỳ xung nhịp của B = 1.2 x Số chu kỳ xung nhịp của A n trong đó: n là số chu kỳ xung nhịp n n Xác định tần số xung nhịp của máy B (fB)? n Hiệu năng được tăng lên bằng cách: n Giảm số chu kỳ xung nhịp n n Tăng tần số xung nhịp f0 Jan2014 Computer Architecture 29 Jan2014 Computer Architecture 30 NKK-HUST NKK-HUST Ví dụ Số lệnh và số chu kỳ trên một lệnh n Máy tính A: n Tần số xung nhịp: fA= 2GHz n Số chu kỳ = Số lệnh x Số chu kỳ trên một lệnh n Thời gian của CPU: tA = 10s n = IC × CPI n Máy tính B n - số chu kỳ, IC - số lệnh (Instruction Count), CPI - số n Thời gian của CPU: tB = 6s chu kỳ trên một lệnh (Cycles per Instruction) n Số chu kỳ xung nhịp của B = 1.2 x Số chu kỳ xung nhịp của A n Xác định tần số xung nhịp của máy B (fB)? n Giải: n Thời gian thực hiện của CPU: n 1.2 × n A fB = B = IC × CPI tB 6s tCPU = IC × CPI × T0 = f0 n A = t A × f A = 10 s × 2GHz = 20 ×10 9 n Trong trường hợp các lệnh khác nhau có CPI khác 1.2 × 20 ×10 9 24 ×10 9 nhau, cần tính CPI trung bình fB = = = 4GHz 6s 6s Jan2014 Computer Architecture 31 Jan2014 Computer Architecture 32 Nguyễn Kim Khánh DCE-HUST 8
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST Ví dụ Ví dụ n Máy tính A: TA = 250ps, CPIA = 2.0 n Máy tính A: TA = 250ps, CPIA = 2.0 n Máy tính B: TB = 500ps, CPIB = 1.2 n Máy tính B: TB = 500ps, CPIB = 1.2 n Cùng kiến trúc tập lệnh (ISA) n Cùng kiến trúc tập lệnh (ISA) n Máy nào nhanh hơn và nhanh hơn bao nhiêu ? n Máy nào nhanh hơn và nhanh hơn bao nhiêu ? t = IC × CPI × T A A A = IC × 2.0 × 250ps = IC × 500ps t = IC × CPI × T B B B = IC × 1.2 × 500ps = IC × 600ps t B = IC × 600ps = 1.2 Vậy: t IC × 500ps A nhanh hơn B 1.2 lần A Jan2014 Computer Architecture 33 Jan2014 Computer Architecture 34 NKK-HUST NKK-HUST Chi tiết hơn về CPI Ví dụ n Nếu loại lệnh khác nhau có số chu kỳ khác n Cho bảng chỉ ra các dãy lệnh sử dụng các lệnh nhau, ta có tổng số chu kỳ: thuộc các loại A, B, C. Tính CPI trung bình? K Loại lệnh A B C n = ∑ (CPIi × ICi ) CPI theo loại lệnh 1 2 3 i=1 IC trong dãy lệnh 1 2 1 2 IC trong dãy lệnh 2 4 1 1 n CPI trung bình: K n ⎛ IC ⎞ CPITB = = ∑ ⎜ CPIi × i ⎟ IC i=1 ⎝ IC ⎠ Jan2014 Computer Architecture 35 Jan2014 Computer Architecture 36 Nguyễn Kim Khánh DCE-HUST 9
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST Ví dụ Tóm tắt về Hiệu năng n Cho bảng chỉ ra các dãy lệnh sử dụng các lệnh Instructions Clock cycles Seconds thuộc các loại A, B, C. Tính CPI trung bình? CPU Time = × × Program Instruction Clock cycle Loại lệnh A B C IC × CPI CPI theo loại lệnh 1 2 3 tCPU = IC × CPI × T0 = IC trong dãy lệnh 1 2 1 2 f0 IC trong dãy lệnh 2 4 1 1 n Hiệu năng phụ thuộc vào: n Dãy lệnh 1: IC = 5 n Dãy lệnh 2: IC = 6 n Thuật toán n Số chu kỳ n Số chu kỳ n Ngôn ngữ lập trình = 2×1 + 1×2 + 2×3 = 4×1 + 1×2 + 1×3 n Chương trình dịch = 10 =9 n Kiến trúc tập lệnh n CPITB = 10/5 = 2.0 n CPITB = 9/6 = 1.5 Jan2014 Computer Architecture 37 Jan2014 Computer Architecture 38 NKK-HUST NKK-HUST MIPS như là thước đo hiệu năng Ví dụ MIPS: Millions of Instructions Per Second n Tính MIPS của bộ xử lý với: (Số triệu lệnh trên 1 giây) clock rate = 2GHz và CPI = 4 Instructio n count Instructio n count Clock rate MIPS = = = Execution time × 10 6 Instructio n count × CPI × 10 6 CPI × 10 6 Clock rate f0 f0 MIPS = CPI = CPI × 10 6 MIPS × 10 6 Jan2014 Computer Architecture 39 Jan2014 Computer Architecture 40 Nguyễn Kim Khánh DCE-HUST 10
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST Ví dụ Ví dụ Tính MIPS của bộ xử lý với: Tính CPI của bộ xử lý với: clock rate = 2GHz và CPI = 4 clock rate = 1GHz và 400 MIPS? 0.5ns 2ns 1 chu kỳ = 1/(2x109) = 0,5ns CPI = 4 à thời gian thực hiện 1 lệnh: 4 x 0,5ns = 2ns Vậy bộ xử lý thực hiện được 500 MIPS Jan2014 Computer Architecture 41 Jan2014 Computer Architecture 42 NKK-HUST NKK-HUST Ví dụ MFLOPS Tính CPI của bộ xử lý với: Millions of Floating Point Operations per Second clock rate = 1GHz và 400 MIPS? (Số triệu phép toán số dấu phẩy động trên một giây) Executed floating point operations MFLOPS = Execution time × 10 6 1ns GFLOPS(109 ) 4x108 lệnh thực hiện trong 1s à 1 lệnh thực hiện trong 1/(4x108)s = 2,5ns TFLOPS(1012) à CPI = 2,5 Jan2014 Computer Architecture 43 Jan2014 Computer Architecture 44 Nguyễn Kim Khánh DCE-HUST 11
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST Kiến trúc máy tính Hết chương 1 Chương 2 CƠ BẢN VỀ LOGIC SỐ Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội Jan2014 Computer Architecture 45 Jan2014 Computer Architecture 46 NKK-HUST NKK-HUST Nội dung học phần Nội dung của chương 2 Chương 1. Giới thiệu chung Chương 2. Cơ bản về logic số 2.1. Các hệ đếm cơ bản Chương 3. Hệ thống máy tính 2.2. Đại số Boole Chương 4. Số học máy tính 2.3. Các cổng logic Chương 5. Kiến trúc tập lệnh 2.4. Mạch tổ hợp Chương 6. Bộ xử lý 2.5. Mạch dãy Chương 7. Bộ nhớ máy tính Chương 8. Hệ thống vào-ra Chương 9. Các kiến trúc song song Jan2014 Computer Architecture 47 Jan2014 Computer Architecture 48 Nguyễn Kim Khánh DCE-HUST 12
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST 2.1. Các hệ đếm cơ bản 1. Hệ thập phân n Cơ số 10 n Hệ thập phân (Decimal System) n 10 chữ số: 0,1,2,3,4,5,6,7,8,9 à con người sử dụng n Dùng n chữ số thập phân có thể biểu diễn n Hệ nhị phân (Binary System) được 10n giá trị khác nhau: à máy tính sử dụng n 00...000 = 0 n Hệ mười sáu (Hexadecimal System) n 99...999 = 10n - 1 à dùng để viết gọn cho số nhị phân Jan2014 Computer Architecture 49 Jan2014 Computer Architecture 50 NKK-HUST NKK-HUST Dạng tổng quát của số thập phân Ví dụ số thập phân A = an an−1 ... a1a0 , a−1 ... a−m 472.38 = 4x102 + 7x101 + 2x100 + 3x10-1 + 8x10-2 n Các chữ số của phần nguyên: Giá trị của A được hiểu như sau: n 472 : 10 = 47 dư 2 n 47 : 10 = 4 dư 7 A = a n 10 n + a n −110 n −1 + ... + a1101 + a0 10 0 + a −110 −1 + ... + a −m 10 − m n 4 : 10 = 0 dư 4 n n Các chữ số của phần lẻ: i A = ∑ a 10 i n 0.38 x 10 = 3.8 phần nguyên = 3 i =− m n 0.8 x 10 = 8.0 phần nguyên = 8 Jan2014 Computer Architecture 51 Jan2014 Computer Architecture 52 Nguyễn Kim Khánh DCE-HUST 13
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST 2. Hệ nhị phân Bits, Bytes, Nibbles… n Cơ số 2 n Bits 10010110 most least n 2 chữ số nhị phân: 0 và 1 significant significant bit bit n chữ số nhị phân gọi là bit (binary digit) byte n Bit là đơn vị thông tin nhỏ nhất n Bytes & Nibbles 10010110 n Dùng n bit có thể biểu diễn được 2n giá trị nibble khác nhau: n 00...000 = 0 n 11...111 = 2n - 1 CEBF9AD7 n Bytes most significant least significant byte byte Jan2014 Computer Architecture 53 Jan2014 Computer Architecture 54 NKK-HUST NKK-HUST Lũy thừa hai Dạng tổng quát của số nhị phân n 210 = 1 kilo ≈ 1000 (1024) Có một số nhị phân A như sau: n 220 = 1 mega ≈ 1 triệu (1,048,576) A = an an−1 ... a1a0 , a−1 ... a−m n 230 = 1 giga ≈ 1 tỷ (1,073,741,824) Giá trị của A được tính như sau: n 240 = 1 tera ≈ 1000 tỷ A = a n 2 n + a n −1 2 n −1 + ... + a1 21 + a0 2 0 + a −1 2 −1 + ... + a −m 2 − m n 250 = 1 peta ≈ 1 triệu tỷ n i A = ∑a 2 i i =− m Jan2014 Computer Architecture 55 Jan2014 Computer Architecture 56 Nguyễn Kim Khánh DCE-HUST 14
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST Ví dụ số nhị phân Chuyển đổi số nguyên thập phân sang nhị phân 1101001.1011(2) = 6 5 4 3 2 1 0 -1 -2 -3 -4 n Phương pháp 1: chia dần cho 2 rồi lấy = 26 + 25 + 23 + 20 + 2-1 + 2-3 + 2-4 phần dư = 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625 n Phương pháp 2: Phân tích thành tổng của các số 2i à nhanh hơn = 105.6875(10) Jan2014 Computer Architecture 57 Jan2014 Computer Architecture 58 NKK-HUST NKK-HUST Phương pháp chia dần cho 2 Phương pháp phân tích thành tổng của các 2i n Ví dụ 1: chuyển đổi 105(10) n Ví dụ: chuyển đổi 105(10) n 105 = 64 + 32 + 8 +1 = 2 + 2 + 2 + 2 6 5 3 0 n 105 : 2 = 52 dư 1 n 52 : 2 = 26 dư 0 27 26 25 24 23 22 21 20 n 26 : 2 = 13 dư 0 128 64 32 16 8 4 2 1 n 13 : 2 = 6 dư 1 0 1 1 0 1 0 0 1 n 6:2 = 3 dư 0 n Kết quả: 105(10) = 0110 1001(2) n 3:2 = 1 dư 1 n 1:2 = 0 dư 1 n Ví dụ 2: 17000(10) = 16384 + 512 + 64 + 32 + 8 n Kết quả: 105(10) = 1101001(2) = 214 + 29 + 26 + 25 + 23 17000(10) = 0100 0010 0110 1000(2) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Jan2014 Computer Architecture 59 Jan2014 Computer Architecture 60 Nguyễn Kim Khánh DCE-HUST 15
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST Chuyển đổi số lẻ thập phân sang nhị phân Chuyển đổi số lẻ thập phân sang nhị phân (tiếp) n Ví dụ 1: chuyển đổi 0.6875(10) n Ví dụ 2: chuyển đổi 0.81(10) n 0.6875 x 2 = 1.375 phần nguyên = 1 n 0.81 x 2 = 1.62 phần nguyên = 1 n 0.62 x 2 = 1.24 phần nguyên = 1 n 0.375 x 2 = 0.75 phần nguyên = 0 n 0.24 x 2 = 0.48 phần nguyên = 0 n 0.75 x 2 = 1.5 phần nguyên = 1 n 0.48 x 2 = 0.96 phần nguyên = 0 n 0.5 x 2 = 1.0 phần nguyên = 1 n 0.96 x 2 = 1.92 phần nguyên = 1 n 0.92 x 2 = 1.84 phần nguyên = 1 0.84 x 2 = 1.68 phần nguyên = 1 n Kết quả : 0.6875(10)= 0.1011(2) n n 0.81(10) ≈ 0.1100111(2) Jan2014 Computer Architecture 61 Jan2014 Computer Architecture 62 NKK-HUST NKK-HUST Chuyển đổi số lẻ thập phân sang nhị phân (tiếp) 3. Hệ mười sáu (Hexa) n Ví dụ 3: chuyển đổi 0.2(10) n Cơ số 16 n 0.2 x2 = 0.4 phần nguyên = 0 n 0.4 x2 = 0.8 phần nguyên = 0 n 16 chữ số: 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F n 0.8 x2 = 1.6 phần nguyên = 1 n Dùng để viết gọn cho số nhị phân: cứ một n 0.6 x2 = 1.2 phần nguyên = 1 nhóm 4-bit sẽ được thay bằng một chữ số n 0.2 x2 = 0.4 phần nguyên = 0 Hexa n 0.4 x2 = 0.8 phần nguyên = 0 n 0.8 x2 = 1.6 phần nguyên = 1 n 0.6 x2 = 1.2 phần nguyên = 1 n 0.2(10) ≈ 0.00110011 (2) Jan2014 Computer Architecture 63 Jan2014 Computer Architecture 64 Nguyễn Kim Khánh DCE-HUST 16
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST Quan hệ giữa số nhị phân và số Hexa 2.2. Đại số Boole 4-bit Chữ số Hexa 0000 0 Ví dụ chuyển đổi số nhị phân à số Hexa: n Đại số Boole sử dụng các biến logic và phép 0001 0010 1 2 n 1011 00112 = B316 toán logic 0011 3 n 0000 00002 = 0016 n Biến logic có thể nhận giá trị 1 (TRUE) hoặc 0 0100 0101 4 5 (FALSE) 0110 6 n 0010 1101 1001 10102 = 2D9A16 n Phép toán logic cơ bản là AND, OR và NOT 0111 7 n 1111 1111 1111 11112 = FFFF16 với ký hiệu như sau: 1000 8 1001 9 n A AND B : A•B 1010 A n A OR B : A+B 1011 B 1100 C n NOT A : A 1101 D n Thứ tự ưu tiên: NOT > AND > OR 1110 E 1111 F Jan2014 Computer Architecture 65 Jan2014 Computer Architecture 66 NKK-HUST NKK-HUST Các phép toán logic (tiếp) Phép toán đại số Boole n Các phép toán NAND, NOR, XOR: A B NOT A A AND B A OR B A NAND B A NOR B A XOR B A A•B A+B A•B A+B A⊕B n A NAND B: A• B 0 0 1 0 0 1 1 0 n A NOR B : A+ B 0 1 1 0 1 1 0 1 n A XOR B: A⊕ B = A• B + A• B 1 0 0 0 1 1 0 1 1 1 0 1 1 0 0 0 Jan2014 Computer Architecture 67 Jan2014 Computer Architecture 68 Nguyễn Kim Khánh DCE-HUST 17
- Bài giảng Kiến trúc máy tính Jan2014 NKK-HUST NKK-HUST Các đồng nhất thức của đại số Boole 2.3. Các cổng logic (Logic Gates) A•B=B•A A+B=B+A n Thực hiện các hàm logic: A • (B + C) = (A • B) + (A • C) A + (B • C) = (A + B) • ( A + C) n NOT, AND, OR, NAND, NOR, etc. 1•A=A 0+A=A n Cổng logic một đầu vào: A•A=0 A+A=1 n Cổng NOT, bộ đệm (buffer) 0•A=0 1+A=1 n Cổng hai đầu vào: A•A=A A+A=A n AND, OR, XOR, NAND, NOR, XNOR A • (B • C) = (A • B) • C A + (B + C) = (A + B) + C n Cổng nhiều đầu vào 368 CHAPTER 11 / DIGITAL LOGIC A • B = A + B (Định lý De Morgan) A + B = A • B (Định lý De Morgan) 11.2 GATES The fundamental building block of all digital logic circuits is the gate. Logical func- tions are implemented by the interconnection of gates. A gate is an electronic circuit that produces an output signal that is a sim- Jan2014 ple Boolean operation on its input signals. Computer The basic gates used in digital logic are Architecture 69 Jan2014 Computer Architecture 70 AND, OR, NOT, NAND, NOR, and XOR. Figure 11.1 depicts these six gates. Each gate is defined in three ways: graphic symbol, algebraic notation, and truth table. The symbology used in this chapter is from the IEEE standard, IEEE Std 91. Note that the inversion (NOT) operation is indicated by a circle. Each gate shown in Figure 11.1 has one or two inputs and one output. However, as indicated in Table 11.1b, all of the gates except NOT can have more than two inputs. Thus, (X + Y + Z) can be implemented with a single OR gate with three inputs. When one or more of the values at the input are changed, the NKK-HUST NKK-HUST correct output signal appears almost instantaneously, delayed only by the propaga- tion time of signals through the gate (known as the gate delay). The significance of Các cổng logic this delay is discussed in Section 11.3. In some cases, a gate is implemented with two outputs, one output being the negation of the other output. Tập đầy đủ Algebraic Name Graphical Symbol Function Truth Table A B F n Là tập các cổng có thể thực hiện được bất kỳ hàm logic nào từ các cổng của A F!A•B 0 0 0 AND F or 0 1 0 B 1 0 0 F ! AB tập đó. 1 1 1 A B F A 0 0 0 OR F F!A"B 0 1 1 B Một số ví dụ về tập đầy đủ: 1 0 1 1 1 1 n F!A A F NOT A F or F ! A# 0 1 1 0 n {AND, OR, NOT} A A 0 B 0 F 1 n {AND, NOT} NAND F F ! AB 0 1 1 {OR, NOT} B 1 0 1 1 1 0 n A B F {NAND} A 0 0 1 NOR B F F!A"B 0 1 0 n 1 0 0 1 1 0 A A 0 B 0 F 0 n {NOR} XOR F F!A!B 0 1 1 B 1 0 1 1 1 0 Figure 11.1 Basic Logic Gates Jan2014 Computer Architecture 71 Jan2014 Computer Architecture 72 Nguyễn Kim Khánh DCE-HUST 18
- • NAND • NOR It should be clear that AND, OR, and NOT gates constitute a functionally Bài giảng Kiến complete trúc the set, because they represent the three operations of Boolean algebra. For ANDmáy and NOTtínhgates to form a functionally complete set, there must be a way Jan2014 to synthesize the OR operation from the AND and NOT operations. This can be done by applying DeMorgan’s theorem: A + B = A#B A OR B = NOT ((NOT A) AND (NOT B)) NKK-HUST Similarly, the OR and NOT operations are functionally complete because NKK-HUST they can be used to synthesize the AND operation. Sử dụng cổng NAND Figure 11.2 shows how the AND, OR, and NOT functions can be implemented Sử dụng cổng NOR solely with NAND gates, and Figure 11.3 shows the same thing for NOR gates. For this reason, digital circuits can be, and frequently are, implemented solely with NAND gates or solely with NOR gates. 370 CHAPTER 11 / DIGITAL LOGIC A A A A A A B A (A+B) A B A+B B B A A A A A+B A B B B B B Figure 11.2 Some Uses of NAND Gates Figure 11.3 Some Uses of NOR Gates With gates, we have reached the most primitive circuit level of computer Jan2014 Computer Architecture 73 Jan2014 hardware. An examination of theComputer transistor combinations used to construct gates Architecture 74 departs from that realm and enters the realm of electrical engineering. For our pur- poses, however, we are content to describe how gates can be used as building blocks to implement the essential logical circuits of a digital computer. 11.3 COMBINATIONAL CIRCUITS NKK-HUST NKK-HUST A combinational circuit is an interconnected set of gates whose output at any time Một số ví dụ vi mạch logic 2.4. Mạch tổ hợp is a function only of the input at that time. As with a single gate, the appearance of 20-34 CHAPTER 20 / DIGITAL LOGIC the input is followed almost immediately by the appearance of the output, with only gate delays. Mạch logic là mạch bao gồm: 7400 7404 VCC 4B 4A 4Y 3B 3A 3Y VCC 6A 6Y 5A 5Y 4A 4Y 14 13 12 11 10 9 8 14 13 12 11 10 9 8 n In general terms, a combinational circuit consists of n binary inputs and m binary outputs. As with a gate, a combinational circuit can be defined in three ways: n Các đầu vào (Inputs) • Truth table: For each of the 2n possible combinations of input signals, the 1 1A 2 1B 3 1Y 4 2A 5 2B 6 7 2Y GND 1 1A 2 1Y 3 2A 4 2Y 5 3A 6 7 3Y GND n Các value binary đầuofraeach(Outputs) of the m output signals is listed. 7408 7411 VCC 14 4B 13 4A 12 4Y 3B 11 10 3A 9 3Y 8 VCC 14 1C 13 1Y 12 3C 3B 11 10 3A 9 3Y 8 n Đặc tả symbols: • Graphical chức năng (Functional The interconnected layoutspecification) of gates is depicted. • Boolean equations: Each output signal is expressed as a Boolean function of Đặc n its inputtả thời gian (Timing specification) signals. 1 1A 2 1B 3 1Y 4 2A 7422 5 2B 6 7 2Y GND 1 1A 2 1B 3 2A 4 2B 7430 5 2C 6 7 2Y GND Các kiểu mạch logic: n Implementation of Boolean Functions Mạchfunction logic can tổ be hợp (Combinational Logic) VCC 2D 2C NC 2B 2A 2Y VCC NC H G NC NC Y 14 13 12 11 10 9 8 14 13 12 11 10 9 8 Anyn Boolean implemented in electronic form as a network of gates. For any given function, there are a number of alternative realizations. Consider the Mạchrepresented Booleann function không nhớ by the truth table in Table 11.3. We can express this func- 1 2 3 4 5 6 7 1 2 3 4 5 6 7 n Đầu tion by simply ra được itemizing xác định bởi the combinations các giá of values trịB,hiện of A, and Ctạithat của đầu cause vào F to be 1: 1A 1B NC 1C 1D 1Y GND A B C D E F GND VCC 4B 4A 7432 4Y 3B 3A 3Y VCC 4B 4A 7486 4Y 3B 3A 3Y n + ABC + ABC Logic) Mạch logic dãyF (Sequential + ABC (11.1) 14 13 12 11 10 9 8 14 13 12 11 10 9 8 n Mạch có nhớ n Đầu ra được xác định bởi các giá trị trước đó và giá trị hiện tại 1 1A 2 1B 3 1Y 4 2A 5 2B 6 7 2Y GND 1 1A 2 1B 3 1Y 4 2A 5 2B 6 7 2Y GND của đầu vào Figure 20.32 Some SSI Chips. Pin layouts from The TTL Data Book for Design Engineers, copyright © 1976 Texas Instrument Incorporated. Jan2014 Computer Architecture 75 Jan2014 Computer Architecture 76 Nguyễn Kim Khánh DCE-HUST 19
- 1 1 0 1 1 1 1 0 Bài giảng Kiến trúc máy tính There are three combinations of input values that cause F to be 1, and if any one of these combinations occurs, the result is 1. This form of expression, for self- Jan2014 evident reasons, is known as the sum of products (SOP) form. Figure 11.4 shows a straightforward implementation with AND, OR, and NOT gates. Another form can also be derived from the truth table. The SOP form expresses that the output is 1 if any of the input combinations that produce 1 is true. We can also say that the output is 1 if none of the input combinations that produce 0 is true. Thus, NKK-HUST NKK-HUST F = 1A B C2 # 1A B C2 # 1A B C2 # 1A B C2 # 1A B C2 Mạch tổ hợp Ví dụ This can be rewritten using a generalization of DeMorgan’s theorem: (X # Y # Z) = X + Y + Z Mạch tổ hợp là mạch logic trong đó đầu n A B C F A B C ra chỉ phụ thuộc đầu vào ở thời điểm 0 0 0 0 hiện tại. 0 0 1 0 380 0 1 0 1 n Là mạch không nhớ và được thực hiện CHAPTER 11 / DIGITAL LOGIC 0 1 1 1 B bằng các cổng logic cơ bản A 1 0 0 0 11.3 / COMBINATIONAL CIRCUITS 381 F 1 0 1 0 11.7 Table 4-to-1 Multiplexer Truth Table n Mạch tổ hợp có thểF được định nghĩa 1 1 0 S21 S1 F B theo ba cách: 1 1 1 00 0 D0 0 1 D1 C Bảng thật n Figure 11.11 NAND Implementation of 1 1 Figure0 11.4 1 Sum-of-Products D2Implementation of Table 11.3 D3 Table 11.3 Dạng sơ đồ n F = A BC + A BC + ABC output signal F. To select one of the four possible inputs, a 2-bit selection code is NAND AND n Phương trìnhAnother NOR IMPLEMENTATIONS Booleconsideration in the needed, and this is implemented as two select lines labeled S1 and S2. implementation of Boolean functions concerns the types of gates used. It is sometimes An example 4-to-1 multiplexer is defined by the truth table in Table 11.7. This Jan2014 Computer Architecture desirable to implement a Boolean function solely with NAND gates or solely with 77 Jan2014 Computer is a simplified form of a truth table. InsteadArchitecture of showing all possible combinations of 78 NOR gates. Although this may not be the minimum-gate implementation, it has the input variables, it shows the output as data from line D0, D1, D2, or D3. Figure 11.13 advantage of regularity, which can simplify the manufacturing process. Consider shows an implementation using AND, OR, and NOT gates. S1 and S2 are connected to the AND gates in such a way that, for any combination of S1 and S2, three of the again Equation (11.3): AND gates will output 0. The fourth AND gate will output the value of the selected F = B(A + C) line, which is either 0 or 1. Thus, three of the inputs to the OR gate are always 0, and the output of the OR gate will equal the value of the selected input gate. Using Because the complement of the complement of a value is just the original value, NKK-HUST NKK-HUST this regular organization, it is easy to construct multiplexers of size 8-to-1, 16-to-1, and so on. F = B(A + C) = (AB + (BC) Bộ dồn kênh (Multiplexer-MUX) Applying DeMorgan’s theorem, Thực hiện MUX bốn đầu vào Multiplexers are used in digital circuits to control signal and data routing. An example is the loading of the program counter (PC). The value to be loaded into the program counter may come from one of several different sources: F = (AB)•(BC) n 2n đầu vào dữ liệu which has three NAND forms, as illustrated in Figure 11.11. S2 S1 n n đầu vào chọn Multiplexers n 1 multiple The multiplexer connects đầu ra inputs to a single output. At any time, one of the D0 inputs is selected to be passed to the output. A general block diagram representation n Đầu is shown in Figure 11.12. vào chọn This represents a 4-to-1(S) xác định multiplexer. đầu There are vào nào (D) sẽ four input lines, labeled D0, D1, D2, and D3. One of these lines is selected to provide the được nối với đầu ra (F). D1 D0 S2 S1 F F D1 0 0 D0 D2 4-to-1 F D2 MUX 0 1 D1 D3 1 0 D2 D3 1 1 D3 Figure 11.13 Multiplexer Implementation S2 S1 Jan2014 Figure 11.12 4-to-1 Multiplexer Computer Architecture 79 Jan2014 Computer Architecture 80 Representation Nguyễn Kim Khánh DCE-HUST 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kiến trúc máy tính: Chương 1 - TS. Nguyễn Qúy Sỹ
46 p | 272 | 52
-
Bài giảng Kiến trúc máy tính: Chương 3 - Cấu trúc phần cứng của máy tính
12 p | 269 | 48
-
Bài giảng Kiến trúc máy tính - ĐH Hàng Hải
95 p | 211 | 32
-
Bài giảng Kiến trúc máy tính (238tr)
238 p | 149 | 23
-
Bài giảng Kiến trúc máy tính: Chương 1 - Phạm Hoàng Sơn
70 p | 138 | 20
-
Bài giảng Kiến trúc máy tính: Chương 1 - ThS. Lê Văn Hùng
17 p | 147 | 11
-
Bài giảng Kiến trúc máy tính - Chương 1: Tổng quan về kiến trúc máy tính
40 p | 32 | 10
-
Bài giảng Kiến trúc máy tính: Chương 1 - ThS. Nguyễn Hằng Phương
24 p | 110 | 9
-
Bài giảng Kiến trúc máy tính và hệ điều hành: Chương 1 - Nguyễn Ngọc Duy
30 p | 57 | 6
-
Bài giảng Kiến trúc máy tính: Chương 7 - ThS. Lê Văn Hùng
18 p | 122 | 5
-
Bài giảng Kiến trúc máy tính - Kiến trúc bộ lệnh
78 p | 83 | 4
-
Bài giảng Kiến trúc máy tính - Chương 1: Giới thiệu
51 p | 78 | 3
-
Bài giảng Kiến trúc máy tính và Hệ điều hành: Chương 3 - Vũ Thị Thúy Hà
89 p | 12 | 3
-
Bài giảng Kiến trúc máy tính và Hệ điều hành: Chương 1 - Vũ Thị Thúy Hà
83 p | 10 | 2
-
Bài giảng Kiến trúc máy tính và Hệ điều hành: Chương 2 - Vũ Thị Thúy Hà
106 p | 4 | 2
-
Bài giảng Kiến trúc máy tính và Hệ điều hành: Chương 4 - Vũ Thị Thúy Hà
64 p | 5 | 2
-
Bài giảng Kiến trúc máy tính và Hệ điều hành: Chương 5 - Vũ Thị Thúy Hà
20 p | 6 | 2
-
Bài giảng Kiến trúc máy tính và Hệ điều hành: Chương 6 - Vũ Thị Thúy Hà
74 p | 14 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn