Ktmt Completed

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ktmt Completed as PDF for free.

More details

  • Words: 32,666
  • Pages: 148
Bài giảng Kiến trúc máy tính

NKK-HUT

Contact

KIẾN TRÚC MÁY TÍNH Computer Architecture

„

DCE’s Office:

322-C1

„

SoICT’s Office: 320-C1

„

Mobile:

„

e-mail: [email protected]

091-358-5533

Nguyễn Kim Khánh, PhD. in Computer Engineering Bộ môn Kỹ thuật máy tính Viện Công nghệ thông tin và Truyền thông School of Information and Communication Technology (SoICT)

5 September 2009

5 September 2009

Bài giảng Kiến trúc máy tính

NKK-HUT

Bài giảng Kiến trúc máy tính

2

NKK-HUT

Giới thiệu học phần „ „ „

„

Mã số: IT3030 Khối lượng: 3(3-1-0-6) Đối tượng tham dự: Sinh viên đại học các ngành công nghệ thông tin từ học kỳ 5. Điều kiện học phần: „

„

Mục tiêu học phần

Học phần học trước:

„

„

IT1010 (THĐC)

Đánh giá: TN/BT/KT(0,3)- T(0,7)

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

3

Giới thiệu các kiến thức cơ bản về kiến trúc máy tính, bao gồm: kiến trúc tập lệnh và tổ chức của máy tính, cũng như các vấn đề cơ bản trong thiết kế một hệ thống máy tính. Sinh viên có khả năng đánh giá được hiệu năng của các họ máy tính, khai thác và sử dụng hiệu quả các loại máy tính và có khả năng tiếp cận để phát triển các hệ máy tính nhúng phục vụ các mục đích chuyên dụng.

5 September 2009

Bài giảng Kiến trúc máy tính

4

1

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Tài liệu tham khảo chính

Tài liệu tham khảo ...

1. William Stallings - Computer Organization and Architecture – Designing for Performance – 2003 (6th edition) 2. Behrooz Parhami - Computer Architecture: From Microprocessors to Supercomputers - 2005 3. David A. Patterson & John L. Hennessy Computer Organization and Design: The Hardware/Software Interface – 2002 (third edition) 4. John L. Hennessy & David A. Patterson Computer Architecture: A Quantitative Approach – 2003 (third edition) 5 September 2009

Bài giảng Kiến trúc máy tính

5

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

6

NKK-HUT

Tài liệu tham khảo ...

Nội dung học phần „ „ „ „ „ „ „ „ „

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

7

Chương 1. Giới thiệu chung Chương 2. Cơ bản về logic số Chương 3. Tổng quan về hệ thống máy tính Chương 4. Kiến trúc tập lệnh Chương 5. Số học máy tính Chương 6. Bộ xử lý trung tâm Chương 7. Bộ nhớ máy tính Chương 8. Hệ thống vào-ra Chương 9. Máy tính song song

5 September 2009

Bài giảng Kiến trúc máy tính

8

2

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Kiến trúc máy tính

Nội dung

1.1. Máy tính và phân loại máy tính 1.2. Kiến trúc máy tính 1.3. Sự phát triển của máy tính 1.4. Hiệu năng máy tính

Chương 1 GIỚI THIỆU CHUNG

Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội

5 September 2009

Bài giảng Kiến trúc máy tính

9

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

10

Bài giảng Kiến trúc máy tính

12

NKK-HUT

1.1. Máy tính và phân loại máy tính

Máy tính ....

1. Máy tính „

Máy tính (Computer) là thiết bị điện tử thực hiện các công việc sau: „ „

„

Nhận thông tin vào, Xử lý thông tin theo dãy các lệnh được nhớ sẵn bên trong, Đưa thông tin ra.

Dãy các lệnh nằm trong bộ nhớ để yêu cầu 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.

„

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

11

5 September 2009

3

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

2. Phân loại máy tính „

Phân loại máy tính hiện đại

Phân loại truyền thống: „ „ „ „

„

Máy vi tính (Microcomputers) Máy tính nhỏ (Minicomputers) Máy tính lớn (Mainframe Computers) Siêu máy tính (Supercomputers)

5 September 2009

Bài giảng Kiến trúc máy tính

„ „

13

NKK-HUT

5 September 2009

„

„

„

„

14

Máy chủ (Server)

Là loại máy tính phổ biến nhất Các loại máy tính cá nhân: „

„

Bài giảng Kiến trúc máy tính

NKK-HUT

Máy tính cá nhân PC „

Máy tính cá nhân (Personal Computers) Máy chủ (Server Computers) Máy tính nhúng (Embedded Computers)

„ „

Máy tính để bàn (Desktop) Máy tính xách tay (Laptop)

1981 Æ IBM giới thiệu máy tính IBM-PC sử dụng bộ xử lý Intel 8088 1984 Æ Apple đưa ra Macintosh sử dụng bộ xử lý Motorola 68000 Giá thành: hàng trăm đến hàng nghìn USD

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

15

„ „ „ „

Thực chất là máy phục vụ Dùng trong mạng theo mô hình Client/Server (Khách hàng/Người phục vụ) Tốc độ và hiệu năng tính toán cao Dung lượng bộ nhớ lớn Độ tin cậy cao Giá thành: hàng nghìn đến hàng chục triệu USD.

5 September 2009

Bài giảng Kiến trúc máy tính

16

4

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

1.2. Kiến trúc máy tính

Máy tính nhúng (Embedded Computer) „

„ „

Được đặt trong thiết bị khác để điều khiển thiết bị đó làm việc Được thiết kế chuyên dụng Ví dụ: „ „ „

Bài giảng Kiến trúc máy tính

17

NKK-HUT

„

Là định nghĩa hẹp

5 September 2009

Bài giảng Kiến trúc máy tính

18

NKK-HUT

Định nghĩa của Hennessy/ Patterson

Ví dụ

Kiến trúc máy tính bao gồm: „

„

„

„

„

Cách nhìn logic của máy tính từ người lập trình (hardware/software interface) Kiến trúc tập lệnh (Instruction Set Architecture – ISA)

Giá thành: vài USD đến hàng trăm nghìn USD.

5 September 2009

„

Định nghĩa trước đây về kiến trúc máy tính: „

Điện thoại di động Máy ảnh số Bộ điều khiển trong máy giặt, điều hoà nhiệt độ Router – bộ định tuyến trên mạng

„

„

„

Các máy tính PC dùng các bộ xử lý Pentium III và Pentium 4:

Kiến trúc tập lệnh (Instruction Set Architecture): nghiên cứu máy tính theo cách nhìn của người lập trình (hardware/software interface). Tổ chức máy tính (Computer Organization): nghiên cứu thiết kế máy 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.

„

cùng chung kiến trúc tập lệnh (IA-32)

„

có tổ chức khác nhau

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.

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.

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

19

5 September 2009

Bài giảng Kiến trúc máy tính

20

5

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

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: „ 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 „ Các kiểu dữ liệu: các kiểu dữ liệu mà máy tính có thể xử lý

CPU

Bé nhí chÝnh

Bus liªn kÕt hÖ thèng

HÖ thèng vµo-ra

5 September 2009

Bài giảng Kiến trúc máy tính

21

NKK-HUT

5 September 2009

„

„

„

22

NKK-HUT

Các thành phần cơ bản của máy tính „

Bài giảng Kiến trúc máy tính

Mô hình phân lớp của máy tính

Bộ xử lý trung tâm (Central Processing Unit): Điều khiển hoạt động của máy tính và xử lý dữ liệu. Bộ nhớ chính (Main Memory): Chứa các chương trình và dữ liệu đang được sử dụng. Hệ thống vào ra (Input/Output System): Trao đổi thông tin giữa máy tính với bên ngoài. Bus liên kết hệ thống (System Interconnection Bus): Kết nối và vận chuyển thông tin giữa các thành phần với nhau.

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

23

„ „

Phần cứng (Hardware): hệ thống vật lý của máy tính. Phần mềm (Software): các chương trình và dữ liệu.

5 September 2009

Bài giảng Kiến trúc máy tính

24

6

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

1.3. Sự phát triển của của máy tính

Máy tính dùng đèn điện tử

1. Các thế hệ máy tính „ Thế hệ thứ nhất: Máy tính dùng đèn điện tử chân không (1950s) „ Thế hệ thứ hai: Máy tính dùng transistor (1960s) „ Thế hệ thứ ba: Máy tính dùng vi mạch SSI, MSI và LSI (1970s) „ Thế hệ thứ tư: Máy tính dùng vi mạch VLSI (1980s) „ Thế hệ thứ năm: Máy tính dùng vi mạch ULSI, SoC (1990s) 5 September 2009

Bài giảng Kiến trúc máy tính

„

ENIAC- Máy tính điện tử đầu tiên „

„ „

„

25

NKK-HUT

Electronic Numerical Intergator And Computer

Dự án của Bộ Quốc phòng Mỹ Do John Mauchly và John Presper Eckert ở Đại học Pennsylvania thiết kế. Bắt đầu từ năm 1943, hoàn thành năm 1946

5 September 2009

Bài giảng Kiến trúc máy tính

26

Bài giảng Kiến trúc máy tính

28

NKK-HUT

ENIAC (tiếp)

Đèn điện tử

Nặng 30 tấn „ 18000 đèn điện tử và 1500 rơle „ 5000 phép cộng/giây „ Xử lý theo số thập phân „ Bộ nhớ chỉ lưu trữ dữ liệu „ 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. „

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

27

5 September 2009

7

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

ENIAC (tiếp)

Máy tính von Neumann „

Đó là máy tính IAS: „

Princeton Institute for Advanced Studies

„

Được bắt đầu từ 1947, hoàn thành1952

„

Do John von Neumann thiết kế

„

5 September 2009

Bài giảng Kiến trúc máy tính

29

NKK-HUT

5 September 2009

Được xây dựng theo ý tưởng “chương trình được lưu trữ” (stored-program concept) của von Neumann/Turing (1945)

Bài giảng Kiến trúc máy tính

30

NKK-HUT

Đặc điểm chính của máy tính IAS Bao gồm các thành phần: đơn vị điều khiển, đơn vị số học và logic (ALU), bộ nhớ chính và các thiết bị vào-ra. „ Bộ nhớ chính chứa chương trình và dữ liệu „ Bộ nhớ chính được đánh địa chỉ theo từng ngăn nhớ, không phụ thuộc vào nội dung của nó. „ ALU thực hiện các phép toán với số nhị phân „ Đơn vị điều khiển nhận lệnh từ bộ nhớ, giải mã và thực hiện lệnh một cách tuần tự. „ Đơn vị điều khiển điều khiển hoạt động của các thiết bị vào-ra „ Trở thành mô hình cơ bản của máy tính 5 September 2009 Bài giảng Kiến trúc máy tính 31

John von Neumann và máy tính IAS

„

Nguyễn Kim Khánh - ĐHBKHN

5 September 2009

Bài giảng Kiến trúc máy tính

32

8

Bài giảng Kiến trúc máy tính

Cấu trúc chi tiết của IAS

NKK-HUT

NKK-HUT

Cấu trúc của máy tính von Neumann

5 September 2009

Bài giảng Kiến trúc máy tính

33

NKK-HUT

„ „

Bài giảng Kiến trúc máy tính

34

Bài giảng Kiến trúc máy tính

36

NKK-HUT

Các máy tính thương mại ra đời „

5 September 2009

UNIVAC I

1947 - Eckert-Mauchly Computer Corporation UNIVAC I (Universal Automatic Computer) 1950s - UNIVAC II „ „

Nhanh hơn Bộ nhớ lớn hơn

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

35

5 September 2009

9

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

UNIVAC II

Hãng IBM „ „

IBM - International Business Machine 1953 - IBM 701 „

„

„

1955 – IBM 702 „

5 September 2009

Bài giảng Kiến trúc máy tính

37

NKK-HUT

Máy tính lưu trữ chương trình đầu tiên của IBM Sử dụng cho tính toán khoa học

5 September 2009

Các ứng dụng thương mại

Bài giảng Kiến trúc máy tính

38

NKK-HUT

IBM 701

Máy tính dùng transistor „

„ „ „

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

39

Máy tính PDP-1 của DEC (Digital Equipment Corporation) máy tính mini đầu tiên IBM 7000 Hàng trăm nghìn phép cộng trong một giây. Các ngôn ngữ lập trình bậc cao ra đời.

5 September 2009

Bài giảng Kiến trúc máy tính

40

10

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Máy tính DEC PDP-1 (1960)

5 September 2009

Bài giảng Kiến trúc máy tính

IBM 7030 (1961)

41

NKK-HUT

5 September 2009

„ „ „ „ „

„

Luật Moore

Vi mạch (Integrated Circuit - IC): nhiều transistor và các phần tử khác được tích hợp trên một chip bán dẫn. „

„

42

NKK-HUT

Máy tính dùng vi mạch SSI, MSI và LSI „

Bài giảng Kiến trúc máy tính

SSI (Small Scale Integration) MSI (Medium Scale Integration) LSI (Large Scale Integration) VLSI (Very Large Scale Integration) (thế hệ thứ tư) ULSI (Ultra Large Scale Integration) (thế hệ thứ năm) SoC (System on Chip)

Siêu máy tính xuất hiện: CRAY-1, VAX Bộ vi xử lý (microprocessor) ra đời „

„

Gordon Moore – người đồng sáng lập Intel

„

Số transistors trên chip sẽ gấp đôi sau 18 tháng

„

Giá thành của chip hầu như không thay đổi

„

Mật độ cao hơn, do vậy đường dẫn ngắn hơn

„

Kích thước nhỏ hơn dẫn tới độ phức tạp tăng lên

„

Điện năng tiêu thụ ít hơn

„

Hệ thống có ít các chip liên kết với nhau, do đó tăng độ tin cậy

Bộ vi xử lý đầu tiên Æ Intel 4004 (1971).

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

43

5 September 2009

Bài giảng Kiến trúc máy tính

44

11

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Tăng trưởng số transistor trong chip CPU

5 September 2009

Bài giảng Kiến trúc máy tính

IBM 360 Family

45

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

46

NKK-HUT

PDP-11 (1973)

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

VAX-11 (1981)

47

5 September 2009

Bài giảng Kiến trúc máy tính

48

12

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Micro VAX

5 September 2009

Siêu máy tính CRAY-1

Bài giảng Kiến trúc máy tính

49

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

50

NKK-HUT

Máy tính dùng vi mạch VLSI/ULSI

Ví dụ máy chủ HP

Các sản phẩm chính của công nghệ VLSI/ULSI: „ Bộ vi xử lý (Microprocessor): CPU được chế tạo trên một chip. „ Vi mạch điều khiển tổng hợp (Chipset): một hoặc một vài vi mạch thực hiện được nhiều chức năng điều khiển và nối ghép. „ Bộ nhớ bán dẫn (Semiconductor Memory): ROM, RAM „ Các bộ vi điều khiển (Microcontroller): máy tính chuyên dụng được chế tạo trên 1 chip. 5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

51

5 September 2009

Bài giảng Kiến trúc máy tính

52

13

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Ví dụ máy chủ Sun

2. Sự phát triển của bộ vi xử lý „

SunFire15K

„ „

SunFire V40z „ „ „ „

1971: bộ vi xử lý 4-bit Intel 4004 1972-1977: các bộ xử lý 8-bit 1978-1984: các bộ xử lý 16-bit Khoảng từ 1985: các bộ xử lý 32-bit Khoảng từ 2000: các bộ xử lý 64-bit Các bộ xử lý đa lõi (multicores) Các bộ vi điều khiển (microcontroller)

SunFire V880 5 September 2009

Bài giảng Kiến trúc máy tính

53

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

54

NKK-HUT

Sự phát triển của Intel x86 „

„

„ „

„ „

„

„

„

„ „

„

„ „

„

„

„

5 September 2009

„

Đánh địa chỉ bộ nhớ được16 Mbyte Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

„

55

Siêu vô hướng Bus dữ liệu 64-bit Đa lệnh được thực hiện song song

Pentium Pro „

80286

Tăng cường bộ nhớ cache trên chip Đường ống lệnh Có bộ đồng xử lý toán trên chip

Pentium „

5MHz – 29,000 transistors 16-bit 8088 (bus dữ liệu bên ngoài 8-bit) sử dụng trong IBM PC đầu tiên

32-bit Hỗ trợ đa nhiệm

80486 „

Bộ vi xử lý đa năng đầu tiên 8-bit Sử dụng trong PC đầu tiên – Altair

8086 „

80386 „

Bộ vi xử lý đầu tiên 4-bit

8080 „

„

„

4004 „

„

Sự phát triển của Intel x86 (tiếp)

5 September 2009

Tăng cường tổ chức siêu vô hướng Dự đoán rẽ nhánh Phân tích luồng dữ liệu Suy đoán đông Bài giảng Kiến trúc máy tính

56

14

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Sự phát triển của Intel x86 (tiếp) „

Pentium II Công nghệ MMX

„

Pentium III

„

„

„

„

„ „

Xử lý đồ họa, video & audio Thêm các lệnh xử lý dấu phẩy động cho đồ họa 3D

Pentium 4 „

„

Intel 4004 - bộ vi xử lý 4-bit

Tăng cường xử lý số dấu phẩy động và multimedia

Duo Core: 2 bộ xử lý trên chip Core 2: Kiến trúc 64-bit Core 2 Quad – 3GHz – 820 triệu transistors „

5 September 2009

4 bộ xử lý trong 1chip Bài giảng Kiến trúc máy tính

57

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

58

NKK-HUT

Intel 8080 - bộ vi xử lý 8-bit

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

Intel 80286 - bộ vi xử lý 16-bit

59

5 September 2009

Bài giảng Kiến trúc máy tính

60

15

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Intel Pentium (32-bit)

80386 - bộ vi xử lý 32-bit đầu tiên của Intel

5 September 2009

Bài giảng Kiến trúc máy tính

61

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

62

Bài giảng Kiến trúc máy tính

64

NKK-HUT

Pentium III và Pentium 4 (32-bit)

Pentium III

5 September 2009

Multicores

Pentium 4

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

63

5 September 2009

16

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

3. Sự phát triển của thiết bị ngoại vi „

Giao tiếp „ „

„ „ „

4. Phần mềm máy tính „

người-máy máy-máy

„

Phần mềm ứng dụng Phần mềm hệ thống „

Đa dạng Truyền thông Tốc độ

„ „ „

„ „ „

5 September 2009

NKK-HUT

Hệ điều hành

Bài giảng Kiến trúc máy tính

65

5 September 2009

Quản lý: nhiệm vụ, bộ nhớ, files, vào-ra Lập lịch ….

Công cụ lập trình và chương trình dịch Các trình điều khiển thiết bị ….

Bài giảng Kiến trúc máy tính

66

NKK-HUT

Ngôn ngữ lập trình

1.4. Hiệu năng máy tính (performance) 1

High Level Language Program

Performance

temp = v[k]; v[k] = v[k+1]; v[k+1] = temp;



Execution time

Compiler Assembly Language Program

lw lw sw sw

$15, $16, $16, $15,

Assembler Machine Language Program

1

0($2) 4($2) 0($2) 4($2)

0000 1001 1100 0110 1010 1111 0101 1000 1010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111

Performance

CPU execution time

CPU execution time = Instructions × (Cycles Per Instruction) × (Secs per cycle) = Instructions × CPI / (Clock rate)

5 September 2009

Nguyễn Kim Khánh - ĐHBKHN



Bài giảng Kiến trúc máy tính

68

17

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

CPI (Cycles Per Instruction)

MIPS (Million Instruction Per Second)

Số chu ky cần thiết để thực hiện lệnh

Số triệu lệnh được thực hiện trong 1 second

executed instructions × CPI execution time

CPI



clock rate

MIPS =

execution time × clock rate



executed instructions execution time×10

6

executed instructions

5 September 2009

Bài giảng Kiến trúc máy tính

69

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

70

NKK-HUT

Quan hệ giữa MIPS và CPI

MFLOPS million of floating point operations per second

Với CPI = 4

MFLOPS =

exec time of 1 inst. exec time of 1 inst.

executed floating point operations

n inst. executed

execution time×106

program execution time(T) T=n・CPI・

GFLOPS(109 )



MIPS=

clock rate

n

clock rate MIPS= 106 5 September 2009

・CPI

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

TFLOPS(1012)

T・106 CPI =

clock rate 106 ・MIPS 71

5 September 2009

Bài giảng Kiến trúc máy tính

72

18

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Ví dụ 1

Ví dụ 2

Tính MIPS của bộ xử lý với: clock rate = 2GHz và CPI = 4

Tính CPI của bộ xử lý với: clock rate = 1GHz và 400 MIPS?

0.5ns

1ns 2ns

4x108 lệnh thực hiện trong 1s Æ 1 lệnh thực hiện trong 1/(4x108)s = 2,5ns Æ CPI = 2,5

1/(2x10-9)

1 chu kỳ = = 0,5ns CPI = 4 Æ 1 lệnh = 4x0,5ns = 2ns Vậy bộ xử lý thực hiện được 500MIPS 5 September 2009

Bài giảng Kiến trúc máy tính

73

5 September 2009

Bài giảng Kiến trúc máy tính

74

NKK-HUT

Hết chương 1

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

75

19

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Kiến trúc máy tính

Nội dung giáo trình „ „

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

5 September 2009

Bài giảng Kiến trúc máy tính

„

1

NKK-HUT

Chương 1. Giới thiệu chung Chương 2. Cơ bản về logic số Chương 3. Tổng quan về hệ thống máy tính Chương 4. Kiến trúc tập lệnh Chương 5. Số học máy tính Chương 6. Bộ xử lý trung tâm Chương 7. Bộ nhớ máy tính Chương 8. Hệ thống vào-ra Chương 9. Máy tính song song

5 September 2009

Bài giảng Kiến trúc máy tính

2

NKK-HUT

Nội dung của chương 2

2.1. Các hệ đếm cơ bản „

2.1. Các hệ đếm cơ bản 2.2. Đại số Boole 2.3. Cổng logic 2.4. Mạch tổ hợp 2.5. Mạch dãy

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

„

„

3

Hệ thập phân (Decimal System) Æ con người sử dụng Hệ nhị phân (Binary System) Æ máy tính sử dụng Hệ mười sáu (Hexadecimal System) Æ dùng để viết gọn cho số nhị phân

5 September 2009

Bài giảng Kiến trúc Máy tính

4

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

1. Hệ thập phân

Dạng tổng quát của số thập phân

A = a n a n −1 ... a1 a 0 , a −1 ... a − m

„

Cơ số 10

„

10 chữ số: 0,1,2,3,4,5,6,7,8,9

Giá trị của A được hiểu như sau:

Dùng n chữ số thập phân có thể biểu diễn được 10n giá trị khác nhau:

„

„

00...000

= 0

„

99...999

= 10n - 1

A = a n 10 n + a n −110 n −1 + ... + a1101 + a 0 10 0 + a −110 −1 + ... + a − m 10 − m

A =

n

∑ a 10

i =− m

5 September 2009

Bài giảng Kiến trúc máy tính

5

NKK-HUT

6

NKK-HUT

2. Hệ nhị phân

472.38 = 4x102 + 7x101 + 2x100 + 3x10-1 + 8x10-2

„

Bài giảng Kiến trúc máy tính

5 September 2009

Ví dụ số thập phân

„

i

i

„

Các chữ số của phần nguyên:

„

„

472 : 10 = 47 dư

2

„

„

47 : 10 = 4 dư

7

„

„

4 : 10 = 0 dư

4

„

Các chữ số của phần lẻ:

„

„

0.38 x 10 = 3.8 phần nguyên =

3

„

0.8 x 10 = 8.0 phần nguyên =

8

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

Cơ số 2 2 chữ số nhị phân: 0 và 1 chữ số nhị phân gọi là bit (binary digit) Bit là đơn vị thông tin nhỏ nhất Dùng n bit có thể biểu diễn được 2n giá trị khác nhau: „

7

5 September 2009

00...000 11...111

= 0 = 2n - 1

Bài giảng Kiến trúc máy tính

8

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Dạng tổng quát của số nhị phân

Ví dụ số nhị phân

Có một số nhị phân A như sau:

1101001.1011(2) = 6 5 4 3 2 1 0

A = a n a n −1 ... a1 a 0 , a −1 ... a − m

-1 -2 -3 -4

= 26 + 25 + 23 + 20 + 2-1 + 2-3

+

2-4

Giá trị của A được tính như sau: A = a n 2 + a n −1 2 n

n −1

A =

0

= 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625

−m

= 105.6875(10)

n

∑a 2

i =− m

5 September 2009

−1

+ ... + a1 2 + a 0 2 + a −1 2 + ... + a − m 2 1

i

i

Bài giảng Kiến trúc máy tính

9

NKK-HUT

Bài giảng Kiến trúc máy tính

5 September 2009

10

NKK-HUT

Chuyển đổi số nguyên thập phân sang nhị phân

Phương pháp chia dần cho 2 „

„

„

Phương pháp 1: chia dần cho 2 rồi lấy phần dư Phương pháp 2: Phân tích thành tổng của các số 2i Æ nhanh hơn

„

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

11

Ví dụ: chuyển đổi 105(10) „

105 : 2 =

52



1

„

52 : 2 =

26



0

„

26 : 2 =

13



0

„

13 : 2 =

6



1

„

6:2 =

3



0

„

3:2 =

1



1

„

1:2 =

0



1

Kết quả: 105(10) = 1101001(2)

5 September 2009

Bài giảng Kiến trúc máy tính

12

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Phương pháp phân tích thành tổng của các

Chuyển đổi số lẻ thập phân sang nhị phân

Ví dụ 1: chuyển đổi 105(10) 6 5 3 0 „ 105 = 64 + 32 + 8 +1 = 2 + 2 + 2 + 2

„

„

„

2i

27

26

25

24

23

22

21

20

128 0

64 1

32 1

16 0

8 1

4 0

2 0

1 1

Kết quả:

„

105(10) = 0110 1001(2)

Ví dụ 2: 17000(10) = 16384 + 512 + 64 + 32 + 8

„

214 + 29 + 26 + 25 + 23

=

Ví dụ 1: chuyển đổi 0.6875(10) „

0.6875 x 2 = 1.375

phần nguyên = 1

„

0.375 x 2 = 0.75

phần nguyên = 0

„

0.75

x 2 = 1.5

phần nguyên = 1

„

0.5

x 2 = 1.0

phần nguyên = 1

Kết quả : 0.6875(10)= 0.1011(2)

17000(10) = 0100 0010 0110 1000(2) 15 14 13 12

11 10 9 8

7 6 5 4

3 2 1 0

Bài giảng Kiến trúc máy tính

5 September 2009

13

NKK-HUT

Bài giảng Kiến trúc máy tính

5 September 2009

14

NKK-HUT

Chuyển đổi số lẻ thập phân sang nhị phân (tiếp) „

Ví dụ 2: chuyển đổi 0.81(10)

Chuyển đổi số lẻ thập phân sang nhị phân (tiếp) „

Ví dụ 3: chuyển đổi 0.2(10)

„

0.81 x 2 =

1.62

phần nguyên

=

1

„

„

0.62 x 2 =

1.24

phần nguyên

=

1

„

„

0.24 x 2 =

0.48

phần nguyên

=

0

„

„

0.48 x 2 =

0.96

phần nguyên

=

0

„

„

0.96 x 2 =

1.92

phần nguyên

=

1

„

0.92 x 2 =

1.84

phần nguyên

=

1

„

0.84 x 2 =

1.68

phần nguyên

=

1

„

„ „ „ „

0.81(10) ≈ 0.1100111(2) „

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

15

5 September 2009

0.2 0.4 0.8 0.6 0.2 0.4 0.8 0.6

x2 x2 x2 x2 x2 x2 x2 x2

= = = = = = = =

0.4 0.8 1.6 1.2 0.4 0.8 1.6 1.2

phần nguyên phần nguyên phần nguyên phần nguyên phần nguyên phần nguyên phần nguyên phần nguyên

= = = = = = = =

0 0 1 1 0 0 1 1

0.2(10) ≈ 0.00110011 (2) Bài giảng Kiến trúc máy tính

16

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

3. Hệ mười sáu (Hexa)

Quan hệ giữa số nhị phân và số Hexa 4-bit

Chữ số Hexa 0

„

Cơ số 16

0000 0001

1

„

16 chữ số: 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F

0010

2

0011

3

0100

4

0101

5

0110

6

0111

7

1000

8

Dùng để viết gọn cho số nhị phân: cứ một nhóm 4-bit sẽ được thay bằng một chữ số Hexa

„

5 September 2009

Bài giảng Kiến trúc máy tính

17

NKK-HUT

1001

9

1010

A

1011

B

1100

C

1101

D

1110

E

1111 5 September 2009

„

„

1011 00112 = B316

„

0000 00002 = 0016

„

0010 1101 1001 10102 = 2D9A16

„

1111 1111 1111 11112 = FFFF16

F Bài giảng Kiến trúc máy tính

18

2.2. Đại số Boole

Đại số Boole sử dụng các biến logic và phép toán logic Biến logic có thể nhận giá trị 1 (TRUE) hoặc 0 (FALSE) Phép toán logic cơ bản là AND, OR và NOT với ký hiệu như sau: „ „ „

„

„

NKK-HUT

2.2. Đại số Boole „

Ví dụ chuyển đổi số nhị phân Æ số Hexa:

A AND B : A OR B : NOT A :

„ „

Các phép toán NAND, NOR, XOR: A NAND B : A•B „ „

A NOR B : A + B A XOR B: A ⊕ B = A • B + A • B

A•B A+B A

Thứ tự ưu tiên: NOT > AND > OR

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

19

5 September 2009

Bài giảng Kiến trúc máy tính

20

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Các đồng nhất thức của đại số Boole

Phép toán đại số Boole P 0 0 1 1

Q 0 1 0 1

P 1 1 0 0

P.Q 0 0 0 1

P+Q 0 1 1 1

P

Q

P⊕Q

P.Q

P+Q

0 0 1 1

0 1 0 1

0 1 1 0

1 1 1 0

1 0 0 0

5 September 2009

Bài giảng Kiến trúc máy tính

A•B=B•A

A • (B + C) = (A • B) + (A • C) A + (B • C) = (A + B) • ( A + C)

21

NKK-HUT

1•A=A

0+A=A

A•A=0

A+A=1

0•A=0

1+A=1

A•A=A

A+A=A

A • (B • C) = (A • B) • C

A + (B + C) = (A + B) + C

A • B = A + B (Định lý De Morgan)

A + B = A • B (Định lý De Morgan)

5 September 2009

22

Các cổng logic (tiếp) „

Các cổng cơ bản „ „ „

„

Bài giảng Kiến trúc máy tính

NKK-HUT

2.3. Các cổng logic (Gate) „

A+B=B+A

Các cổng „

AND OR NOT

„ „

NAND NOR XOR

Chức năng có thể biểu diễn bằng bảng thật (truth table)

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

23

5 September 2009

Bài giảng Kiến trúc máy tính

24

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Tập đầy đủ „

„

Sử dụng cổng NAND

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 tập đó. Một số ví dụ về tập đầy đủ: „ „ „ „ „

5 September 2009

{AND, OR, NOT} {AND, NOT} {OR, NOT} {NAND} {NOR} Bài giảng Kiến trúc máy tính

25

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

26

NKK-HUT

Sử dụng cổng NOR

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

Một số ví dụ vi mạch logic

27

5 September 2009

Bài giảng Kiến trúc máy tính

28

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Hàm logic „

2.4. Mạch tổ hợp

Hàm logic có thể được biểu diễn theo một vài cách: „ „ „ „

„

Bảng thật (Truth table) Bìa Cac-nô Biểu thức logic Dạng sơ đồ

„

„

Mạch tổ hợp là mạch logic trong đó tín hiệu ra chỉ phụ thuộc tín hiệu vào ở thời điểm hiện tại. Là mạch không nhớ và được thực hiện bằng các cổng logic cơ bản Mạch tổ hợp có thể được định nghĩa theo ba cách: „ „ „

5 September 2009

Bài giảng Kiến trúc máy tính

29

NKK-HUT

30

„ „

Multiplexer (tiếp) Thực hiện MUX bốn đầu vào dữ liệu

Multiplexer „

„

Bài giảng Kiến trúc máy tính

NKK-HUT

Bộ dồn kênh (Multiplexer-MUX) „

5 September 2009

Bảng thật Dạng sơ đồ Phương trình Boole

2n đầu vào dữ liệu n đầu vào chọn 1 đầu ra

4-data input MUX

Đầu vào chọn (S) xác định đầu vào nào (I) sẽ được nối với đầu ra.

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

31

5 September 2009

Bài giảng Kiến trúc máy tính

32

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Bộ phân kênh (Demultiplexer – DeMUX)

Bộ giải mã (Decoder) „

5 September 2009

Bài giảng Kiến trúc máy tính

33

NKK-HUT

Bộ giải mã chọn một đầu ra tương ứng với một tổ hợp của N đầu vào.

5 September 2009

Bài giảng Kiến trúc máy tính

34

NKK-HUT

Bộ giải mã (tiếp)

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

Bộ giải mã 74LS139

35

5 September 2009

Bài giảng Kiến trúc máy tính

36

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Bộ mã hóa (Encoder)

Bộ cộng (Adder) „

Bộ bán tổng (Half-adder) „

„

Bộ toàn tổng (Full-adder) „ „

5 September 2009

Bài giảng Kiến trúc máy tính

37

NKK-HUT

Cộng hai bit tạo ra bit tổng và bit nhớ

5 September 2009

Cộng 3 bit Cho phép xây dựng bộ cộng N-bit

Bài giảng Kiến trúc máy tính

38

NKK-HUT

Bộ cộng (tiếp)

Bộ cộng 16-bit

A 16-bit ripple-carry adder

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

39

5 September 2009

Bài giảng Kiến trúc máy tính

40

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

2.5. Mạch dãy „

„

„

Các thành phần chính của mạch dãy

Mạch dãy là mạch logic trong đó tín hiệu ra phụ thuộc tín hiệu vào ở hiện tại và quá khứ Là mạch có nhớ, được thực hiện bằng phần tử nhớ (Latch, Flip-Flop) và có thể kết hợp với các cổng logic cơ bản Mạch dãy bao gồm: „ „

5 September 2009

Mạch tổ hợp Mạch hồi tiếp

Bài giảng Kiến trúc máy tính

41

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

42

Bài giảng Kiến trúc máy tính

44

NKK-HUT

Chốt (Latch) „

Chốt (tiếp)

Có khả năng nhớ bit

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

43

5 September 2009

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

D Latch „

Flip-Flops

D Latch (đồng bộ theo mức) „

Tránh tổ hợp SR = 11

(Flip-Flop D đồng bộ theo sườn dương)

Bài giảng Kiến trúc máy tính

5 September 2009

D Flip-Flop (Đồng bộ theo sườn)

„

45

NKK-HUT

Bài giảng Kiến trúc máy tính

5 September 2009

46

NKK-HUT

JK Flip-Flop

Flip-Flops (tiếp)

Latches

Flip-flops

J 0 0 1 1 Low level

5 September 2009

High level

Positive edge

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

K 0 1 0 1

Qn+1 Qn 0 1 Qn

Negative edge

47

5 September 2009

Bài giảng Kiến trúc máy tính

48

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Ví dụ chip

Thanh ghi dịch

D latches

5 September 2009

JK flip-flops

Bài giảng Kiến trúc máy tính

Có chức năng lưu trữ và dịch số liệu

49

NKK-HUT

Bài giảng Kiến trúc máy tính

5 September 2009

50

NKK-HUT

Chip thanh ghi

Bộ đếm „

Bộ đếm nhị phân

74164 shift

„

Register chip

„ „ „

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

51

5 September 2009

Thiết kế đơn giản B bits có thể đếm từ 0 đến 2B−1 Bộ đếm không đồng bộ (Ripple counter) Bộ đếm đồng bộ

Bài giảng Kiến trúc máy tính

52

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Ví dụ bộ đếm đồng bộ

Ví dụ bộ đếm không đồng bộ (ripple counter) „

LSB

Được thiết kế dựa trên nguyên tắc sau: „ „ „

A modulo-8

Thay đổi đầu ra nếu bit đếm trước đó là 1 Q1 thay đổi khi Q0 = 1 Q2 thay đổi khi Q1Q0 = 11

binary ripple counter

5 September 2009

Bài giảng Kiến trúc máy tính

53

NKK-HUT

Hết chương 2

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

55

5 September 2009

Bài giảng Kiến trúc máy tính

54

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Kiến trúc máy tính

Nội dung học phần „ „

Chương 3 TỔNG QUAN VỀ HỆ THỐNG MÁY TÍNH

„ „ „ „ „

Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội

5 September 2009

Bài giảng Kiến trúc máy tính

„ „

1

NKK-HUT

Chương 1. Giới thiệu chung Chương 2. Cơ bản về logic số Chương 3. Tổng quan về hệ thống máy tính Chương 4. Kiến trúc tập lệnh Chương 5. Số học máy tính Chương 6. Bộ xử lý trung tâm Chương 7. Bộ nhớ máy tính Chương 8. Hệ thống vào-ra Chương 9. Máy tính song song

5 September 2009

Bài giảng Kiến trúc máy tính

2

NKK-HUT

3.1. Các thành phần cơ bản của máy tính

Nội dung của chương 3

3.1. Các thành phần cơ bản của máy tính 3.2. Hoạt động cơ bản của máy tính 3.3. Bus liên kết hệ thống

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

3

„

Bộ xử lý trung tâm

(Central Processing Unit)

„

Bộ nhớ

(Memory)

„

Hệ thống vào ra

(Input/Output System)

„

Bus liên kết hệ thống (System Interconnection Bus)

5 September 2009

Bài giảng Kiến trúc máy tính

4

1

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

1. Bộ xử lý trung tâm (CPU) „

„

Cấu trúc cơ bản của CPU

Chức năng: „

điều khiển hoạt động của máy tính

„

xử lý dữ liệu

Nguyên tắc hoạt động cơ bản: CPU hoạt động theo chương trình nằm trong bộ nhớ chính.

5 September 2009

Bài giảng Kiến trúc máy tính

5

NKK-HUT

5 September 2009

„

„

„

6

NKK-HUT

Các thành phần cơ bản của CPU „

Bài giảng Kiến trúc máy tính

Tốc độ của bộ xử lý

Đơn vị điều khiển (Control Unit - CU): điều khiển hoạt động của máy tính theo chương trình đã định sẵn. Đơn vị số học và logic (Arithmetic and Logic Unit - ALU): thực hiện các phép toán số học và phép toán logic. Tập thanh ghi (Register File - RF): lưu giữ các thông tin tạm thời phục vụ cho hoạt động của CPU. Đơn vị nối ghép bus (Bus Interface Unit - BIU) kết nối và trao đổi thông tin giữa bus bên trong (internal bus) và bus bên ngoài (external bus).

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

„

„

Tốc độ của bộ xử lý: „

Số lệnh được thực hiện trong 1 giây

„

MIPS (Million of Instructions per Second)

„

Khó đánh giá chính xác

Tần số xung nhịp của bộ xử lý: „

„

7

5 September 2009

Bộ xử lý hoạt động theo một xung nhịp (Clock) có tần số xác định Tốc độ của bộ xử lý được đánh giá gián tiếp thông qua tần số của xung nhịp Bài giảng Kiến trúc máy tính

8

2

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Tốc độ bộ xử lý (tiếp)

2. Bộ nhớ máy tính

ƒ Dạng xung nhịp „

ƒ ƒ ƒ ƒ ƒ

„

T0: chu kỳ xung nhịp Tần số xung nhịp: f0 = 1/T0 Mỗi thao tác của bộ xử lý cần kT0 T0 càng nhỏ Æ bộ xử lý chạy càng nhanh Ví dụ: Máy tính dùng bộ xử lý 2GHz Ta có f0 = 2GHz = 2x109Hz Æ T0 = 1/f0 = 1/(2x109) = 0,5 ns.

5 September 2009

Bài giảng Kiến trúc máy tính

Chức năng: lưu trữ chương trình và dữ liệu. Các thao tác cơ bản với bộ nhớ: Thao tác ghi (Write) Thao tác đọc (Read)

„ „

„

Các thành phần chính: Bộ nhớ trong (Internal Memory) Bộ nhớ ngoài (External Memory)

„ „

9

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

10

NKK-HUT

Các thành phần của bộ nhớ máy tính

Bộ nhớ trong „

Chức năng và đặc điểm: „

„ „ „

„

Các loại bộ nhớ trong: „ „

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

11

Chứa các thông tin mà CPU có thể trao đổi trực tiếp Tốc độ rất nhanh Dung lượng không lớn Sử dụng bộ nhớ bán dẫn: ROM và RAM Bộ nhớ chính Bộ nhớ cache (bộ nhớ đệm)

5 September 2009

Bài giảng Kiến trúc máy tính

12

3

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Bộ nhớ chính (Main Memory)

Bộ nhớ cache „

Chứa các chương trình và dữ liệu đang được CPU sử dụng. Tổ chức thành các ngăn nhớ được đánh địa chỉ. Ngăn nhớ thường được tổ chức theo byte. Nội dung của ngăn nhớ có thể thay đổi, song địa chỉ vật lý của ngăn nhớ luôn cố định.

„

„

„

„

„ „ „

„

„ 5 September 2009

Bài giảng Kiến trúc máy tính

13

NKK-HUT

Bộ nhớ có tốc độ nhanh được đặt đệm giữa CPU và bộ nhớ chính nhằm tăng tốc độ CPU truy cập bộ nhớ Dung lượng nhỏ hơn bộ nhớ chính Tốc độ nhanh hơn Cache thường được chia thành một số mức Cache có thể được tích hợp trên cùng chip bộ xử lý. Cache có thể có hoặc không

5 September 2009

3. Hệ thống vào-ra (Input-Output)

Chức năng và đặc điểm „ „

„

14

NKK-HUT

Bộ nhớ ngoài (External Memory) „

Bài giảng Kiến trúc máy tính

„

Lưu giữ tài nguyên phần mềm của máy tính Được kết nối với hệ thống dưới dạng các thiết bị vào-ra

„

Dung lượng lớn

„

Tốc độ chậm

„

„ „

„

Các loại bộ nhớ ngoài „

Bộ nhớ từ: đĩa cứng, đĩa mềm

„

Bộ nhớ quang: đĩa CD, DVD

„

Bộ nhớ bán dẫn: Flash disk, memory card

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

Chức năng: Trao đổi thông tin giữa máy tính với thế giới bên ngoài. Các thao tác cơ bản:

Các thành phần chính: „ „

15

Vào dữ liệu (Input) Ra dữ liệu (Output)

5 September 2009

Các thiết bị ngoại vi (Peripheral Devices) Các mô-đun vào-ra (IO Modules)

Bài giảng Kiến trúc máy tính

16

4

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Cấu trúc cơ bản của hệ thống vào-ra

Các thiết bị ngoại vi „

„

Chức năng: chuyển đổi dữ liệu giữa bên trong và bên ngoài máy tính Các loại thiết bị ngoại vi cơ bản „ „ „ „

5 September 2009

Bài giảng Kiến trúc máy tính

17

NKK-HUT

5 September 2009

Thiết bị vào: bàn phím, chuột, máy quét ... Thiết bị ra: màn hình, máy in ... Thiết bị nhớ: các ổ đĩa ... Thiết bị truyền thông: MODEM ...

Bài giảng Kiến trúc máy tính

18

NKK-HUT

Mô-đun vào-ra „

„

„

„

3.2. Hoạt động cơ bản của máy tính 1. Thực hiện chương trình

Chức năng: nối ghép các thiết bị ngoại vi với máy tính Mỗi mô-đun vào-ra có một hoặc một vài cổng vào-ra (I/O Port).

Nguyễn Kim Khánh - ĐHBKHN

„

Máy tính lặp đi lặp lại hai bước: „

„

Các thiết bị ngoại vi được kết nối và trao đổi dữ liệu với máy tính thông qua các cổng vào-ra. Bài giảng Kiến trúc máy tính

Là hoạt động cơ bản của máy tính „

Mỗi cổng vào-ra được đánh một địa chỉ xác định.

5 September 2009

„

19

Nhận lệnh Thực hiện lệnh

chu trình lệnh

Thực hiện chương trình bị dừng nếu thực hiện lệnh bị lỗi hoặc gặp lệnh dừng.

5 September 2009

Bài giảng Kiến trúc máy tính

20

5

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Chu trình lệnh

Nhận lệnh „

„

„ „

„

5 September 2009

Bài giảng Kiến trúc máy tính

21

NKK-HUT

Bắt đầu mỗi chu trình lệnh, CPU nhận lệnh từ bộ nhớ chính. Bộ đếm chương trình PC (Program Counter) của CPU giữ địa chỉ của lệnh sẽ được nhận. CPU nhận lệnh từ ngăn nhớ được trỏ bởi PC. Lệnh được nạp vào thanh ghi lệnh IR (Instruction Register). Sau khi lệnh được nhận vào, nội dung PC tự động tăng để trỏ sang lệnh kế tiếp.

5 September 2009

Bài giảng Kiến trúc máy tính

22

NKK-HUT

Minh họa quá trình nhận lệnh

Thực hiện lệnh „

„

Bộ xử lý giải mã lệnh đã được nhận và phát tín hiệu điều khiển thực hiện thao tác mà lệnh yêu cầu. Các kiểu thao tác của lệnh: „

Trao đổi dữ liệu giữa CPU và bộ nhớ chính

„

Trao đổi dữ liệu giữa CPU và mô-đun vào-ra

„

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

23

Xử lý dữ liệu: thực hiện các phép toán số học hoặc phép toán logic với các dữ liệu.

„

Điều khiển rẽ nhánh

„

Kết hợp các thao tác trên.

5 September 2009

Bài giảng Kiến trúc máy tính

24

6

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

2. Ngắt (Interrupt) „

„

Hoạt động ngắt

Khái niệm chung về ngắt: Ngắt là cơ chế cho phép CPU tạm dừng chương trình đang thực hiện để chuyển sang thực hiện một chương trình khác, gọi là chương trình con phục vụ ngắt. Các loại ngắt: „

„ „

„

„

„

„ „

Ngắt do lỗi khi thực hiện chương trình, ví dụ: tràn số, chia cho 0. Ngắt do lỗi phần cứng, ví dụ lỗi bộ nhớ RAM. Ngắt do mô-đun vào-ra phát tín hiệu ngắt đến CPU yêu cầu trao đổi dữ liệu.

5 September 2009

Bài giảng Kiến trúc máy tính

Sau khi hoàn thành mỗi một lệnh, bộ xử lý kiểm tra tín hiệu ngắt Nếu không có ngắt Æ bộ xử lý nhận lệnh tiếp theo của chương trình hiện tại Nếu có tín hiệu ngắt:

„ „ „

25

NKK-HUT

Tạm dừng chương trình đang thực hiện Cất ngữ cảnh (các thông tin liên quan đến chương trình bị ngắt) Thiết lập PC trỏ đến chương trình con phục vụ ngắt Chuyển sang thực hiện chương trình con phục vụ ngắt Cuối chương trình con phục vụ ngắt, khôi phục ngữ cảnh và tiếp tục chương trình đang bị tạm dừng

5 September 2009

Bài giảng Kiến trúc máy tính

26

NKK-HUT

Hoạt động ngắt (tiếp)

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

Chu trình lệnh với ngắt

27

5 September 2009

Bài giảng Kiến trúc máy tính

28

7

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Xử lý với nhiều tín hiệu yêu cầu ngắt „

Xử lý ngắt tuần tự „

„

„

„

„

3. Hoạt động vào-ra

Khi một ngắt đang được thực hiện, các ngắt khác sẽ bị cấm. Bộ xử lý sẽ bỏ qua các ngắt tiếp theo trong khi đang xử lý một ngắt Các yêu cầu ngắt vẫn đang đợi và được kiểm tra sau khi ngắt đầu tiên được xử lý xong Các ngắt được thực hiện tuần tự

„

„

„

Các ngắt được định nghĩa mức ưu tiên khác nhau Ngắt có mức ưu tiên thấp hơn có thể bị ngắt bởi ngắt ưu tiên cao hơn Xẩy ra ngắt lồng nhau

„ 5 September 2009

Bài giảng Kiến trúc máy tính

29

NKK-HUT

Các kiểu hoạt động vào-ra: „ „

Xử lý ngắt ưu tiên „

Hoạt động vào-ra: là hoạt động trao đổi dữ liệu giữa mô-đun vào-ra với bên trong máy tính. CPU trao đổi dữ liệu với mô-đun vào-ra Mô-đun vào-ra trao đổi dữ liệu trực tiếp với bộ nhớ chính (DMA- Direct Memory Access).

5 September 2009

Bài giảng Kiến trúc máy tính

30

NKK-HUT

3.3. Bus liên kết hệ thống

Kết nối mô-đun nhớ

1. Luồng thông tin trong máy tính „

Các mô-đun trong máy tính: „ „ „

CPU Mô-đun nhớ Mô-đun vào-ra

Î cần được kết nối với nhau

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

31

5 September 2009

Bài giảng Kiến trúc máy tính

32

8

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Kết nối mô-đun nhớ (tiếp) „ „ „

„

Kết nối mô-đun vào-ra

Địa chỉ đưa đến để xác định ngăn nhớ Dữ liệu được đưa đến khi ghi Dữ liệu hoặc lệnh được đưa ra khi đọc (lưu ý: bộ nhớ không phân biệt lệnh và dữ liệu) Nhận các tín hiệu điều khiển: „ „

5 September 2009

Điều khiển đọc (Read) Điều khiển ghi (Write)

Bài giảng Kiến trúc máy tính

33

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

34

NKK-HUT

Kết nối mô-đun vào-ra (tiếp) „ „

Địa chỉ đưa đến để xác định cổng vào-ra Ra dữ liệu (Output) „ „

„

„

„ „

Nhận dữ liệu từ CPU hoặc bộ nhớ chính Đưa dữ liệu ra thiết bị ngoại vi

Vào dữ liệu (Input) „

„

Kết nối CPU

Nhận dữ liệu từ thiết bị ngoại vi Đưa dữ liệu vào CPU hoặc bộ nhớ chính

Nhận các tín hiệu điều khiển từ CPU Phát các tín hiệu điều khiển đến thiết bị ngoại vi Phát các tín hiệu ngắt đến CPU

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

35

5 September 2009

Bài giảng Kiến trúc máy tính

36

9

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Kết nối CPU (tiếp) „

„ „ „

„

2. Cấu trúc bus cơ bản „

Phát địa chỉ đến các mô-đun nhớ hay các mô-đun vào-ra Đọc lệnh và dữ liệu Đưa dữ liệu ra (sau khi xử lý) Phát tín hiệu điều khiển đến các mô-đun nhớ và các mô-đun vào-ra Nhận các tín hiệu ngắt

5 September 2009

Bài giảng Kiến trúc máy tính

„

Bus: tập hợp các đường kết nối dùng để vận chuyển thông tin giữa các mô-đun của máy tính với nhau. Các bus chức năng: „ „ „

„

37

NKK-HUT

Bus địa chỉ Bus dữ liệu Bus điều khiển

Độ rộng bus: là số đường dây của bus có thể truyền các bit thông tin đồng thời (chỉ dùng cho bus địa chỉ và bus dữ liệu)

5 September 2009

Bài giảng Kiến trúc máy tính

38

NKK-HUT

Sơ đồ cấu trúc bus cơ bản

Bus địa chỉ „

„

Chức năng: vận chuyển địa chỉ để xác định ngăn nhớ hay cổng vào-ra Độ rộng bus địa chỉ: cho biết số lượng ngăn nhớ tối đa được đánh địa chỉ. N bit: AN-1, AN-2, ... A2, A1, A0 Î có thể đánh địa chỉ tối đa cho 2N ngăn nhớ (không gian địa chỉ bộ nhớ) „

„

Ví dụ: Bộ xử lý Pentium có bus địa chỉ 32 bit Î có khả năng đánh địa chỉ cho 232 bytes nhớ (4GBytes) (ngăn nhớ tổ chức theo byte) „

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

39

5 September 2009

Bài giảng Kiến trúc máy tính

40

10

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Bus dữ liệu

Bus điều khiển

Chức năng:

„

„ „

vận chuyển lệnh từ bộ nhớ đến CPU vận chuyển dữ liệu giữa CPU, mô đun nhớ, mô đun vào-ra với nhau

„

„

Độ rộng bus dữ liệu: Xác định số bit dữ liệu có thể được trao đổi đồng thời.

„

„ „

M bit: DM-1, DM-2, ... D2, D1, D0 M thường là 8, 16, 32, 64,128 bit.

Các loại tín hiệu điều khiển: „

Các tín hiệu điều khiển đọc/ghi

„

Các tín hiệu điều khiển ngắt

„

Các tín hiệu điều khiển bus

Ví dụ: Các bộ xử lý Pentium có bus dữ liệu 64 bit

„

5 September 2009

Bài giảng Kiến trúc máy tính

41

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

42

NKK-HUT

Một số tín hiệu điều khiển điển hình „

Chức năng: vận chuyển các tín hiệu điều khiển

Một số tín hiệu điều khiển điển hình (tiếp)

Các tín hiệu (phát ra từ CPU) điều khiển đọc-ghi: „

„

„

„

„

„

Memory Read (MEMR): điều khiển đọc dữ liệu từ một ngăn nhớ có địa chỉ xác định lên bus dữ liệu.

„

Memory Write (MEMW): điều khiển ghi dữ liệu có sẵn trên bus dữ liệu đến một ngăn nhớ có địa chỉ xác định.

„

I/O Read (IOR): điều khiển đọc dữ liệu từ một cổng vào-ra có địa chỉ xác định lên bus dữ liệu.

„

I/O Write (IOW): điều khiển ghi dữ liệu có sẵn trên bus dữ liệu ra một cổng có địa chỉ xác định.

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

Các tín hiệu điều khiển ngắt:

43

Interrupt Request (INTR): Tín hiệu từ bộ điều khiển vào-ra gửi đến yêu cầu ngắt CPU để trao đổi vàora. Tín hiệu INTR có thể bị che. Interrupt Acknowledge (INTA): Tín hiệu phát ra từ CPU báo cho bộ điều khiển vào-ra biết CPU chấp nhận ngắt để trao đổi vào-ra. Non Maskable Interrupt (NMI): tín hiệu ngắt không che được gửi đến ngắt CPU. Reset: Tín hiệu từ bên ngoài gửi đến CPU và các thành phần khác để khởi động lại máy tính.

5 September 2009

Bài giảng Kiến trúc máy tính

44

11

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Một số tín hiệu điều khiển điển hình (tiếp) „

Đặc điểm của cấu trúc đơn bus

Các tín hiệu điều khiển bus: „

„

„

„

Bus Request (BRQ) hay là Hold: Tín hiệu từ mô-đun điều khiển vào-ra gửi đến yêu cầu CPU chuyển nhượng quyền sử dụng bus.

„

„

Bus Grant (BGT) hay là Hold Acknowledge (HLDA): Tín hiệu phát ra từ CPU chấp nhận chuyển nhượng quyền sử dụng bus. Lock/ Unlock: Tín hiệu cấm/cho-phép xin chuyển nhượng bus

5 September 2009

Bài giảng Kiến trúc máy tính

„

45

NKK-HUT

5 September 2009

46

Một số bus điển hình trong PC „

Tổ chức thành nhiều bus trong hệ thống máy tính „

„

„

Bài giảng Kiến trúc máy tính

NKK-HUT

3. Phân cấp bus trong máy tính „

Bus hệ thống chỉ phục vụ được một yêu cầu trao đổi dữ liệu tại một thời điểm Bus hệ thống phải có tốc độ bằng tốc độ bus của mô-đun nhanh nhất trong hệ thống Bus hệ thống phụ thuộc vào cấu trúc bus (các tín hiệu) của bộ xử lý Æ các mô-đun nhớ và các mô-đun vào-ra cũng phụ thuộc vào bộ xử lý. Khắc phục: phân cấp bus Æ cấu trúc đa bus

„

Cho các thành phần khác nhau: „

Bus của bộ xử lý

„

Bus của bộ nhớ chính

„

Các bus vào-ra

„

„

Các bus khác nhau về tốc độ

Bus bộ nhớ chính và các bus vào-ra không phụ thuộc vào bộ xử lý cụ thể.

„

„ 5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

47

Bus của bộ xử lý (Front Side Bus - FSB): có tốc độ nhanh nhất Bus của bộ nhớ chính (nối ghép với các mô-đun RAM) AGP bus (Accelerated Graphic Port) - Bus đồ họa tăng tốc: nối ghép card màn hình tăng tốc. PCI bus(Peripheral Component Interconnect): nối ghép với các thiết bị ngoại vi có tốc độ trao đổi dữ liệu nhanh. IDE (Integrated Device Electronics): Bus kết nối với ổ đĩa cứng hoặc ổ đĩa CD, DVD USB (Universal Serial Bus): Bus nối tiếp đa năng

5 September 2009

Bài giảng Kiến trúc máy tính

48

12

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Chipset 975

5 September 2009

Chipset

Bài giảng Kiến trúc máy tính

49

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

50

Bài giảng Kiến trúc máy tính

52

NKK-HUT

Ví dụ về bo mạch chính

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

51

5 September 2009

13

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

4. Các vấn đề liên quan đến thiết kế bus „ „ „

Các kiểu bus

Các kiểu bus Phân xử bus Định thời bus

„

Bus dành riêng (Dedicated): „ „ „

„

Các đường địa chỉ và dữ liệu tách rời Ưu điểm: điều khiển đơn giản Nhược điểm: có nhiều đường kết nối

Bus dồn kênh (Multiplexed) „ „

„ „

Các đường dùng chung cho địa chỉ và dữ liệu Có đường điều khiển để phân biệt có địa chỉ hay có dữ liệu Ưu điểm: có ít đường dây Nhược điểm: „ „

5 September 2009

Bài giảng Kiến trúc máy tính

53

NKK-HUT

5 September 2009

Điều khiển phức tạp hơn Hiệu năng hạn chế Bài giảng Kiến trúc máy tính

54

NKK-HUT

Phân xử bus „

Có nhiều mô-đun điều khiển bus „

„

„

Phân xử bus (tiếp) „

ví dụ: CPU và bộ điều khiển vào-ra

Phân xử bus tập trung „

Chỉ cho phép một mô-đun điều khiển bus ở một thời điểm. Phân xử bus có thể là tập trung hay phân tán.

„

„

Phân xử bus phân tán „ „

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

55

Có một Bộ điều khiển bus (Bus Controller) hay còn gọi là Bộ phân xử bus (Arbiter) Có thể là một phần của CPU hoặc mạch tách rời.

5 September 2009

Mỗi một mô-đun có thể chiếm bus Có đường điều khiển đến tất cả các môđun khác

Bài giảng Kiến trúc máy tính

56

14

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Định thời bus (Timing) „ „

Phối hợp các sự kiện trên bus Bus đồng bộ „

„ „

„

Giản đồ định thời Bus đồng bộ

Các sự kiện trên bus được xác định bởi một tín hiệu xung nhịp xác định (clock) Bus Điều khiển bao gồm cả đường Clock Tất cả các mô-đun có thể đọc đường clock

Bus không đồng bộ „ „

5 September 2009

Không có đường tín hiệu Clock Kết thúc một sự kiện này trên bus sẽ kích hoạt cho một sự kiện tiếp theo Bài giảng Kiến trúc máy tính

57

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

58

NKK-HUT

Giản đồ định thời thao tác đọc của Bus không đồng bộ

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

Giản đồ định thời thao tác ghi của Bus không đồng bộ

59

5 September 2009

Bài giảng Kiến trúc máy tính

60

15

Bài giảng Kiến trúc máy tính

NKK-HUT

Hết chương 3

5 September 2009

Bài giảng Kiến trúc máy tính

Nguyễn Kim Khánh - ĐHBKHN

61

16

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Kiến trúc máy tính

Nội dung học phần „

Chương 4 KIẾN TRÚC TẬP LỆNH

„ „ „

(Instruction Set Architecture)

„ „ „

Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội

5 September 2009

Bài giảng Kiến trúc Máy tính

„ „

1

NKK-HUT

Chương 1. Giới thiệu chung Chương 2. Cơ bản về logic số Chương 3. Tổng quan về hệ thống máy tính Chương 4. Kiến trúc tập lệnh Chương 5. Số học máy tính Chương 6. Bộ xử lý trung tâm Chương 7. Bộ nhớ máy tính Chương 8. Hệ thống vào-ra Chương 9. Máy tính song song

5 September 2009

Bài giảng Kiến trúc máy tính

2

NKK-HUT

Nội dung của chương 4

4.1. Mô hình lập trình của máy tính

4.1. Mô hình lập trình của máy tính 4.2. Các đặc trưng của lệnh máy 4.3. Các kiểu toán hạng 4.4. Các kiểu thao tác của lệnh 4.5. Các phương pháp định địa chỉ 4.6. Khái niệm về lập trình hợp ngữ 4.7. RISC 4.8. Thứ tự các byte trong bộ nhớ chính 4.9. Ví dụ kiến trúc tập lệnh 5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

3

5 September 2009

Bài giảng Kiến trúc Máy tính

4

1

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Tập thanh ghi „

Phân loại thanh ghi theo chức năng

Chức năng và đặc điểm: „

„ „

„

„

Chứa các thông tin tạm thời phục vụ cho hoạt động ở thời điểm hiện tại của CPU Được coi là mức đầu tiên của hệ thống nhớ Số lượng thanh ghi nhiều Æ tăng hiệu năng của CPU Có hai loại thanh ghi: „ „

„

„

„

Các thanh ghi lập trình được Các thanh ghi không lập trình được

„

5 September 2009

Bài giảng Kiến trúc Máy tính

5

NKK-HUT

Thanh ghi địa chỉ: quản lý địa chỉ của ngăn nhớ hay cổng vào-ra. Thanh ghi dữ liệu: chứa tạm thời các dữ liệu. Thanh ghi đa năng: có thể chứa địa chỉ hoặc dữ liệu. Thanh ghi điều khiển/trạng thái: chứa các thông tin điều khiển và trạng thái của CPU. Thanh ghi lệnh: chứa lệnh đang được thực hiện.

5 September 2009

„ „ „

„

Bộ đếm chương trình PC

Các thanh ghi địa chỉ „

„

6

NKK-HUT

Một số thanh ghi điển hình „

Bài giảng Kiến trúc Máy tính

„

Bộ đếm chương trình PC (Program Counter) Con trỏ dữ liệu DP (Data Pointer) Con trỏ ngăn xếp SP (Stack Pointer) Thanh ghi cơ sở và thanh ghi chỉ số (Base Register & Index Register)

„

„

Các thanh ghi dữ liệu Thanh ghi trạng thái

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

7

Còn được gọi là con trỏ lệnh IP (Instruction Pointer) Giữ địa chỉ của lệnh tiếp theo sẽ được nhận vào. Sau khi một lệnh được nhận vào, nội dung PC tự động tăng để trỏ sang lệnh kế tiếp.

5 September 2009

Bài giảng Kiến trúc Máy tính

8

2

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Minh họa bộ đếm chương trình

Thanh ghi con trỏ dữ liệu „

„

5 September 2009

Bài giảng Kiến trúc Máy tính

9

NKK-HUT

Chứa địa chỉ của ngăn nhớ dữ liệu mà CPU muốn truy nhập Thường có một số thanh ghi con trỏ dữ liệu

5 September 2009

Bài giảng Kiến trúc Máy tính

10

NKK-HUT

Minh hoạ thanh ghi con trỏ dữ liệu

Ngăn xếp (Stack) „

„

„ „

„

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

11

Ngăn xếp là vùng nhớ có cấu trúc LIFO (Last In - First Out) Ngăn xếp thường dùng để phục vụ cho chương trình con Đáy ngăn xếp là một ngăn nhớ xác định Đỉnh ngăn xếp là thông tin nằm ở vị trí trên cùng trong ngăn xếp Đỉnh ngăn xếp có thể bị thay đổi

5 September 2009

Bài giảng Kiến trúc Máy tính

12

3

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Con trỏ ngăn xếp SP (Stack Pointer) „ „

Chứa địa chỉ của ngăn nhớ đỉnh ngăn xếp Khi cất một thông tin vào ngăn xếp: „ „

„

Nội dung của SP tự động giảm Thông tin được cất vào ngăn nhớ được trỏ bởi SP

Khi lấy một thông tin ra khỏi ngăn xếp: „

„

„

Minh họa con trỏ ngăn xếp SP

Thông tin được đọc từ ngăn nhớ được trỏ bởi SP Nội dung của SP tự động tăng

Khi ngăn xếp rỗng, SP trỏ vào đáy

5 September 2009

Bài giảng Kiến trúc Máy tính

13

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

14

NKK-HUT

Thanh ghi cơ sở và thanh ghi chỉ số „

„

„

Minh họa thanh ghi cơ sở và thanh ghi chỉ số

Thanh ghi cơ sở: chứa địa chỉ của ngăn nhớ cơ sở (địa chỉ cơ sở) Thanh ghi chỉ số: chứa độ lệch địa chỉ giữa ngăn nhớ mà CPU cần truy nhập so với ngăn nhớ cơ sở (chỉ số) Địa chỉ của ngăn nhớ cần truy nhập = địa chỉ cơ sở + chỉ số

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

15

5 September 2009

Bài giảng Kiến trúc Máy tính

16

4

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Các thanh ghi dữ liệu „

„ „

„

Thanh ghi trạng thái (Status Register)

Chứa các dữ liệu tạm thời hoặc các kết quả trung gian Cần có nhiều thanh ghi dữ liệu Các thanh ghi số nguyên: 8, 16, 32, 64 bit Các thanh ghi số dấu phẩy động

5 September 2009

Bài giảng Kiến trúc Máy tính

„ „

Còn gọi là thanh ghi cờ (Flag Register) Chứa các thông tin trạng thái của CPU „

„

17

NKK-HUT

5 September 2009

Các cờ phép toán: báo hiệu trạng thái của kết quả phép toán Các cờ điều khiển: biểu thị trạng thái điều khiển của CPU

Bài giảng Kiến trúc Máy tính

18

NKK-HUT

Ví dụ cờ phép toán „

„

„

„

Ví dụ cờ điều khiển

Cờ Zero (cờ rỗng): được thiết lập lên 1 khi kết quả của phép toán bằng 0. Cờ Sign (cờ dấu): được thiết lập lên 1 khi kết quả phép toán nhỏ hơn 0 Cờ Carry (cờ nhớ): được thiết lập lên 1 nếu phép toán có nhớ ra ngoài bit cao nhất Æ cờ báo tràn với số không dấu. Cờ Overflow (cờ tràn): được thiết lập lên 1 nếu cộng hai số nguyên cùng dấu mà kết quả có dấu ngược lại Æ cờ báo tràn với số có dấu .

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

„

Cờ Interrupt (Cờ cho phép ngắt): „

„

19

5 September 2009

Nếu IF = 1 Æ CPU ở trạng thái cho phép ngắt với tín hiệu yêu cầu ngắt từ bên ngoài gửi tới Nếu IF = 0 Æ CPU ở trạng thái cấm ngắt với tín hiệu yêu cầu ngắt từ bên ngoài gửi tới

Bài giảng Kiến trúc Máy tính

20

5

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Tập thanh ghi của một số bộ xử lý

4.2. Các đặc trưng của lệnh máy Giới thiệu chung về tập lệnh „ „

„

„

5 September 2009

Bài giảng Kiến trúc Máy tính

21

NKK-HUT

Mỗi bộ xử lý có một tập lệnh xác định Tập lệnh thường có hàng chục đến hàng trăm lệnh Mỗi lệnh là một chuỗi số nhị phân mà bộ xử lý hiểu được để thực hiện một thao tác xác định. Các lệnh được mô tả bằng các ký hiệu gợi nhớ Æ chính là các lệnh của hợp ngữ

5 September 2009

Bài giảng Kiến trúc Máy tính

22

NKK-HUT

Các thành phần của lệnh máy

Mô tả lệnh „ „

„

„

Mã thao tác (operation code Æ opcode): mã hóa cho thao tác mà bộ xử lý phải thực hiện Địa chỉ toán hạng: chỉ ra nơi chứa các toán hạng mà thao tác sẽ tác động „ „

5 September 2009

„

„

Nguyễn Kim Khánh - ĐHBKHN

23

Ví dụ: ADD, SUB, LOAD

Toán hạng có thể được mô tả như sau: „

Toán hạng nguồn: dữ liệu vào của thao tác Toán hạng đích: dữ liệu ra của thao tác

Bài giảng Kiến trúc Máy tính

Lệnh máy là mã nhị phân Để dễ hiểu và dễ nhớ đối với con người, người ta mô tả lệnh bằng các ký hiệu gợi nhớ

5 September 2009

ADD A,B

Bài giảng Kiến trúc Máy tính

24

6

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Số lượng địa chỉ toán hạng trong lệnh (1)

Các kiểu lệnh „ „ „ „ „

Xử lý dữ liệu Lưu trữ dữ liệu (bộ nhớ chính) Vận chuyển dữ liệu (vào-ra) Điều khiển luồng dữ liệu

Ba địa chỉ toán hạng: „ „ „

„

5 September 2009

Bài giảng Kiến trúc Máy tính

25

NKK-HUT

5 September 2009

2 toán hạng nguồn, 1 toán hạng đích c=a+b Từ lệnh dài vì phải mã hoá địa chỉ cho cả ba toán hạng Được sử dụng trên các bộ xử lý tiên tiến

Bài giảng Kiến trúc Máy tính

26

NKK-HUT

Số lượng địa chỉ toán hạng trong lệnh (2) „

Số lượng địa chỉ toán hạng trong lệnh (3)

Hai địa chỉ toán hạng: „

„ „

„ „

5 September 2009

„

Một toán hạng vừa là toán hạng nguồn vừa là toán hạng đích; toán hạng còn lại là toán hạng nguồn a=a+b Giá trị cũ của 1 toán hạng nguồn bị mất vì phải chứa kết quả Rút gọn độ dài từ lệnh Phổ biến

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

Một địa chỉ toán hạng: „ „

„

27

5 September 2009

Một toán hạng được chỉ ra trong lệnh Một toán hạng là ngầm định Æ thường là thanh ghi (thanh chứa –accumulator) Được sử dụng trên các máy ở các thế hệ trước

Bài giảng Kiến trúc Máy tính

28

7

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Số lượng địa chỉ toán hạng trong lệnh (4) „

Đánh giá về số địa chỉ toán hạng „

0 địa chỉ toán hạng: „ „ „

„

Các toán hạng đều được ngầm định Sử dụng Stack Ví dụ:

„ „

push a push b add pop c có nghĩa là : c = a+b „

Nhiều địa chỉ toán hạng

„

„

Ít địa chỉ toán hạng „ „ „

không thông dụng

„

5 September 2009

Bài giảng Kiến trúc Máy tính

29

NKK-HUT

Các lệnh phức tạp hơn Cần nhiều thanh ghi Chương trình có ít lệnh hơn Nhận lệnh và thực hiện lệnh chậm hơn

5 September 2009

Các lệnh đơn giản hơn Cần ít thanh ghi Chương trình có nhiều lệnh hơn Nhận lệnh và thực hiện lệnh nhanh hơn Bài giảng Kiến trúc Máy tính

30

NKK-HUT

Các vấn đề của thiết kế tập lệnh (1) „

„ „

„

„

Về thao tác „

„

Các vấn đề của thiết kế tập lệnh (2)

Bao nhiêu thao tác ? Các thao tác nào ? Mức độ phức tạp của các thao tác ?

„ „

„

Các kiểu dữ liệu Các khuôn dạng lệnh „ „

Các thanh ghi

„

Độ dài của trường mã thao tác Số lượng địa chỉ toán hạng

Các phương pháp định địa chỉ (xét sau) (addressing modes) RISC hay CISC (xét sau) „ „

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

31

Số thanh ghi của CPU được sử dụng Các thao tác nào được thực hiện trên các thanh ghi ?

5 September 2009

Reduced Instruction Set Computing Complex Instruction Set Computing Bài giảng Kiến trúc Máy tính

32

8

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

4.4. Các kiểu thao tác của lệnh

4.3. Các kiểu toán hạng „ „

Địa chỉ Số „ „

„

Số nguyên Số dấu phẩy động

„ „

Ký tự „

„

„

„

Ví dụ: mã ASCII

„

Dữ liệu logic „

„

Các bit hoặc các cờ

5 September 2009

Bài giảng Kiến trúc Máy tính

33

NKK-HUT

5 September 2009

„ „ „ „ „ „ „

Bài giảng Kiến trúc Máy tính

34

NKK-HUT

Các lệnh chuyển dữ liệu „

Chuyển dữ liệu Xử lý số học với số nguyên Xử lý logic Điều khiển vào-ra Chuyển điều khiển (rẽ nhánh) Điều khiển hệ thống

MOVE LOAD STORE EXCHANGE CLEAR SET PUSH POP

5 September 2009

Các lệnh số học

Copy dữ liệu từ nguồn đến đích Nạp dữ liệu từ bộ nhớ đến bộ xử lý Cất dữ liệu từ bộ xử lý đến bộ nhớ Trao đổi nội dung của nguồn và đích Chuyển các bit 0 vào toán hạng đích Chuyển các bit 1 vào toán hạng đích Cất nội dung toán hạng nguồn vào ngăn xếp Lấy nội dung đỉnh ngăn xếp đưa đến toán hạng đích

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

35

„

ADD

Cộng hai toán hạng

„

SUBTRACT

Trừ hai toán hạng

„

MULTIPLY

Nhân hai toán hạng

„

DIVIDE

Chia hai toán hạng

„

ABSOLUTE

Lấy trị tuyệt đối toán hạng

„

NEGATE

Đổi dấu toán hạng (lấy bù 2)

„

INCREMENT

Tăng toán hạng thêm 1

„

DECREMENT

Giảm toán hạng đi 1

„

COMPARE

Trừ hai toán hạng để lập cờ

5 September 2009

Bài giảng Kiến trúc Máy tính

36

9

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Các lệnh logic

Minh hoạ các lệnh AND, OR, XOR „

„

AND

Thực hiện phép AND hai toán hạng

„

OR

Thực hiện phép OR hai toán hạng

„

XOR

Thực hiện phép XOR hai toán hạng

„

NOT

Đảo bit của toán hạng (lấy bù 1)

„

TEST

Thực hiện phép AND hai toán hạng để lập cờ

„

„

„

5 September 2009

Bài giảng Kiến trúc Máy tính

37

NKK-HUT

Giả sử có hai thanh ghi chứa dữ liệu như sau: (R1) = 1010 1010 (R2) = 0000 1111 R1 Å (R1) AND (R2) = 0000 1010 Phép toán AND dùng để xoá một số bit và giữ nguyên một số bit còn lại của toán hạng. R1 Å (R1) OR (R2) = 1010 1111 Phép toán OR dùng để thiết lập một số bit và giữ nguyên một số bit còn lại của toán hạng. R1 Å (R1) XOR (R2) = 1010 0101 Phép toán XOR dùng để đảo một số bit và giữ nguyên một số bit còn lại của toán hạng.

5 September 2009

Bài giảng Kiến trúc Máy tính

38

NKK-HUT

Các lệnh logic (tiếp) SHIFT ROTATE

5 September 2009

Các thao tác SHIFT và ROTATE

Dịch trái (phải) toán hạng Quay trái (phải) toán hạng

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

39

5 September 2009

Bài giảng Kiến trúc Máy tính

40

10

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Các lệnh vào ra chuyên dụng „

„

INPUT

Các lệnh chuyển điều khiển

Copy dữ liệu từ một cổng xác định đưa đến đích

„

JUMP (BRANCH) Lệnh nhảy không điều kiện:

„

JUMP CONDITIONAL Lệnh nhảy có điều kiện:

nạp vào PC một địa chỉ xác định

„

điều kiện đúng Æ nạp vào PC một địa chỉ xác định điều kiện sai Æ không làm gì cả

„

OUTPUT Copy dữ liệu từ nguồn đến một cổng xác định

„

„

CALL Lệnh gọi chương trình con: Cất nội dung của PC (địa chỉ trở về) ra một vị trí xác định (thường ở Stack) Nạp vào PC địa chỉ của lệnh đầu tiên của chương trình con

„

„

„

RETURN Lệnh trở về từ chương trình con: Khôi phục địa chỉ trở về trả lại cho PC để trở về chương trình chính

„

5 September 2009

Bài giảng Kiến trúc Máy tính

41

NKK-HUT

5 September 2009

42

NKK-HUT

Lệnh rẽ nhánh không điều kiện

Lệnh rẽ nhánh có điều kiện „

„

Bài giảng Kiến trúc Máy tính

Chuyển tới thực hiện lệnh ở vị trí có địa chỉ XXX: PC Å XXX

„

Trong lệnh có kèm theo điều kiện Kiểm tra điều kiện trong lệnh: „

Nếu điều kiện đúng Æ chuyển tới thực hiện lệnh ở vị trí có địa chỉ XXX

PC Å XXX „

„

„ 5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

43

Nếu điều kiện sai Æ chuyển sang thực hiện lệnh_kế_tiếp

Điều kiện thường được kiểm tra thông qua các cờ Có nhiều lệnh rẽ nhánh có điều kiện

5 September 2009

Bài giảng Kiến trúc Máy tính

44

11

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Minh hoạ lệnh rẽ nhánh có điều kiện

Lệnh CALL và RETURN „

Lệnh gọi chương trình con: lệnh CALL Cất nội dung PC (chứa địa chỉ của lệnh_kế_tiếp) ra Stack „ Nạp vào PC địa chỉ của lệnh đầu tiên của chương trình con được gọi Æ Bộ xử lý được chuyển sang thực hiện chương trình con tương ứng „

„

Lệnh trở về từ chương trình con: lệnh RETURN „

5 September 2009

Bài giảng Kiến trúc Máy tính

45

NKK-HUT

Lấy địa chỉ của lệnh_kế_tiếp được cất ở Stack nạp trả lại cho PC Æ Bộ xử lý được điều khiển quay trở về thực hiện tiếp lệnh nằm sau lệnh CALL

5 September 2009

Bài giảng Kiến trúc Máy tính

46

NKK-HUT

Minh hoạ lệnh CALL và RETURN

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

Gọi các thủ tục lồng nhau

47

5 September 2009

Bài giảng Kiến trúc Máy tính

48

12

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Sử dụng Stack

Các lệnh điều khiển hệ thống „ „

„ „

„

5 September 2009

Bài giảng Kiến trúc Máy tính

49

NKK-HUT

HALT WAIT

Dừng thực hiện chương trình Tạm dừng thực hiện chương trình, lặp kiểm tra điều kiện cho đến khi thoả mãn thì tiếp tục thực hiện NO OPERATION Không thực hiện gì cả LOCK Cấm không cho xin chuyển nhượng bus UNLOCK Cho phép xin chuyển nhượng bus

5 September 2009

Bài giảng Kiến trúc Máy tính

50

NKK-HUT

4.5. Các phương pháp định địa chỉ

Các phương pháp định địa chỉ thông dụng

Khái niệm về định địa chỉ (addressing) „ Toán hạng của lệnh có thể là: „ „ „

„

„ „

Một giá trị cụ thể nằm ngay trong lệnh Nội dung của thanh ghi Nội dung của ngăn nhớ hoặc cổng vào-ra

„ „ „

Phương pháp định địa chỉ (addressing modes) là cách thức địa chỉ hóa trong trường địa chỉ của lệnh để xác định nơi chứa toán hạng

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

„

51

Định địa chỉ tức thì Định địa chỉ thanh ghi Định địa chỉ trực tiếp Định địa chỉ gián tiếp qua thanh ghi Định địa chỉ gián tiếp Định địa chỉ dịch chuyển

5 September 2009

Bài giảng Kiến trúc Máy tính

52

13

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Định địa chỉ tức thì „

„ „

„ „ „

Sơ đồ định địa chỉ tức thì

Toán hạng nằm ngay trong Trường địa chỉ của lệnh Chỉ có thể là toán hạng nguồn Ví dụ: ADD R1, 5 ; R1Å R1+5 Không tham chiếu bộ nhớ Truy nhập toán hạng rất nhanh Dải giá trị của toán hạng bị hạn chế

5 September 2009

Bài giảng Kiến trúc Máy tính

53

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

54

NKK-HUT

Sơ đồ định địa chỉ thanh ghi

Định địa chỉ thanh ghi „

„

„

„ „ „

Toán hạng được chứa trong thanh ghi có tên trong Trường địa chỉ Ví dụ: ADD R1, R2 ; R1Å R1+R2 Số lượng thanh ghi ít Æ Trường địa chỉ chỉ cần ít bit Không tham chiếu bộ nhớ Truy nhập toán hạng nhanh Tăng số lượng thanh ghi Æ hiệu quả hơn

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

55

5 September 2009

Bài giảng Kiến trúc Máy tính

56

14

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Định địa chỉ trực tiếp „

„

Toán hạng là ngăn nhớ có địa chỉ được chỉ ra trực tiếp trong Trường địa chỉ của lệnh Ví dụ: ADD R1, A ;R1 Å R1 + (A) „

„

„

Sơ đồ định địa chỉ trực tiếp

Cộng nội dung thanh ghi R1 với nội dung của ngăn nhớ có địa chỉ là A Tìm toán hạng trong bộ nhớ ở địa chỉ A

CPU tham chiếu bộ nhớ một lần để truy nhập dữ liệu

5 September 2009

Bài giảng Kiến trúc Máy tính

57

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

58

NKK-HUT

Định địa chỉ gián tiếp qua thanh ghi „

„ „ „

„

Sơ đồ định địa chỉ gián tiếp qua thanh ghi

Toán hạng là ngăn nhớ có địa chỉ nằm trong thanh ghi Trường địa chỉ cho biết tên thanh ghi đó Thanh ghi có thể là ngầm định Thanh ghi này được gọi là thanh ghi con trỏ Vùng nhớ có thể được tham chiếu là lớn (2n), (với n là độ dài của thanh ghi)

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

59

5 September 2009

Bài giảng Kiến trúc Máy tính

60

15

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Sơ đồ định địa chỉ gián tiếp qua ngăn nhớ

Định địa chỉ gián tiếp qua ngăn nhớ „

„ „

„

„

Ngăn nhớ được trỏ bởi Trường địa chỉ của lệnh chứa địa chỉ của toán hạng Có thể gián tiếp nhiều lần Giống như khái niệm biến con trỏ và biến động trong lập trình CPU phải thực hiện tham chiếu bộ nhớ nhiều lần để tìm toán hạng Æ chậm Vùng nhớ có thể được tham chiếu là lớn

5 September 2009

Bài giảng Kiến trúc Máy tính

61

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

62

NKK-HUT

Sơ đồ định địa chỉ dịch chuyển

Định địa chỉ dịch chuyển „

Để xác định toán hạng, Trường địa chỉ chứa hai thành phần: „ „

„

„

Tên thanh ghi Hằng số

Địa chỉ của toán hạng = nội dung thanh ghi + hằng số Thanh ghi có thể được ngầm định

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

63

5 September 2009

Bài giảng Kiến trúc Máy tính

64

16

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

4.6. Khái niệm về lập trình hợp ngữ

Các dạng của định địa chỉ dịch chuyển „

Địa chỉ hoá tương đối với PC Thanh ghi là Bộ đếm chương trình PC Toán hạng có địa chỉ cách ngăn nhớ được trỏ bởi PC một độ lệch xác định

„ „

„

„ „ „

Định địa chỉ cơ sở

„

Thanh ghi chứa địa chỉ cơ sở Hằng số là chỉ số

„ „

„

„

„ „

Định địa chỉ chỉ số

Các lệnh của tập lệnh Các lệnh giả của chương trình dịch

Hằng số là địa chỉ cơ sở Thanh ghi chứa chỉ số

„ „ 5 September 2009

Bài giảng Kiến trúc Máy tính

65

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

66

NKK-HUT

4.7. RISC „

Hợp ngữ là ngôn ngữ lập trình bậc thấp Phụ thuộc vào bộ xử lý cụ thể Lập trình theo các ký hiệu lệnh Chương trình dịch: assembler Cú pháp:

Các đặc trưng của RISC

CISC và RISC „

CISCÆComplex Instruction Set Computer: „ „

„

„ „

Máy tính với tập lệnh phức tạp Các bộ xử lý truyền thống: Intel x86, Motorola 680x0

„

RISCÆReduced Instruction Set Computer: „ „ „

Máy tính với tập lệnh thu gọn SunSPARC, Power PC, MIPS, ARM ... RISC đối nghịch với CISC

„

„

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

67

Số lượng lệnh ít Hầu hết các lệnh truy nhập toán hạng ở các thanh ghi Truy nhập bộ nhớ bằng các lệnh LOAD/STORE Thời gian thực hiện lệnh là một chu kỳ máy Các lệnh có độ dài cố định (32 bit)

5 September 2009

Bài giảng Kiến trúc Máy tính

68

17

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Các đặc trưng của RISC (tiếp) „ „ „ „

„

Cửa sổ thanh ghi

Số lượng khuôn dạng lệnh là ít (<=4) CPU có tập thanh ghi lớn Có ít mode địa chỉ (<=4) Hỗ trợ các thao tác của ngôn ngữ bậc cao Đều được thiết kế kiểu pipeline lệnh

5 September 2009

Bài giảng Kiến trúc Máy tính

69

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

70

NKK-HUT

Ví dụ lưu trữ dữ liệu 32-bit

4.8. Thứ tự lưu trữ các byte trong bộ nhớ chính „

„

Bộ nhớ chính thường đánh địa chỉ theo byte Hai cách lưu trữ thông tin nhiều byte: „

„

5 September 2009

0001 1010 0010 1011 0011 1100 0100 1101

Đầu nhỏ (Little-endian): Byte có ý nghĩa thấp được lưu trữ ở ngăn nhớ có địa chỉ nhỏ, byte có ý nghĩa cao được lưu trữ ở ngăn nhớ có địa chỉ lớn. Đầu to (Big-endian): Byte có ý nghĩa cao được lưu trữ ở ngăn nhớ có địa chỉ nhỏ, byte có ý nghĩa thấp được lưu trữ ở ngăn nhớ có địa chỉ lớn. Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

71

5 September 2009

Bài giảng Kiến trúc Máy tính

72

18

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Lưu trữ của các bộ xử lý điển hình

4.9. Ví dụ kiến trúc tập lệnh „

„

Intel 80x86 và các Pentium: little-endian

„

„

Motorola 680x0, SunSPARC: big-endian

„

„

Power PC, Itanium: bi-endian

5 September 2009

Bài giảng Kiến trúc Máy tính

73

NKK-HUT

Intel x86 ARM MIPS

5 September 2009

Bài giảng Kiến trúc Máy tính

74

NKK-HUT

Các kiểu dữ liệu của Intel x86 „ „ „ „ „ „ „

„

„

x86 Numeric Data Formats

8 bit Byte 16 bit word 32 bit double word 64 bit quad word 128 bit double quadword Addressing is by 8 bit unit Words do not need to align at evennumbered address Data accessed across 32 bit bus in units of double word read at addresses divisible by 4 Little endian

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

75

5 September 2009

Bài giảng Kiến trúc Máy tính

76

19

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

x86 Addressing Modes „

Virtual or effective address is offset into segment „ „

„

x86 Addressing Mode Calculation

Starting address plus offset gives linear address This goes through page translation if paging enabled

12 addressing modes available „ „ „ „ „ „ „ „ „

5 September 2009

Immediate Register operand Displacement Base Base with displacement Scaled index with displacement Base with index and displacement Base scaled index with displacement Relative Bài giảng Kiến trúc Máy tính

77

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

78

NKK-HUT

x86 Instruction Format

ARM Data Types „ „ „

8 (byte), 16 (halfword), 32 (word) bits Halfword and word accesses should be word aligned Nonaligned access alternatives „

Default „ „ „ „

„ „ „

„ „ „

„ „ „

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

79

Data abort signal indicates alignment fault for attempting unaligned access Unaligned access Processor uses one or more memory accesses to generate transfer of adjacent bytes transparently to the programmer

Unsigned integer interpretation supported for all types Twos-complement signed integer interpretation supported for all types Majority of implementations do not provide floating-point hardware „

5 September 2009

Treated as truncated Bits[1:0] treated as zero for word Bit[0] treated as zero for halfword Load single word instructions rotate right word aligned data transferred by non word-aligned address one, two or three bytesAlignment checking

5 September 2009

Saves power and area Floating-point arithmetic implemented in software Optional floating-point coprocessor Single- and double-precision IEEE 754 floating point data types

Bài giảng Kiến trúc Máy tính

80

20

Bài giảng Kiến trúc máy tính

NKK-HUT

ARM Addressing Modes Load/Store

NKK-HUT

ARM Endian Support „ „

E-bit in system control register Under program control

„ „ „

Only instructions that reference memory Indirectly through base register plus offset Offset „

„

Preindex „ „ „

„

„

„ „

„

Bài giảng Kiến trúc Máy tính

81

NKK-HUT

Offset register value scaled by shift operator Instruction specifies shift size

5 September 2009

Bài giảng Kiến trúc Máy tính

„

Data Processing „

Register addressing „

„

„

„ „

Or mixture of register and immediate addressing Immediate Instruction contains 24 bit value Shifted 2 bits left „ „

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

83

Value in register operands may be scaled using a shift operator

Branch „

5 September 2009

82

ARM Data Processing Instruction Addressing & Branch Instructions

NKK-HUT

ARM Indexing Methods

Memory address is base register value Offset added or subtracted Result written back to base register

Base register acts as index register for preindex and postindex addressing Offset either immediate value in instruction or another register If register scaled register addressing available „

5 September 2009

Memory address is formed as for offset addressing Memory address also written back to base register So base register value incremented or decremented by offset value

Postindex „

„

Offset added to or subtracted from base register contents to form the memory address

5 September 2009

On word boundary Effective range +/-32MB from PC.

Bài giảng Kiến trúc Máy tính

84

21

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

ARM Load/Store Multiple Addressing „

„ „ „

„ „

ARM Load/Store Multiple Addressing Diagram

Load/store subset of general-purpose registers 16-bit instruction field specifies list of registers Sequential range of memory addresses Increment after, increment before, decrement after, and decrement before Base register specifies main memory address Incrementing or decrementing starts before or after first memory access

5 September 2009

Bài giảng Kiến trúc Máy tính

85

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

86

NKK-HUT

ARM Instruction Formats

„ „ „ „ „ „

ARM Immediate Constants Fig 11.11

S = For data processing instructions, updates condition codes S = For load/store multiple instructions, execution restricted to supervisor mode P, U, W = distinguish between different types of addressing_mode B = Unsigned byte (B==1) or word (B==0) access L = For load/store instructions, Load (L==1) or Store (L==0) L = For branch instructions, is return address stored in link register

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

87

5 September 2009

Bài giảng Kiến trúc Máy tính

88

22

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Thumb Instruction Set „ „

„ „ „ „

Expanding Thumb ADD Instruction to ARM Equivalent Fig 11.12

Re-encoded subset of ARM instruction set Increases performance in 16-bit or less data bus Unconditional (4 bits saved) Always update conditional flags Update flag not used (1 bit saved) Subset of instructions 2 bit opcode, 3 bit type field (1 bit saved) Reduced operand specifications (9 bits saved)

„ „

5 September 2009

Bài giảng Kiến trúc Máy tính

89

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

90

NKK-HUT

Kiến trúc MIPS „

Xem tài liệu: Behrooz Parhami Computer Architecture: From Microprocessors to Supercomputers – 2005.

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

Hết chương 4

91

5 September 2009

Bài giảng Kiến trúc Máy tính

92

23

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Kiến trúc máy tính

Nội dung học phần „

Chương 5 SỐ HỌC MÁY TÍNH

„ „ „ „ „ „

Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội

Bài giảng Kiến trúc Máy tính

„ „

1

NKK-HUT

Chương 1. Giới thiệu chung Chương 2. Cơ bản về logic số Chương 3. Tổng quan về hệ thống máy tính Chương 4. Kiến trúc tập lệnh Chương 5. Số học máy tính Chương 6. Bộ xử lý trung tâm Chương 7. Bộ nhớ máy tính Chương 8. Hệ thống vào-ra Chương 9. Máy tính song song Bài giảng Kiến trúc Máy tính

2

NKK-HUT

5.1. Biểu diễn số nguyên

Nội dung chương 5

5.1. Biểu diễn số nguyên 5.2. Phép cộng và phép trừ số nguyên 5.3. Phép nhân 5.4. Phép chia 5.5. Số dấu phẩy động

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

„ „

3

Số nguyên không dấu (Unsigned Integer) Số nguyên có dấu (Signed Integer)

Bài giảng Kiến trúc Máy tính

4

1

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

1. Biểu diễn số nguyên không dấu „

Các ví dụ

Nguyên tắc tổng quát: Dùng n bit biểu diễn số nguyên không dấu A:

„

a n −1 a n − 2 ... a 2 a1 a 0 Giá trị của A được tính như sau: n −1

A = ∑ ai 2 i i =0

B = 150 = 128 + 16 + 4 + 2 = 27 + 24 + 22 + 21 150 = 1001 0110

Dải biểu diễn của A: từ 0 đến 2n – 1 Bài giảng Kiến trúc Máy tính

Ví dụ 1. Biểu diễn các số nguyên không dấu sau đây bằng 8-bit: A = 41 ; B = 150 Giải: A = 41 = 32 + 8 + 1 = 25 + 23 + 20 41 = 0010 1001

5

NKK-HUT

Bài giảng Kiến trúc Máy tính

6

NKK-HUT

„

Các ví dụ (tiếp)

Với n = 8 bit

Ví dụ 2. Cho các số nguyên không dấu M, N được biểu diễn bằng 8-bit như sau:

Biểu diễn được các giá trị từ 0 đến 255

„

M = 0001 0010

„

N = 1011 1001

0000 0000 0000 0001 0000 0010 0000 0011 ... 1111 1111

Xác định giá trị của chúng ? Giải: „

M = 0001 0010 = 24 + 21 = 16 +2 = 18

„

N = 1011 1001 = 27 + 25 + 24 + 23 + 20

= = = =

0 1 2 3

= 255

Chú ý: 1111 1111 + 0000 0001 1 0000 0000 Vậy: 255 + 1 = 0 ? Æ do tràn nhớ ra ngoài

= 128 + 32 + 16 + 8 + 1 = 185 Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

7

Bài giảng Kiến trúc Máy tính

8

2

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Trục số học với n = 8 bit

Với n = 16 bit, 32 bit, 64 bit

Trục số học:

„

n= 16 bit: dải biểu diễn từ 0 đến 65535 (216 – 1) „ „ „

Trục số học máy tính:

„ „ „

„ „

Bài giảng Kiến trúc Máy tính

= 65535

Bài giảng Kiến trúc Máy tính

10

Số bù chín và Số bù mười (tiếp)

a. Số bù chín và Số bù mười

„

= 255 = 256

NKK-HUT

2. Biểu diễn số nguyên có dấu

„

= 0

n= 32 bit: dải biểu diễn từ 0 đến 232 - 1 n= 64 bit: dải biểu diễn từ 0 đến 264 - 1

9

NKK-HUT

0000 0000 0000 0000 ... 0000 0000 1111 1111 0000 0001 0000 0000 ... 1111 1111 1111 1111

„

Cho một số thập phân A được biểu diễn bằng n chữ số thập phân, ta có: „

Số bù chín của A = (10n-1) – A

„

Số bù mười của A = 10n – A

Số bù mười của A = (Số bù chín của A) +1

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

11

Ví dụ: với n=4, cho A = 3265 „ Số bù chín của A: 9999 (104-1) (A) - 3265 6734 „ Số bù mười của A: 10000 (104) (A) - 3265 6735 Bài giảng Kiến trúc Máy tính

12

3

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

b. Số bù một và Số bù hai

„

„

Số bù một và Số bù hai (tiếp) Ví dụ: với n = 8 bit, cho A = 0010 0101 „ Số bù một của A được tính như sau: 1111 1111 (28-1) - 0010 0101 (A) 1101 1010 Æ đảo các bit của A „ Số bù hai của A được tính như sau: 1 0000 0000 (28) (A) - 0010 0101 1101 1011 Æ thực hiện khó khăn

Định nghĩa: Cho một số nhị phân A được biểu diễn bằng n bit, ta có: „

Số bù một của A = (2n-1) – A

„

Số bù hai của A = 2n – A

Số bù hai của A = (Số bù một của A) +1

Bài giảng Kiến trúc Máy tính

13

NKK-HUT

Bài giảng Kiến trúc Máy tính

NKK-HUT

Quy tắc tìm Số bù một và Số bù hai „ „ „

c. Biểu diễn số nguyên có dấu bằng mã bù hai

Số bù một của A = đảo giá trị các bit của A (Số bù hai của A) = (Số bù một của A) + 1 Ví dụ: „

Cho A Số bù một

= =

„

Số bù hai

=

„

„

14

Nguyên tắc tổng quát: Dùng n bit biểu diễn số nguyên có dấu A:

an−1an−2 ...a2a1a0

0010 0101 1101 1010 + 1 1101 1011

„

Nhận xét: A Số bù hai

„

= =

0010 0101 + 1101 1011 1 0000 0000 = 0 (bỏ qua bit nhớ ra ngoài) Æ Số bù hai của A = -A Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

15

Với A là số dương: bit an-1 = 0, các bit còn lại biểu diễn độ lớn như số không dấu Với A là số âm: được biểu diễn bằng số bù hai của số dương tương ứng, vì vậy bit an-1 = 1

Bài giảng Kiến trúc Máy tính

16

4

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Biểu diễn số dương „

Biểu diễn số âm

Dạng tổng quát của số dương A:

„

Dạng tổng quát của số âm A:

1a n − 2 ... a 2 a1 a0

0 a n − 2 ... a 2 a1 a0 „

Giá trị của số dương A:

„

n−2

A = ∑ ai 2 i

Giá trị của số âm A:

A = −2

n −1

Dải biểu diễn cho số dương: 0 đến 2n-1-1 Bài giảng Kiến trúc Máy tính

+ ∑ ai 2 i i =0

i =0

„

n−2

„

Dải biểu diễn cho số âm: -1 đến -2n-1

17

NKK-HUT

Bài giảng Kiến trúc Máy tính

18

NKK-HUT

Biểu diễn tổng quát cho số nguyên có dấu „

„

Dạng tổng quát của số nguyên A:

a n −1 a n − 2 ... a 2 a1 a 0 „

Giá trị của A được xác định như sau:

A = − a n −1 2 „

n −1

Các ví dụ

n−2

+ ∑ ai 2 i

Ví dụ 1. Biểu diễn các số nguyên có dấu sau đây bằng 8-bit: A = +58 ; B = -80 Giải: A = +58 = 0011 1010 B

i =0

Dải biểu diễn: từ -(2n-1) đến +(2n-1-1)

= -80 Ta có: + 80 Số bù một Số bù hai

Vậy: B = Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

19

-80

= 0101 0000 = 1010 1111 + 1 = 1011 0000 = 1011 0000

Bài giảng Kiến trúc Máy tính

20

5

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Các ví dụ „

Với n = 8 bit Biểu diễn được các giá trị từ -128 đến +127

Ví dụ 2. Hãy xác định giá trị của các số nguyên có dấu được biểu diễn dưới đây: „

P = 0110 0010

„

Q = 1101 1011

0000 0000 0000 0001 0000 0010 0000 0011 ... 0111 1111 1000 0000 1000 0001 ... 1111 1110 1111 1111

Giải: „

P = 0110 0010 = 64+32+2 = +98

„

Q = 1101 1011 = -128+64+16+8+2+1 = -37

Bài giảng Kiến trúc Máy tính

21

NKK-HUT

= +127 = - 128 = - 127 = =

Chú ý: +127 + 1 = -128 -128 - 1 = +127 Æ do tràn xảy ra

-2 -1 22

NKK-HUT

Với n = 16 bit, 32 bit, 64 bit

Trục số học:

„

Với n=16bit: biểu diễn từ -32768 đến +32767 „ „

„

0 +1 +2 +3

Bài giảng Kiến trúc Máy tính

Trục số học số nguyên có dấu với n = 8 bit „

= = = =

„

Trục số học máy tính:

„ „ „ „

„ „ Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

23

0000 0000 0000 0000 0000 0000 0000 0001 ... 0111 1111 1111 1111 1000 0000 0000 0000 ... 1111 1111 1111 1111

= 0 = +1 = +32767 = -32768 = -1

Với n=32bit: biểu diễn từ -231 đến 231-1 Với n=64bit: biểu diễn từ -263 đến 263-1 Bài giảng Kiến trúc Máy tính

24

6

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Chuyển đổi từ byte thành word „

3. Biểu diễn số nguyên theo mã BCD „

Đối với số dương: +19 =

0001 0011

+19 = 0000 0000 0001 0011

„

(8bit) (16bit)

Binary Coded Decimal Code Dùng 4 bit để mã hóa cho các chữ số thập phân từ 0 đến 9: 0 Æ 0000 1 Æ 0001 2 Æ 0010 3 Æ 0011 4 Æ 0100

Æ thêm 8 bit 0 bên trái „

Đối với số âm: - 19 =

1110 1101

- 19 = 1111 1111 1110 1101

(8bit) (16bit) „

Æ thêm 8 bit 1 bên trái Bài giảng Kiến trúc Máy tính

5 Æ 0101 6 Æ 0110 7 Æ 0111 8 Æ 1000 9 Æ 1001

còn 6 tổ hợp không sử dụng: 1010, 1011, 1100, 1101, 1110, 1111

25

NKK-HUT

Bài giảng Kiến trúc Máy tính

26

NKK-HUT

Ví dụ số BCD

Các kiểu lưu trữ số BCD „

„ „ „ „

35 Æ 0011 0101BCD 61 Æ 0110 0001BCD 1087 Æ 0001 0000 1000 0111BCD 9640 Æ 1001 0110 0100 0000BCD

BCD không gói (Unpacked BCD):Mỗi số BCD 4-bit được lưu trữ trong 4-bit thấp của mỗi byte. „

„

BCD gói (Packed BCD): Hai số BCD được lưu trữ trong 1 byte. „

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

27

Ví dụ: Số 35 được lưu trữ như sau:

Ví dụ: Số 35 được lưu trữ như sau:

Bài giảng Kiến trúc Máy tính

28

7

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Phép cộng số BCD

5.2. Thực hiện phép cộng/trừ với số nguyên

1. Phép cộng số nguyên không dấu Bộ cộng n-bit

35 Æ 0011 0101BCD + 61 Æ + 0110 0001BCD 96 Å 1001 0110BCD kết quả đúng (không phải hiệu chỉnh)

„

87 + 96 1 83

Æ 1000 0111BCD Æ + 1001 0110BCD 1 0001 1101 Æ kết quả sai + 0110 0110 Å hiệu chỉnh 0001 1000 0011BCD Ækết quả đúng 1 8 3 Hiệu chỉnh: cộng thêm 6 ở những vị trí có nhớ (>9) „

Bài giảng Kiến trúc Máy tính

29

NKK-HUT

Bài giảng Kiến trúc Máy tính

30

NKK-HUT

Nguyên tắc cộng số nguyên không dấu

„ „

„

Ví dụ cộng số nguyên không dấu +

57 34 91

= = +

+

209 73 282

= 1101 0001 = + 0100 1001 1 0001 1010 0001 1010 = 16+8+2=26 Æ sai Æ có tràn nhớ ra ngoài (Cout=1)

„

Khi cộng hai số nguyên không dấu n-bit, kết quả nhận được là n-bit: Nếu Cout=0 Æ nhận được kết quả đúng. Nếu Cout=1 Æ nhận được kết quả sai, do tràn nhớ ra ngoài (Carry Out). Tràn nhớ ra ngoài khi: tổng > (2n – 1)

„

0011 1001 0010 0010 0101 1011 = 64+16+8+2+1=91 Æ đúng

Để có kết quả đúng ta thực hiện cộng theo 16-bit: 209 = 0000 0000 1101 0001 + 73 = + 0000 0000 0100 1001 0000 0001 0001 1010 = 256+16+8+2 = 282 Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

31

Bài giảng Kiến trúc Máy tính

32

8

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

„

„

„

2. Phép đảo dấu

3. Cộng số nguyên có dấu

Ta có: + 37 bù một

= =

Khi cộng hai số nguyên có dấu n-bit, kết quả nhận được là n-bit và không cần quan tâm đến bit Cout.

bù hai

=

0010 0101 1101 1010 + 1 1101 1011 =

Lấy bù hai của số âm: - 37 = 1101 1011 bù một = 0010 0100 + 1 bù hai = 0010 0101 =

-37

„

Cộng hai số khác dấu: kết quả luôn luôn đúng.

„

Cộng hai số cùng dấu: „

„

+37

Kết luận: Phép đảo dấu trong máy tính thực chất là lấy bù hai Bài giảng Kiến trúc Máy tính

[ -(2n-1),+(2n-1-1)] 33

Bài giảng Kiến trúc Máy tính

„

„

34

NKK-HUT

Ví dụ cộng số nguyên có dấu không tràn

„

nếu kết quả có dấu ngược lại, khi đó có tràn xảy ra (Overflow) và kết quả bị sai.

Tràn xảy ra khi tổng nằm ngoài dải biểu diễn:

„

NKK-HUT

„

nếu dấu kết quả cùng dấu với các số hạng thì kết quả là đúng.

( + 70) + ( + 42) + 112

= =

(+ 97) + (- 52) + 45

= =

( - 90) + ( +36) - 54

= =

1010 0110 (+90=0101 1010) 0010 0100 1100 1010 = - 54

( - 74) +( - 30) -104

= =

1011 0110 (+74=0100 1010) 1110 0010 (+30=0001 1110) 1 1001 1000 = -104

Ví dụ cộng số nguyên có dấu bị tràn ( + 75) +( + 82) +157

0100 0110 0010 1010 0111 0000 = +112

„

0110 0001 1100 1100 (+52=0011 0100) 1 0010 1101 = +45

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

= 0100 1011 = 0101 0010 1001 1101 = - 128+16+8+4+1= -99 Æ sai

( - 104) = 1001 1000 (+104=0110 1000) + ( - 43) = 1101 0101 (+ 43 =0010 1011) - 147 1 0110 1101 = 64+32+8+4+1= +109 Æ sai „ Cả hai ví dụ đều tràn vì tổng nằm ngoài dải biểu diễn [-128, +127] „

35

Bài giảng Kiến trúc Máy tính

36

9

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

4. Nguyên tắc thực hiện phép trừ „ „

5.3. Thực hiện phép nhân Nhân số nguyên không dấu

Phép trừ hai số nguyên: X-Y = X+(-Y) Nguyên tắc: Lấy bù hai của Y để được –Y, rồi cộng với X

Bài giảng Kiến trúc Máy tính

1011 x 1101 1011 0000 1011 1011 10001111 37

NKK-HUT

„

„

„

Tích

(143)

Bài giảng Kiến trúc Máy tính

38

Bộ nhân số nguyên không dấu

Các tích riêng phần được xác định như sau: „

„

Các tích riêng phần

NKK-HUT

Nhân số nguyên không dấu (tiếp) „

Số bị nhân (11) Số nhân (13)

Nếu bit của số nhân bằng 0 Æ tích riêng phần bằng 0. Nếu bit của số nhân bằng 1 Æ tích riêng phần bằng số bị nhân. Tích riêng phần tiếp theo được dịch trái một bit so với tích riêng phần trước đó.

Tích bằng tổng các tích riêng phần Nhân hai số nguyên n-bit, tích có độ dài 2n bit (không bao giờ tràn).

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

39

Bài giảng Kiến trúc Máy tính

40

10

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Lưu đồ nhân số nguyên không dấu

Ví dụ nhân số nguyên không dấu „ „ „

Bài giảng Kiến trúc Máy tính

„

C 0

„

0 0

„

0

„

0 0

„

1 0

41

NKK-HUT

Số bị nhân M = Số nhân Q = Tích =

1011 1101 1000 1111

(11) (13) (143)

A Q 0000 1101 Các giá trị khởi đầu + 1011 1011 1101 A ← A + M 0101 1110 Dịch phải 0010 + 1011 1101 0110 + 1011 0001 1000

1111 Dịch phải 1111 A ← A + M 1111 Dịch phải 1111 A ← A + M 1111 Dịch phải

Bài giảng Kiến trúc Máy tính

42

NKK-HUT

Ví dụ nhân số nguyên không dấu „ „ „

„

„

„ „ „

Số bị nhân M = Số nhân Q = Tích = C 0 + 0 0 + 0 0 0 0

A 0000 0010 0010 0001 0010 0011 0001 0000 0000

0010 0011 0000 0110

Nhân số nguyên có dấu

(2) (3) (6)

„ „

Sử dụng thuật giải nhân không dấu Sử dụng thuật giải Booth

Q 0011 Các giá trị khởi đầu 0011 A ← A + M 0001 Dịch phải 0001 1000 Dịch phải 1100 Dịch phải 0110 Dịch phải

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

43

Bài giảng Kiến trúc Máy tính

44

11

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Sử dụng thuật giải nhân không dấu „

„

„

B¾t ®Çu

Thuật giải Booth

A := 0, Q-1 := 0 M := Sè bÞ nh©n Q := Sè nh©n Bé ®Õm := n

Bước 1. Chuyển đổi số bị nhân và số nhân thành số dương tương ứng Bước 2. Nhân hai số dương bằng thuật giải nhân số nguyên không dấu, được tích của hai số dương.

=10

A := A - M

Bước 3. Hiệu chỉnh dấu của tích: „

„

=00 =11

A := A + M

DÞch ph¶i sè häc A,Q,Q-1 Bé ®Õm:=Bé ®Õm-1

Nếu hai thừa số ban đầu cùng dấu thì giữ nguyên kết quả ở bước 2.

No Bé ®Õm = 0 ?

Nếu hai thừa số ban đầu là khác dấu thì đảo dấu kết quả của bước 2. Bài giảng Kiến trúc Máy tính

=01 Q0,Q-1 = ?

Yes KÕt thóc

45

NKK-HUT

Bài giảng Kiến trúc Máy tính

46

NKK-HUT

5.4. Thực hiện phép chia

Bộ chia số nguyên không dấu

Chia số nguyên không dấu Số bị chia

10010011 1011 001110 1011 001111 1011 100

1011 00001101

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

Số chia Thương

Phần dư

47

Bài giảng Kiến trúc Máy tính

48

12

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Lưu đồ chia số nguyên không dấu

Chia số nguyên có dấu Bước 1. Chuyển đổi số bị chia và số chia về thành số dương tương ứng. Bước 2. Sử dụng thuật giải chia số nguyên không dấu để chia hai số dương, kết quả nhận được là thương Q và phần dư R đều là dương Bước 3. Hiệu chỉnh dấu của kết quả như sau:

„

„

„

(Lưu ý: phép đảo dấu thực chất là thực hiện phép lấy bù hai)

Bài giảng Kiến trúc Máy tính

Số bị chia

Số chia

Thương

Số dư

dương

dương

giữ nguyên

giữ nguyên

dương

âm

đảo dấu

giữ nguyên

âm

dương

đảo dấu

đảo dấu

âm

âm

giữ nguyên

đảo dấu

49

NKK-HUT

Bài giảng Kiến trúc Máy tính

50

NKK-HUT

5.5. Số dấu phẩy động

2. Chuẩn IEEE754/85

1. Nguyên tắc chung „ Floating Point Number Æ biểu diễn cho số thực „ Tổng quát: một số thực X được biểu diễn theo kiểu số dấu phẩy động như sau: X = M * RE „ „ „

„ „

„ „ „ „

M là phần định trị (Mantissa), R là cơ số (Radix), E là phần mũ (Exponent). Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

Cơ số R = 2 Các dạng:

51

Dạng 32-bit Dạng 44-bit Dạng 64-bit Dạng 80-bit

Bài giảng Kiến trúc Máy tính

52

13

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Các dạng biểu diễn chính

Dạng 32 bit

„

S là bit dấu: „ „

„

S = 0 Æ số dương S = 1 Æ số âm

e (8 bit) là mã excess-127 của phần mũ E: „ „

e = E+127 Æ E = e – 127 giá trị 127 gọi là là độ lệch (bias)

„

m (23 bit) là phần lẻ của phần định trị M:

„

Công thức xác định giá trị của số thực:

„

M = 1.m

X = (-1)S*1.m * 2e-127 Bài giảng Kiến trúc Máy tính

53

NKK-HUT

Bài giảng Kiến trúc Máy tính

NKK-HUT

Ví dụ 1

Ví dụ 2 Biểu diễn số thực X= 83.75 về dạng số dấu phẩy động IEEE754 32-bit

Xác định giá trị của số thực được biểu diễn bằng 32-bit như sau: „ 1100 0001 0101 0110 0000 0000 0000 0000

Giải:

S = 1 Æ số âm „ e = 1000 00102 = 130 Æ E = 130-127=3 Vậy X = -1.10101100 * 23 = -1101.011 = -13.375 „

„

54

0011 1111 1000 0000 0000 0000 0000 0000 = ? = +1.0 Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

„

X = 83.75(10) = 1010011.11(2) = 1.01001111 x 26

„

Ta có:

„

„

S = 0 vì đây là số dương

„

E = e-127 = 6 Æ e = 127 + 6 = 133(10) = 1000 0101(2)

Vậy: X = 0100 0010 1010 0111 1000 0000 0000 0000

55

Bài giảng Kiến trúc Máy tính

56

14

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Ví dụ 3

Bài tập Biểu diễn các số thực sau đây về dạng số dấu phẩy động IEEE754 32-bit:

Biểu diễn số thực X= -0,2 về dạng số dấu phẩy động IEEE754 32-bit Giải: „

„

„

S = 1 vì đây là số âm E = e-127 = -3 Æ e = 127 -3 = 124(10) = 0111 1100(2)

Vậy: X = 1011 1110 0100 1100 1100 1100 1100 1100 Bài giảng Kiến trúc Máy tính

57

NKK-HUT

Bài giảng Kiến trúc Máy tính

Dải giá trị biểu diễn

Các bit của e bằng 0, các bit của m bằng 0, thì X = ± 0 x000 0000 0000 0000 0000 0000 0000 0000 Æ X = ± 0

„ „

„

„

58

NKK-HUT

Các qui ước đặc biệt „

Y = 1/32

Ta có: „

„

X = - 27.0625;

X = -0,2(10) = - 0.00110011...0011...(2) = = - 1.100110011..0011... x 2-3

2-127 đến 2+127 10-38 đến 10+38

Các bit của e bằng 1, các bit của m bằng 0, thì X = ± ∞ x111 1111 1000 0000 0000 0000 0000 0000 Æ X =± ∞ Các bit của e bằng 1, còn m có ít nhất một bit bằng 1, thì nó không biểu diễn cho số nào cả (NaN - not a number)

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

59

Bài giảng Kiến trúc Máy tính

60

15

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Dạng 64-bit „ „

„ „

Dạng 80-bit

S là bit dấu

„

e (11 bit): mã excess-1023 của phần mũ E Æ E = e – 1023 m (52 bit): phần lẻ của phần định trị M Giá trị số thực:

„

„ „

X = (-1)S*1.m * 2e-1023 „

e (15 bit): mã excess-16383 của phần mũ E Æ E = e – 16383 m (64 bit): phần lẻ của phần định trị M Giá trị số thực:

X = (-1)S*1.m * 2e-16383

Dải giá trị biểu diễn: 10-308 đến 10+308

Bài giảng Kiến trúc Máy tính

S là bit dấu

„

61

NKK-HUT

Dải giá trị biểu diễn: 10-4932 đến 10+4932

Bài giảng Kiến trúc Máy tính

62

NKK-HUT

3.Thực hiện phép toán số dấu phẩy động

Các khả năng tràn số „

„ „ „

X1 = M1 * RE1 X2 = M2 * RE2 Ta có „ „ „

„

X1 * X2 = (M1* M2) * RE1+E2 X1 / X2 = (M1 / M2) * RE1-E2 X1 ± X2 = (M1*RE1-E2 ± M2) * RE2 , với E2 ≥ E1

„

„

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

63

Tràn trên số mũ (Exponent Overflow): mũ dương vượt ra khỏi giá trị cực đại của số mũ dương có thể. (Æ ∞) Tràn dưới số mũ (Exponent Underflow): mũ âm vượt ra khỏi giá trị cực đại của số mũ âm có thể (Æ 0). Tràn trên phần định trị (Mantissa Overflow): cộng hai phần định trị có cùng dấu, kết quả bị nhớ ra ngoài bit cao nhất. Tràn dưới phần định trị (Mantissa Underflow): Khi hiệu chỉnh phần định trị, các số bị mất ở bên phải phần định trị. Bài giảng Kiến trúc Máy tính

64

16

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Phép cộng và phép trừ „

„ „ „

Thuật toán cộng/trừ số dấu phẩy động

Kiểm tra các số hạng có bằng 0 hay không Hiệu chỉnh phần định trị Cộng hoặc trừ phần định trị Chuẩn hoá kết quả

Bài giảng Kiến trúc Máy tính

65

NKK-HUT

Bài giảng Kiến trúc Máy tính

66

NKK-HUT

Thuật toán nhân số dấu phẩy động

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

Thuật toán chia số dấu phẩy động

67

Bài giảng Kiến trúc Máy tính

68

17

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Giải bài tập X = -27.0625(10) = 11011.0001(2) = 1.10110001 x 24 „

Hết chương 5

„

Ta có: „

S=1

„

E = e-127 = 4 Æ e = 127 + 4 = 131(10) = 1000 0011(2)

Vậy: X = 1100 0001 1101 1000 1000 0000 0000 0000

Y = 1/32(10) = 1.0 x 2-5 „

„

Ta có: „

S=0

„

E = e-127 = -5 Æ e = 127 -5 = 12210) = 0111 1010(2)

Vậy: X = 0011 1101 0000 0000 0000 0000 0000 0000

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

69

Bài giảng Kiến trúc Máy tính

70

18

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Kiến trúc máy tính

Nội dung học phần „

Chương 6 BỘ XỬ LÝ TRUNG TÂM

„ „ „

(Central Processing Unit - CPU)

„ „ „

Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội

5 September 2009

Bài giảng Kiến trúc Máy tính

„ „

1

NKK-HUT

Chương 1. Giới thiệu chung Chương 2. Cơ bản về logic số Chương 3. Tổng quan về hệ thống máy tính Chương 4. Kiến trúc tập lệnh Chương 5. Số học máy tính Chương 6. Bộ xử lý trung tâm Chương 7. Bộ nhớ máy tính Chương 8. Hệ thống vào-ra Chương 9. Máy tính song song

5 September 2009

Bài giảng Kiến trúc máy tính

2

NKK-HUT

6.1. Tổ chức của CPU

Nội dung

1. Cấu trúc cơ bản của CPU

6.1. Tổ chức của CPU 6.2. Thiết kế đơn vị điều khiển 6.3. Kỹ thuật đường ống lệnh 6.4. Cấu trúc bộ xử lý tiên tiến 6.5. Các kiến trúc song song mức lệnh 6.6. Bộ xử lý đa luồng và đa lõi

„

Nhiệm vụ của CPU: „

„

„

„

„

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

3

Nhận lệnh (Fetch Instruction): CPU đọc lệnh từ bộ nhớ. Giải mã lệnh (Decode Instruction): xác định thao tác mà lệnh yêu cầu. Nhận dữ liệu (Fetch Data): nhận dữ liệu từ bộ nhớ hoặc các cổng vào-ra. Xử lý dữ liệu (Process Data): thực hiện phép toán số học hay phép toán logic với các dữ liệu. Ghi dữ liệu (Write Data): ghi dữ liệu ra bộ nhớ hay cổng vào-ra

5 September 2009

Bài giảng Kiến trúc Máy tính

4

1

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Sơ đồ cấu trúc cơ bản của CPU

Các thành phần cơ bản của CPU „ „

„ „

„

5 September 2009

Bài giảng Kiến trúc Máy tính

5

NKK-HUT

Đơn vị điều khiển (Control Unit - CU) Đơn vị số học và logic (Arithmetic and Logic Unit - ALU) Tập thanh ghi (Register File - RF) Đơn vị nối ghép bus (Bus Interface Unit BIU) Bus bên trong (Internal Bus)

5 September 2009

Bài giảng Kiến trúc Máy tính

6

NKK-HUT

2. Đơn vị số học và logic „

Mô hình kết nối ALU

Chức năng: Thực hiện các phép toán số học và phép toán logic: „

„

5 September 2009

Số học: cộng, trừ, nhân, chia, tăng, giảm, đảo dấu Logic: AND, OR, XOR, NOT, phép dịch bit.

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

7

5 September 2009

Bài giảng Kiến trúc Máy tính

8

2

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

3. Đơn vị điều khiển „

Mô hình kết nối đơn vị điều khiển

Chức năng „

„

„

„ „

Điều khiển nhận lệnh từ bộ nhớ đưa vào thanh ghi lệnh Tăng nội dung của PC để trỏ sang lệnh kế tiếp Giải mã lệnh đã được nhận để xác định thao tác mà lệnh yêu cầu Phát ra các tín hiệu điều khiển thực hiện lệnh Nhận các tín hiệu yêu cầu từ bus hệ thống và đáp ứng với các yêu cầu đó.

5 September 2009

Bài giảng Kiến trúc Máy tính

9

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

10

NKK-HUT

Các tín hiệu đưa đến đơn vị điều khiển „

„

„

„

Các tín hiệu phát ra từ đơn vị điều khiển

Clock: tín hiệu nhịp từ mạch tạo dao động bên ngoài. Mã lệnh từ thanh ghi lệnh đưa đến để giải mã. Các cờ từ thanh ghi cờ cho biết trạng thái của CPU. Các tín hiệu yêu cầu từ bus điều khiển

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

„

Các tín hiệu điều khiển bên trong CPU: „ „

„

Các tín hiệu điều khiển bên ngoài CPU: „ „

11

Điều khiển các thanh ghi Điều khiển ALU

5 September 2009

Điều khiển bộ nhớ Điều khiển các mô-đun vào-ra

Bài giảng Kiến trúc Máy tính

12

3

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

2. Hoạt động của chu trình lệnh

Giản đồ trạng thái chu trình lệnh

Chu trình lệnh „ „ „ „ „ „

Nhận lệnh Giải mã lệnh Nhận toán hạng Thực hiện lệnh Cất toán hạng Ngắt

5 September 2009

Bài giảng Kiến trúc Máy tính

13

NKK-HUT

„ „

„

Bài giảng Kiến trúc Máy tính

14

NKK-HUT

Nhận lệnh „

5 September 2009

Sơ đồ mô tả quá trình nhận lệnh

CPU đưa địa chỉ của lệnh cần nhận từ bộ đếm chương trình PC ra bus địa chỉ CPU phát tín hiệu điều khiển đọc bộ nhớ Lệnh từ bộ nhớ được đặt lên bus dữ liệu và được CPU copy vào thanh ghi lệnh IR CPU tăng nội dung PC để trỏ sang lệnh kế tiếp

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

15

5 September 2009

Bài giảng Kiến trúc Máy tính

16

4

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Giải mã lệnh

„

„

„

Nhận dữ liệu

Lệnh từ thanh ghi lệnh IR được đưa đến đơn vị điều khiển Đơn vị điều khiển tiến hành giải mã lệnh để xác định thao tác phải thực hiện Giải mã lệnh xảy ra bên trong CPU

5 September 2009

Bài giảng Kiến trúc Máy tính

„

17

NKK-HUT

CPU đưa địa chỉ của toán hạng ra bus địa chỉ

„

CPU phát tín hiệu điều khiển đọc

„

Toán hạng được đọc vào CPU

„

Tương tự như nhận lệnh

5 September 2009

Bài giảng Kiến trúc Máy tính

18

NKK-HUT

Nhận dữ liệu gián tiếp „

CPU đưa địa chỉ ra bus địa chỉ

„

CPU phát tín hiệu điều khiển đọc

„

„

Sơ đồ tả nhận toán hạng gián tiếp

Nội dung ngăn nhớ được đọc vào CPU, đó chính là địa chỉ của toán hạng Địa chỉ này được CPU phát ra bus địa chỉ để tìm ra toán hạng

„

CPU phát tín hiệu điều khiển đọc

„

Toán hạng được đọc vào CPU

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

19

5 September 2009

Bài giảng Kiến trúc Máy tính

20

5

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Thực hiện lệnh „ „

Ghi toán hạng

Có nhiều dạng tuỳ thuộc vào lệnh Có thể là: „ „ „ „ „ „

5 September 2009

Đọc/Ghi bộ nhớ Vào/Ra Chuyển giữa các thanh ghi Thao tác số học/logic Chuyển điều khiển (rẽ nhánh) ...

Bài giảng Kiến trúc Máy tính

„

CPU đưa địa chỉ ra bus địa chỉ

„

CPU đưa dữ liệu cần ghi ra bus dữ liệu

„

CPU phát tín hiệu điều khiển ghi

„

21

NKK-HUT

Dữ liệu trên bus dữ liệu được copy đến vị trí xác định

5 September 2009

Bài giảng Kiến trúc Máy tính

22

NKK-HUT

Sơ đồ mô tả quá trình ghi toán hạng

Ngắt „

„

„ „

„

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

23

Nội dung của bộ đếm chương trình PC (địa chỉ trở về sau khi ngắt) được đưa ra bus dữ liệu CPU đưa địa chỉ (thường được lấy từ con trỏ ngăn xếp SP) ra bus địa chỉ CPU phát tín hiệu điều khiển ghi bộ nhớ Địa chỉ trở về trên bus dữ liệu được ghi ra vị trí xác định (ở ngăn xếp) Địa chỉ lệnh đầu tiên của chương trình con điều khiển ngắt được nạp vào PC

5 September 2009

Bài giảng Kiến trúc Máy tính

24

6

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Sơ đồ mô tả chu trình ngắt

6.2. Thiết kế đơn vị điều khiển „

„

5 September 2009

Bài giảng Kiến trúc Máy tính

25

NKK-HUT

Đơn vị điều khiển vi chương trình (Microprogrammed Control Unit) Đơn vị điều khiển nối kết cứng (Hardwired Control Unit)

5 September 2009

Bài giảng Kiến trúc Máy tính

26

NKK-HUT

Đơn vị điều khiển vi chương trình

Đơn vị điều khiển vi chương trình (tiếp) „

„

„

„

„ 5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

27

Bộ nhớ vi chương trình (ROM) lưu trữ các vi chương trình (microprogram) Một vi chương trình bao gồm các vi lệnh (microinstruction) Mỗi vi lệnh mã hoá cho một vi thao tác (microoperation) Để hoàn thành một lệnh cần thực hiện một hoặc một vài vi chương trình Tốc độ chậm

5 September 2009

Bài giảng Kiến trúc Máy tính

28

7

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Đơn vị điều khiển nối kết cứng

Đơn vị điều khiển nối kết cứng (tiếp) „

„ „

5 September 2009

„

29

6.3. Kỹ thuật đường ống lệnh (Instruction Pipelining)

NKK-HUT

„

Bài giảng Kiến trúc Máy tính

Sử dụng mạch cứng để giải mã và tạo các tín hiệu điều khiển thực hiện lệnh Tốc độ nhanh Đơn vị điều khiển phức tạp

5 September 2009

Bài giảng Kiến trúc Máy tính

30

NKK-HUT

Biểu đồ thời gian của đường ống lệnh

Chia chu trình lệnh thành các công đoạn và cho phép thực hiện gối lên nhau (như dây chuyền lắp ráp) Chẳng hạn có 6 công đoạn: „

Nhận lệnh

(Fetch Instruction - FI)

„

Giải mã lệnh

(Decode Instruction - DI)

„

Tính địa chỉ toán hạng (Calculate Operand Address-CO)

„

Nhận toán hạng

(Fetch Operands - FO)

„

Thực hiện lệnh

(Execute Instruction - EI)

„

Ghi toán hạng

(Write Operands - WO)

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

31

5 September 2009

Bài giảng Kiến trúc Máy tính

32

8

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Các Hazard (trở ngại) của đường ống lệnh „

„

„

6.4. Cấu trúc chung của các bộ xử lý tiên tiến

Hazard cấu trúc: do nhiều công đoạn dùng chung một tài nguyên Hazard dữ liệu: lệnh sau sử dụng dữ liệu kết quả của lệnh trước Hazard điều khiển: do rẽ nhánh gây ra

5 September 2009

Bài giảng Kiến trúc Máy tính

33

NKK-HUT

5 September 2009

„ „

34

NKK-HUT

Các đơn vị xử lý dữ liệu „

Bài giảng Kiến trúc Máy tính

Bộ nhớ cache

Các đơn vị số nguyên Các đơn vị số dấu phẩy động Các đơn vị chức năng đặc biệt „ „ „

„

Được tích hợp trên chip vi xử lý

„

Bao gồm hai mức cache: „

Đơn vị xử lý dữ liệu âm thanh Đơn vị xử lý dữ liệu hình ảnh Đơn vị xử lý dữ liệu vector

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

„

Cache lệnh

„

Cache dữ liệu

Æ giải quyết xung đột khi nhận lệnh và dữ liệu „

5 September 2009

Cache L1 gồm hai phần tách rời:

35

Cache L2: chung cho lệnh và dữ liệu

5 September 2009

Bài giảng Kiến trúc Máy tính

36

9

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Đơn vị quản lý bộ nhớ

6.5. Các kiến trúc song song mức lệnh „

„ „ „

Chuyển đổi địa chỉ ảo thành địa chỉ vật lý Cung cấp cơ chế phân trang/phân đoạn Cung cấp chế độ bảo vệ bộ nhớ

5 September 2009

Bài giảng Kiến trúc Máy tính

„ „

37

NKK-HUT

Siêu đường ống (Superpipeline & Hyperpipeline) Siêu vô hướng (Superscalar) VLIW (Very Long Instruction Word)

5 September 2009

Bài giảng Kiến trúc Máy tính

38

Bài giảng Kiến trúc Máy tính

40

NKK-HUT

Superpipeline

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

Superscalar

39

5 September 2009

10

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

VLIW (Very Long Instruction Word)

6.6. Bộ xử lý đa lõi (multicores) „

Thay đổi của bộ xử lý: „ „ „ „ „

5 September 2009

Bài giảng Kiến trúc Máy tính

41

NKK-HUT

5 September 2009

Tuần tự Pipeline Siêu vô hướng Đa luồng Đa lõi

Bài giảng Kiến trúc Máy tính

42

NKK-HUT

Các dạng tổ chức bộ xử lý đa lõi

Intel - Core Duo (1)

„

2006 Two x86 superscalar, shared L2 cache Dedicated L1 cache per core

„

Thermal control unit per core

„ „

„

„ „ „

„

„

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

43

Manages chip heat dissipation Maximize performance within constraints Improved ergonomics

Advanced Programmable Interrupt Controlled (APIC) „

5 September 2009

32KB instruction and 32KB data

„

5 September 2009

Inter-process interrupts between cores Routes interrupts to appropriate core Includes timer so OS can interrupt core Bài giảng Kiến trúc Máy tính

44

11

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Intel - Core Duo (2) „

Power Management Logic „ „ „

„

Monitors thermal conditions and CPU activity Adjusts voltage and power consumption Can switch individual logic subsystems

2MB shared L2 cache „ „ „

Dynamic allocation MESI support for L1 caches Extended to support multiple Core Duo in SMP „

„

Intel Core Duo (3)

L2 data shared between local cores or external

Bus interface

5 September 2009

Bài giảng Kiến trúc Máy tính

45

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

46

Bài giảng Kiến trúc Máy tính

48

NKK-HUT

Intel Core i7

Intel x86 Multicore Organization - Core i7 „ „ „ „ „

November 2008 Four x86 SMT processors Dedicated L2, shared L3 cache Speculative pre-fetch for caches On chip DDR3 memory controller „ „

„

Three 8 byte channels (192 bits) giving 32GB/s No front side bus

QuickPath Interconnection „ „ „ „ „

5 September 2009

Cache coherent point-to-point link High speed communications between processor chips 6.4G transfers per second, 16 bits per transfer Dedicated bi-directional pairs Total bandwidth 25.6GB/s Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

47

5 September 2009

12

Bài giảng Kiến trúc máy tính

ARM11 MPCore Block Diagram

NKK-HUT

NKK-HUT

Hết chương 6

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

49

5 September 2009

Bài giảng Kiến trúc Máy tính

50

13

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Kiến trúc máy tính

Nội dung học phần „ „

Chương 7 BỘ NHỚ MÁY TÍNH

„ „ „ „ „

Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội

5 September 2009

Bài giảng Kiến trúc Máy tính

„ „

1

NKK-HUT

Chương 1. Giới thiệu chung Chương 2. Cơ bản về logic số Chương 3. Tổng quan về hệ thống máy tính Chương 4. Kiến trúc tập lệnh Chương 5. Số học máy tính Chương 6. Bộ xử lý trung tâm Chương 7. Bộ nhớ máy tính Chương 8. Hệ thống vào-ra Chương 9. Máy tính song song

5 September 2009

Bài giảng Kiến trúc máy tính

2

NKK-HUT

7.1. Tổng quan về hệ thống nhớ

Nội dung của chương 7

1. Các đặc trưng của hệ thống nhớ „ Vị trí

7.1. Tổng quan về hệ thống nhớ 7.2. Bộ nhớ bán dẫn 7.3. Bộ nhớ chính 7.4. Bộ nhớ cache 7.5. Bộ nhớ ngoài 7.6. Bộ nhớ ảo 7.7. Hệ thống nhớ trên máy tính cá nhân

„

Bên trong CPU:

„

Bộ nhớ trong:

„

„ „

„

„

Bài giảng Kiến trúc Máy tính

„

Nguyễn Kim Khánh - ĐHBKHN

3

bộ nhớ chính bộ nhớ cache

Bộ nhớ ngoài: các thiết bị nhớ

Dung lượng „

5 September 2009

tập thanh ghi

Độ dài từ nhớ (tính bằng bit) Số lượng từ nhớ

5 September 2009

Bài giảng Kiến trúc Máy tính

4

1

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Các đặc trưng của hệ thống nhớ (tiếp) „

Đơn vị truyền „ „

„

Các đặc trưng của hệ thống nhớ (tiếp) „

Từ nhớ Khối nhớ

„ „

Phương pháp truy nhập „ „ „ „

„

Truy nhập tuần tự (băng từ) Truy nhập trực tiếp (các loại đĩa) Truy nhập ngẫu nhiên (bộ nhớ bán dẫn) Truy nhập liên kết (cache)

5 September 2009

Hiệu năng (performance)

Bài giảng Kiến trúc Máy tính

„

Kiểu vật lý „ „ „

5

NKK-HUT

Thời gian truy nhập Chu kỳ nhớ Tốc độ truyền

5 September 2009

Bộ nhớ bán dẫn Bộ nhớ từ Bộ nhớ quang

Bài giảng Kiến trúc Máy tính

6

NKK-HUT

Các đặc trưng của hệ thống nhớ (tiếp) „

Các đặc tính vật lý „

„

„

2. Phân cấp hệ thống nhớ

Khả biến / Không khả biến (volatile / nonvolatile) Xoá được / không xoá được

Tổ chức

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

7

5 September 2009

Bài giảng Kiến trúc Máy tính

8

2

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Ví dụ hệ thống nhớ thông dụng

3. Phát hiện và hiệu chỉnh lỗi trong bộ nhớ „

„ „

„

Nguyên tắc chung: cần tạo ra và lưu trữ thêm thông tin dư thừa. Từ dữ liệu cần ghi vào bộ nhớ: m bit Cần tạo ra và lưu trữ từ mã: k bit Æ Lưu trữ (m+k) bit Khi đọc ra có các khả năng sau: „ „

Từ trái sang phải: „ dung lượng tăng dần „ tốc độ giảm dần „ giá thành/1bit giảm dần 5 September 2009

Bài giảng Kiến trúc Máy tính

„

9

NKK-HUT

5 September 2009

Không phát hiện thấy dữ liệu lỗi Phát hiện thấy dữ liệu lỗi và có thể hiệu chỉnh dữ liệu thành đúng Phát hiện thấy lỗi nhưng không có khả năng hiệu chỉnh Æ cần phát ra tín hiệu báo lỗi. Bài giảng Kiến trúc Máy tính

10

NKK-HUT

Sơ đồ phát hiện và hiệu chỉnh lỗi

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

Ví dụ mã sửa lỗi Hamming (m=4, k=3)

11

5 September 2009

Bài giảng Kiến trúc Máy tính

12

3

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

7.2. Bộ nhớ bán dẫn

ROM (Read Only Memory)

1. Phân loại Kiểu bộ nhớ Read Only Memory (ROM) Programmable ROM (PROM) Erasable PROM (EPROM) Electrically Erasable PROM (EEPROM)

Tiêu chuẩn Bộ nhớ chỉ đọc

Bộ nhớ hầu như chỉ đọc

Flash memory Random Access Memory (RAM)

Bộ nhớ đọc-ghi

5 September 2009

Khả năng xoá

Không xoá được bằng tia cực tím, cả chip bằng điện, mức từng byte

Cơ chế ghi

„

Mặt nạ

„ „

Bằng điện

„

Không khả biến

„

bằng điện, mức từng byte

Bằng điện

Khả biến

Bài giảng Kiến trúc Máy tính

13

5 September 2009

14

Các kiểu ROM (tiếp)

ROM mặt nạ: „ „

thông tin được ghi khi sản xuất rất đắt

„

„

Cần thiết bị chuyên dụng để ghi bằng chương trình Æ chỉ ghi được một lần

„

„

Có thể ghi theo từng byte Xóa bằng điện

Flash memory (Bộ nhớ cực nhanh) „

EPROM (Erasable PROM) „

EEPROM (Electrically Erasable PROM) „

PROM (Programmable ROM) „

„

Bài giảng Kiến trúc Máy tính

NKK-HUT

Các kiểu ROM

„

Thư viện các chương trình con Các chương trình điều khiển hệ thống (BIOS) Các bảng chức năng Vi chương trình

bằng điện, từng khối

NKK-HUT

„

Bộ nhớ không khả biến Lưu trữ các thông tin sau:

„

Tính khả biến

„

Ghi theo khối Xóa bằng điện

Cần thiết bị chuyên dụng để ghi bằng chương trình Æ ghi được nhiều lần Trước khi ghi lại, xóa bằng tia cực tím

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

15

5 September 2009

Bài giảng Kiến trúc Máy tính

16

4

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

RAM (Random Access Memory) „ „ „ „

SRAM (Static) – RAM tĩnh

Bộ nhớ đọc-ghi (Read/Write Memory) Khả biến Lưu trữ thông tin tạm thời Có hai loại: SRAM và DRAM (Static and Dynamic)

5 September 2009

Bài giảng Kiến trúc Máy tính

Các bit được lưu trữ bằng các Flip-Flop Æ thông tin ổn định „ Cấu trúc phức tạp „ Dung lượng chip nhỏ „ Tốc độ nhanh „ Đắt tiền „ Dùng làm bộ nhớ cache „

17

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

18

NKK-HUT

DRAM (Dynamic) – RAM động „

„ „ „ „ „

Các DRAM tiên tiến

Các bit được lưu trữ trên tụ điện Æ cần phải có mạch làm tươi Cấu trúc đơn giản Dung lượng lớn Tốc độ chậm hơn Rẻ tiền hơn Dùng làm bộ nhớ chính

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

„ „ „

„ „

19

Enhanced DRAM Cache DRAM Synchronous DRAM (SDRAM): làm việc được đồng bộ bởi xung clock DDR-SDRAM (Double Data Rate SDRAM) Rambus DRAM (RDRAM)

5 September 2009

Bài giảng Kiến trúc Máy tính

20

5

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

2. Tổ chức của chip nhớ ƒ Sơ đồ cơ bản của chip nhớ

Các tín hiệu của chip nhớ „ „

„ „

Các đường địa chỉ: An-1 ÷ A0 Æ có 2n từ nhớ Các đường dữ liệu: Dm-1 ÷ D0 Æ độ dài từ nhớ = m bit Dung lượng chip nhớ = 2n x m bit Các đường điều khiển: Tín hiệu chọn chip CS (Chip Select) Tín hiệu điều khiển đọc OE (Output Enable) „ Tín hiệu điều khiển ghi WE (Write Enable) (Các tín hiệu điều khiển thường tích cực với mức 0) „ „

5 September 2009

Bài giảng Kiến trúc Máy tính

21

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

22

NKK-HUT

Tổ chức bộ nhớ một chiều

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

Tổ chức bộ nhớ hai chiều

23

5 September 2009

Bài giảng Kiến trúc Máy tính

24

6

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Tổ chức bộ nhớ hai chiều „

Có n đường địa chỉ: n = n1 + n2 „ „

„

2n1 hàng, mỗi hàng có 2n2 từ nhớ,

Có m đường dữ liệu: „

„

Tổ chức của DRAM

mỗi từ nhớ có độ dài m-bit.

Dung lượng của chip nhớ: [2n1 x (2n2 x m)] bit = (2n1+n2 x m) bit = (2n x m) bit.

„

Hoạt động giải mã địa chỉ: „ „

5 September 2009

Bước 1: bộ giải mã hàng chọn 1 trong 2n1 hàng. Bước 2: bộ giải mã cột chọn 1 trong 2n2 từ nhớ (cột) của hàng đã được chọn. Bài giảng Kiến trúc Máy tính

25

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

26

Bài giảng Kiến trúc Máy tính

28

NKK-HUT

Tổ chức của DRAM „

„

„

„

Chip nhớ

Dùng n đường địa chỉ dồn kênh Æ cho phép truyền 2n bit địa chỉ Tín hiệu chọn địa chỉ hàng RAS (Row Address Select) Tín hiệu chọn địa chỉ cột CAS (Column Address Select) Dung lượng của DRAM= 22n x m bit

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

27

5 September 2009

7

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

3. Thiết kế mô-đun nhớ bán dẫn „ „

Tăng độ dài từ nhớ VD1: „ Cho chip nhớ SRAM 4K x 4 bit „ Thiết kế mô-đun nhớ 4K x 8 bit Giải: „ Dung lượng chip nhớ = 212 x 4 bit „ chip nhớ có:

2n x

Dung lượng chip nhớ m bit Cần thiết kế để tăng dung lượng: „ „ „

Thiết kế tăng độ dài từ nhớ Thiết kế tăng số lượng từ nhớ Thiết kế kết hợp

„ „

„

mô-đun nhớ cần có: „ „

5 September 2009

Bài giảng Kiến trúc Máy tính

29

NKK-HUT

12 chân địa chỉ 4 chân dữ liệu

5 September 2009

12 chân địa chỉ 8 chân dữ liệu Bài giảng Kiến trúc Máy tính

30

NKK-HUT

Ví dụ tăng độ dài từ nhớ

Bài toán tăng độ dài từ nhớ tổng quát

„ „ „

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

31

Cho chip nhớ 2n x mbit Thiết kế mô-đun nhớ 2n x (k.m) bit Dùng k chip nhớ

5 September 2009

Bài giảng Kiến trúc Máy tính

32

8

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Tăng số lượng từ nhớ

Tăng số lượng từ nhớ

VD2: „ Cho chip nhớ SRAM 4K x 8 bit „ Thiết kế mô-đun nhớ 8K x 8 bit Giải: „ Dung lượng chip nhớ = 212 x 8 bit „ chip nhớ có: „ „

„

12 chân địa chỉ 8 chân dữ liệu

Dung lượng mô-đun nhớ = 213 x 8 bit „ „

13 chân địa chỉ 8 chân dữ liệu

5 September 2009

Bài giảng Kiến trúc Máy tính

33

NKK-HUT

G

A

0

0

0

1

0

1

1

0

1

x

1

1

5 September 2009

Y0 Y1

Bài giảng Kiến trúc Máy tính

34

NKK-HUT

Bài tập

Bộ giải mã 2Æ4

1. Tăng số lượng từ gấp 4 lần: „ „

Cho chip nhớ SRAM 4K x 8 bit Thiết kế mô-đun nhớ 16K x 8 bit

2. Tăng số lượng từ gấp 8 lần: „ „

Cho chip nhớ SRAM 4K x 8 bit Thiết kế mô-đun nhớ 32K x 8 bit

3. Thiết kế kết hợp: „ „ 5 September 2009

G

B

A

Y0

Y1

Y2

Y3

0

0

0

0

1

1

1

0

0

1

1

0

1

1

0

1

0

1

1

0

1

0

1

1

1

1

1

0

1

x

x

1

1

1

1

Cho chip nhớ SRAM 4K x 4 bit Thiết kế mô-đun nhớ 8K x 8 bit Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

35

5 September 2009

Bài giảng Kiến trúc Máy tính

36

9

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

7.3. Bộ nhớ chính

2. Tổ chức bộ nhớ đan xen (interleaved memory)

1. Các đặc trưng cơ bản „ Chứa các chương trình đang thực hiện và các dữ liệu đang được sử dụng „ Tồn tại trên mọi hệ thống máy tính „ Bao gồm các ngăn nhớ được đánh địa chỉ trực tiếp bởi CPU „ Dung lượng của bộ nhớ chính nhỏ hơn không gian địa chỉ bộ nhớ mà CPU quản lý. „ Việc quản lý logic bộ nhớ chính tuỳ thuộc vào hệ điều hành 5 September 2009

Bài giảng Kiến trúc Máy tính

Độ rộng của bus dữ liệu để trao đổi với bộ nhớ: m = 8, 16, 32, 64,128 ... bit „ Các ngăn nhớ được tổ chức theo byte Æ tổ chức bộ nhớ vật lý khác nhau „

37

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

38

NKK-HUT

m=8bit Æ một băng nhớ tuyến tính

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

m = 16bit Æ hai băng nhớ đan xen

39

5 September 2009

Bài giảng Kiến trúc Máy tính

40

10

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

m = 32bit Æ bốn băng nhớ đan xen

5 September 2009

Bài giảng Kiến trúc Máy tính

m = 64bit Æ tám băng nhớ đan xen

41

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

42

NKK-HUT

7.4. Bộ nhớ đệm nhanh (cache memory)

Nguyên tắc chung của cache (tiếp)

1. Nguyên tắc chung của cache „ Nguyên lý cục bộ hoá tham chiếu bộ nhớ: Trong một khoảng thời gian đủ nhỏ CPU thường chỉ tham chiếu các thông tin trong một khối nhớ cục bộ „ Ví dụ: „ „ „

5 September 2009

„ „

„

Cache có tốc độ nhanh hơn bộ nhớ chính Cache được đặt giữa CPU và bộ nhớ chính nhằm tăng tốc độ CPU truy cập bộ nhớ Cache có thể được đặt trên chip CPU

Cấu trúc chương trình tuần tự Vòng lặp có thân nhỏ Cấu trúc dữ liệu mảng Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

43

5 September 2009

Bài giảng Kiến trúc Máy tính

44

11

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Ví dụ về thao tác của cache „ „ „

„

„

Cấu trúc chung của cache / bộ nhớ chính

CPU yêu cầu nội dung của ngăn nhớ CPU kiểm tra trên cache với dữ liệu này Nếu có, CPU nhận dữ liệu từ cache (nhanh) Nếu không có, đọc Block nhớ chứa dữ liệu từ bộ nhớ chính vào cache Tiếp đó chuyển dữ liệu từ cache vào CPU

5 September 2009

Bài giảng Kiến trúc Máy tính

45

NKK-HUT

5 September 2009

„

46

NKK-HUT

Cấu trúc chung của cache / bộ nhớ chính (tiếp) „

Bài giảng Kiến trúc Máy tính

Cấu trúc chung của cache / bộ nhớ chính (tiếp) „

Bộ nhớ chính có 2N byte nhớ Bộ nhớ chính và cache được chia thành các khối có kích thước bằng nhau „

Bộ nhớ chính: B0, B1, B2, ... , Bp-1 (p Blocks)

„

Bộ nhớ cache: L0, L1, L2, ... , Lm-1 (m Lines)

„

Kích thước của Block = 8,16,32,64,128 byte

„

„

Một số Block của bộ nhớ chính được nạp vào các Line của cache. Nội dung Tag (thẻ nhớ) cho biết Block nào của bộ nhớ chính hiện đang được chứa ở Line đó. Khi CPU truy nhập (đọc/ghi) một từ nhớ, có hai khả năng xảy ra: „ „

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

47

Từ nhớ đó có trong cache (cache hit) Từ nhớ đó không có trong cache (cache miss).

5 September 2009

Bài giảng Kiến trúc Máy tính

48

12

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

2. Các phương pháp ánh xạ

„

„

„

Ánh xạ trực tiếp „

(Chính là các phương pháp tổ chức bộ nhớ cache) Ánh xạ trực tiếp (Direct mapping) Ánh xạ liên kết toàn phần (Fully associative mapping) Ánh xạ liên kết tập hợp (Set associative mapping)

Mỗi Block của bộ nhớ chính chỉ có thể được nạp vào một Line của cache: B0 Æ L0 B1 Æ L1 .... Bm-1 Æ Lm-1 Bm Æ L0 Bm+1 Æ L1 ....

„ „ „ „ „ „ „

„

Tổng quát Bj chỉ có thể nạp vào L j mod m m là số Line của cache.

„ „

5 September 2009

Bài giảng Kiến trúc Máy tính

49

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

50

NKK-HUT

Minh hoạ ánh xạ trực tiếp

Đặc điểm của ánh xạ trực tiếp „

Mỗi một địa chỉ N bit của bộ nhớ chính gồm ba trường: „

„

„

„ „ 5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

51

Trường Word gồm W bit xác định một từ nhớ trong Block hay Line: 2W = kích thước của Block hay Line Trường Line gồm L bit xác định một trong số các Line trong cache: 2L = số Line trong cache = m Trường Tag gồm T bit: T = N - (W+L)

Bộ so sánh đơn giản Xác suất cache hit thấp

5 September 2009

Bài giảng Kiến trúc Máy tính

52

13

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Ánh xạ liên kết toàn phần „

„

Mỗi Block có thể nạp vào bất kỳ Line nào của cache. Địa chỉ của bộ nhớ chính bao gồm hai trường: „

„

„

Minh hoạ ánh xạ liên kết toàn phần

Trường Word giống như trường hợp ở trên. Trường Tag dùng để xác định Block của bộ nhớ chính.

Tag xác định Block đang nằm ở Line đó

5 September 2009

Bài giảng Kiến trúc Máy tính

53

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

54

NKK-HUT

Đặc điểm của ánh xạ liên kết toàn phần

Ánh xạ liên kết tập hợp „

„

„ „

„

So sánh đồng thời với tất cả các Tag Æ mất nhiều thời gian Xác suất cache hit cao. Bộ so sánh phức tạp.

„

Cache đươc chia thành các Tập (Set) Mỗi một Set chứa một số Line Ví dụ: „

„

Ánh xạ theo nguyên tắc sau: „ „ „ „

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

55

4 Line/Set Æ 4-way associative mapping

5 September 2009

B0 Æ S0 B1 Æ S1 B2 Æ S2 .......

Bài giảng Kiến trúc Máy tính

56

14

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Minh hoạ ánh xạ liên kết tập hợp

Đặc điểm của ánh xạ liên kết tập hợp „ „

„ „ „

5 September 2009

Bài giảng Kiến trúc Máy tính

57

NKK-HUT

Kích thước Block = 2W Word Trường Set có S bit dùng để xác định một trong số V = 2S Set Trường Tag có T bit: T = N - (W+S) Tổng quát cho cả hai phương pháp trên Thông thường 2,4,8,16Lines/Set

5 September 2009

Bài giảng Kiến trúc Máy tính

58

NKK-HUT

Ví dụ về ánh xạ địa chỉ „ „ „ „

Với ánh xạ trực tiếp „

Không gian địa chỉ bộ nhớ chính = 4GB Dung lượng bộ nhớ cache là 256KB Kích thước Line (Block) = 32byte. Xác định số bit của các trường địa chỉ cho ba trường hợp tổ chức: „ „ „

5 September 2009

„ „

„

„

Ánh xạ trực tiếp Ánh xạ liên kết toàn phần Ánh xạ liên kết tập hợp 4 đường Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

59

Bộ nhớ chính = 4GB = 232 byte Æ N = 32 bit Cache = 256 KB = 218 byte. Line = 32 byte = 25 byte Æ W = 5 bit

Số Line trong cache = 218/ 25 = 213 Line Æ L = 13 bit T = 32 - (13 + 5) = 14 bit

5 September 2009

Bài giảng Kiến trúc Máy tính

60

15

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Với ánh xạ liên kết toàn phần

Với ánh xạ liên kết tập hợp 4 đường Bộ nhớ chính = 4GB = 232 byte Æ N = 32 bit „ Line = 32 byte = 25 byte Æ W = 5 bit „ Số Line trong cache = 218/ 25 = 213 Line „ Một Set có 4 Line = 22 Line Æ số Set trong cache = 213/ 22 = 211 Set Æ S = 11 bit „ Số bit của trường Tag sẽ là: T = 32 - (11 + 5) = 16 bit „

„ „ „

Bộ nhớ chính = 4GB = 232 byte Æ N = 32 bit Line = 32 byte = 25 byte Æ W = 5 bit Số bit của trường Tag sẽ là: T = 32 - 5 = 27 bit

5 September 2009

Bài giảng Kiến trúc Máy tính

61

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

62

NKK-HUT

Bài tập

3. Thuật giải thay thế (1): Ánh xạ trực tiếp

Giả thiết rằng máy tính có 128KB cache tổ chức theo kiểu ánh xạ liên kết tập hợp 4-line. Cache có tất cả là 1024 Set từ S0 đến S1023. Địa chỉ bộ nhớ chính là 32-bit và đánh địa chỉ cho từng byte.

„ „

„

a) Tính số bit cho các trường địa chỉ khi truy nhập cache ?

Không phải lựa chọn Mỗi Block chỉ ánh xạ vào một Line xác định Thay thế Block ở Line đó

b) Xác định byte nhớ có địa chỉ 003D02AF(16) được ánh xạ vào Set nào của cache ?

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

63

5 September 2009

Bài giảng Kiến trúc Máy tính

64

16

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Thuật giải thay thế (2): Ánh xạ liên kết „

Được thực hiện bằng phần cứng (nhanh)

„

Random: Thay thế ngẫu nhiên

„

„

„

„

4. Phương pháp ghi dữ liệu khi cache hit „

FIFO (First In First Out): Thay thế Block nào nằm lâu nhất ở trong Set đó LFU (Least Frequently Used): Thay thế Block nào trong Set có số lần truy nhập ít nhất trong cùng một khoảng thời gian

„

LRU (Least Recently Used): Thay thế Block ở trong Set tương ứng có thời gian lâu nhất không được tham chiếu tới.

Ghi xuyên qua (Write-through): „

ghi cả cache và cả bộ nhớ chính

„

tốc độ chậm

Ghi trả sau (Write-back): „

chỉ ghi ra cache

„

tốc độ nhanh

„

khi Block trong cache bị thay thế cần phải ghi trả cả Block về bộ nhớ chính

Tối ưu nhất: LRU

5 September 2009

Bài giảng Kiến trúc Máy tính

65

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

66

NKK-HUT

5. Cache trên các bộ xử lý Intel „ „

80486: 8KB cache L1 trên chip Pentium: có hai cache L1 trên chip „ „

„

Sơ đồ Pentium 4

Cache lệnh = 8KB Cache dữ liệu = 8KB

Pentium 4 (2000): hai mức cache L1 và L2 trên chip „

Cache L1: „ „ „

„

cache L2 „ „ „

5 September 2009

mỗi cache 8KB Kích thước Line = 64 byte ánh xạ liên kết tập hợp 4 đường 256KB Kích thước Line = 128 byte ánh xạ liên kết tập hợp 8 đường Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

67

5 September 2009

Bài giảng Kiến trúc Máy tính

68

17

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

PowerPC G4 (dùng cho Power Mac)

7.5. Bộ nhớ ngoài 1. Các kiểu bộ nhớ ngoài „ Băng từ „ Đĩa từ „ Đĩa quang „ Flash Disk

5 September 2009

Bài giảng Kiến trúc Máy tính

69

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

70

NKK-HUT

2. Đĩa từ

Các đặc tính đĩa từ „ „ „ „ „

Đầu từ cố định hay đầu từ di động Đĩa cố định hay thay đổi Một mặt hay hai mặt Một đĩa hay nhiều đĩa Cơ chế đầu từ „ „

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

71

5 September 2009

Tiếp xúc (đĩa mềm) Không tiếp xúc

Bài giảng Kiến trúc Máy tính

72

18

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Nhiều đĩa

5 September 2009

Cylinders

Bài giảng Kiến trúc Máy tính

73

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

74

NKK-HUT

Đĩa mềm „ „ „ „

Đĩa cứng „

8”, 5.25”, 3.5” Dung lượng nhỏ: chỉ tới 1.44Mbyte Tốc độ chậm Hiện nay không sản xuất nữa

„ „

Một hoặc nhiều đĩa Thông dụng Dung lượng tăng lên rất nhanh „ „ „

„ „

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

75

1993: 200MB 2003: 30GB, 40GB 2009: 160GB, 320GB

Tốc độ đọc/ghi nhanh Rẻ tiền

5 September 2009

Bài giảng Kiến trúc Máy tính

76

19

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

RAID

Đặc điểm của RAID „

„ „ „

Redundant Array of Inexpensive Disks Redundant Array of Independent Disks Hệ thống nhớ dung lượng lớn

„

„

„

5 September 2009

Bài giảng Kiến trúc Máy tính

77

NKK-HUT

Tập các đĩa cứng vật lý được OS coi như một ổ logic duy nhất Æ dung lượng lớn Dữ liệu được lưu trữ phân tán trên các ổ đĩa vật lý Æ truy cập song song (nhanh) Có thể sử dụng dung lượng dư thừa để lưu trữ các thông tin kiểm tra chẵn lẻ, cho phép khôi phục lại thông tin trong trường hợp đĩa bị hỏng Æ an toàn thông tin 7 loại phổ biến (RAID 0 – 6)

5 September 2009

Bài giảng Kiến trúc Máy tính

78

Bài giảng Kiến trúc Máy tính

80

NKK-HUT

RAID 0, 1, 2

5 September 2009

RAID 3 & 4

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

79

5 September 2009

20

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

RAID 5 & 6

5 September 2009

Ánh xạ dữ liệu của RAID 0

Bài giảng Kiến trúc Máy tính

81

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

82

NKK-HUT

3. Đĩa quang „ „ „ „ „

CD-ROM (Compact Disk ROM) CD-R (Recordable CD) CD-RW (Rewriteable CD)

„

„

„ 5 September 2009

„

Digital Video Disk: chỉ dùng trên ổ đĩa xem video „ Digital Versatile Disk: ổ trên máy tính „ Ghi một hoặc hai mặt „ Một hoặc hai lớp trên một mặt „ Thông dụng: 4,7GB/lớp

Ổ CD-ROM Ổ CD-Writer: Ghi một phiên hoặc ghi nhiều phiên Ổ CD-RW

Tốc độ đọc cơ sở 150KByte/s. Tốc độ bội, ví dụ: 48x, 52x,... Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

DVD „

Dung lượng thông dụng 650MB Ổ đĩa CD: „

„

3. Đĩa quang (tiếp)

83

5 September 2009

Bài giảng Kiến trúc Máy tính

84

21

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

4. Flash Disk

7.6. Bộ nhớ ảo (Virtual Memory) „

„

Thường kết nối qua cổng USB

„

Không phải dạng đĩa

„

Bộ nhớ bán dẫn cực nhanh (flash memory)

„

Dung lượng tăng nhanh

„

Thuận tiện

„

Khái niệm bộ nhớ ảo: gồm bộ nhớ chính và bộ nhớ ngoài mà được CPU coi như là một bộ nhớ duy nhất (bộ nhớ chính). Các kỹ thuật thực hiện bộ nhớ ảo: „

„

5 September 2009

Bài giảng Kiến trúc Máy tính

85

NKK-HUT

5 September 2009

Kỹ thuật phân trang: Chia không gian địa chỉ bộ nhớ thành các trang nhớ có kích thước bằng nhau và nằm liền kề nhau Thông dụng: kích thước trang = 4KBytes Kỹ thuật phân đoạn: Chia không gian nhớ thành các đoạn nhớ có kích thước thay đổi, các đoạn nhớ có thể gối lên nhau. Bài giảng Kiến trúc Máy tính

86

NKK-HUT

Phân trang „

„ „

„

„

„

Cấp phát các khung trang

Phân chia bộ nhớ thành các phần có kích thước bằng nhau gọi là các khung trang Chia chương trình (tiến trình) thành các trang Cấp phát số hiệu khung trang yêu cầu cho tiến trình HĐH duy trì danh sách các khung trang nhớ trống Tiến trình không yêu cầu các khung trang liên tiếp Sử dụng bảng trang để quản lý

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

87

5 September 2009

Bài giảng Kiến trúc Máy tính

88

22

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Địa chỉ logic và địa chỉ vật lý của phân trang

Nguyên tắc làm việc của bộ nhớ ảo phân trang „

Phân trang theo yêu cầu „

„

„

Lỗi trang „ „ „

„

5 September 2009

Bài giảng Kiến trúc Máy tính

89

NKK-HUT

Không yêu cầu tất cả các trang của tiến trình nằm trong bộ nhớ Chỉ nạp vào bộ nhớ những trang được yêu cầu Trang được yêu cầu không có trong bộ nhớ HĐH cần hoán đổi trang yêu cầu vào Có thể cần hoán đổi một trang nào đó ra để lấy chỗ Cần chọn trang để đưa ra

5 September 2009

Bài giảng Kiến trúc Máy tính

90

NKK-HUT

Thất bại „ „

„

„ „

Lợi ích

Quá nhiều tiến trình trong bộ nhớ quá nhỏ HĐH tiêu tốn toàn bộ thời gian cho việc hoán đổi Có ít hoặc không có công việc nào được thực hiện Đĩa luôn luôn sáng Giải pháp: „ „ „

5 September 2009

„

„ „

„ „

Thuật toán thay trang Giảm bớt số tiến trình đang chạy Thêm bộ nhớ Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

91

Không cần toàn bộ tiến trình nằm trong bộ nhớ để chạy Có thể hoán đổi trang được yêu cầu Như vậy có thể chạy những tiến trình lớn hơn tổng bộ nhớ sẵn dùng Bộ nhớ chính được gọi là bộ nhớ thực Người dùng cảm giác bộ nhớ lớn hơn bộ nhớ thực

5 September 2009

Bài giảng Kiến trúc Máy tính

92

23

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Cấu trúc bảng trang

Translation Lookaside Buffer „

Mỗi tham chiếu bộ nhớ ảo gây ra hai truy cập bộ nhớ vật lý „ „

„

Sử dụng cache đặc biệt cho bảng trang „

5 September 2009

Bài giảng Kiến trúc Máy tính

93

NKK-HUT

Tìm điểm vào của bảng trang Tìm dữ liệu

5 September 2009

TLB

Bài giảng Kiến trúc Máy tính

94

NKK-HUT

Hoạt động của TLB

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

Hoạt động của TLB và Cache

95

5 September 2009

Bài giảng Kiến trúc Máy tính

96

24

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

7.7. Hệ thống nhớ trên PC hiện nay „

„

Hệ thống nhớ trên PC (tiếp)

Bộ nhớ cache: tích hợp trên chip vi xử lý Bộ nhớ chính: Tồn tại dưới dạng các mô-đun nhớ RAM „

„

„

5 September 2009

„ „ „

„

30 chân: 8 đường dữ liệu 72 chân: 32 đường dữ liệu

„ „

64 đường dữ liệu

„

RIMM – Rambus DRAM Bài giảng Kiến trúc Máy tính

„ 97

Chương trình POST (Power On Self Test) Chương trình CMOS Setup Chương trình Bootstrap loader Các trình điều khiển vào-ra cơ bản (BIOS)

CMOS RAM: „

DIMM – Dual Inline Memory Module „

ROM BIOS chứa các chương trình sau: „

SIMM – Single Inline Memory Module „

„

„

Chứa thông tin cấu hình hệ thống Đồng hồ hệ thống Có pin nuôi riêng

Video RAM: quản lý thông tin của màn hình Các loại bộ nhớ ngoài

5 September 2009

Bài giảng Kiến trúc Máy tính

98

NKK-HUT

Hết chương 7

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

99

25

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Kiến trúc máy tính

Nội dung học phần Chương 1. Giới thiệu chung Chương 2. Cơ bản về logic số Chương 3. Tổng quan về hệ thống máy tính Chương 4. Kiến trúc tập lệnh Chương 5. Số học máy tính Chương 6. Bộ xử lý trung tâm Chương 7. Bộ nhớ máy tính Chương 8. Hệ thống vào-ra Chương 9. Máy tính song song

„ „

Chương 8 HỆ THỐNG VÀO-RA

„ „ „ „ „

Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội

5 September 2009

Bài giảng Kiến trúc Máy tính

„ „

1

NKK-HUT

5 September 2009

Bài giảng Kiến trúc máy tính

2

NKK-HUT

8.1. Tổng quan về hệ thống vào-ra

Nội dung của chương 8

1. Giới thiệu chung „ Chức năng của hệ thống vào-ra: Trao đổi thông tin giữa máy tính với thế giới bên ngoài „ Các thao tác cơ bản:

8.1. Tổng quan về hệ thống vào-ra 8.2. Các phương pháp điều khiển vào-ra 8.3. Nối ghép thiết bị ngoại vi 8.4. Các cổng vào-ra thông dụng trên PC

„ „

„

Các thành phần chính: „ „

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

3

Vào dữ liệu (Input) Ra dữ liệu (Output)

5 September 2009

Các thiết bị ngoại vi Các mô-đun vào-ra Bài giảng Kiến trúc Máy tính

4

1

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Cấu trúc cơ bản của hệ thống vào-ra

Đặc điểm của vào-ra „

Tồn tại đa dạng các thiết bị ngoại vi khác nhau về: „ „ „

Nguyên tắc hoạt động Tốc độ Khuôn dạng dữ liệu

Tất cả các thiết bị ngoại vi đều chậm hơn CPU và RAM Æ Cần có các mô-đun vào-ra để nối ghép các thiết bị ngoại vi với CPU và bộ nhớ chính

„

5 September 2009

Bài giảng Kiến trúc Máy tính

5

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

6

NKK-HUT

2. Các thiết bị ngoại vi „

„

Một số thiết bị ngoại vi

Chức năng: chuyển đổi dữ liệu giữa bên trong và bên ngoài máy tính Phân loại: „

„

„

Thiết bị ngoại vi giao tiếp người-máy: Bàn phím, Màn hình, Máy in,... Thiết bị ngoại vi giao tiếp máy-máy: gồm các thiết bị theo dõi và kiểm tra Thiết bị ngoại vi truyền thông: Modem, Network Interface Card (NIC)

Input type

Prime examples

Other examples

Data rate (b/s)

Main uses

Symbol

Keyboard, keypad

Music note, OCR

10s

Ubiquitous

Position

Mouse, touchpad

Stick, wheel, glove

100s

Ubiquitous

Identity

Barcode reader

Badge, fingerprint

100s

Sales, security

Sensory

Touch, motion, light

Scent, brain signal

100s

Control, security

Audio

Microphone

Phone, radio, tape

1000s

Ubiquitous

Image

Scanner, camera

Graphic tablet

1000s-106s

Photos, publishing

Video

Camcorder, DVD

VCR, TV cable

1000s-109s

Entertainment

Output type

Prime examples

Other examples

Data rate (b/s)

Main uses

Symbol

LCD line segments

LED, status light

10s

Ubiquitous

Position

Stepper motor

Robotic motion

100s

Ubiquitous

Warning

Buzzer, bell, siren

Flashing light

A few

Safety, security

Sensory

Braille text

Scent, brain stimulus

100s

Personal assistance

Audio

Speaker, audiotape

Voice synthesizer

1000s

Ubiquitous

Image

Monitor, printer

Plotter, microfilm

1000s

Ubiquitous

Video

Monitor, TV screen

Film/video recorder

1000s-109s

Entertainment

Two-way I/O

Prime examples

Other examples

Data rate (b/s)

Main uses

Mass storage

Hard/floppy disk

CD, tape, archive

106s

Network

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

7

5 September 2009

Modem, fax, LAN

Cable, DSL, ATM

Bài giảng Kiến trúc Máy tính

Ubiquitous 9

1000s-10 s

Ubiquitous

8

2

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Cấu trúc chung của thiết bị ngoại vi

Các thành phần của thiết bị ngoại vi „

„

„

5 September 2009

Bài giảng Kiến trúc Máy tính

9

NKK-HUT

Bộ chuyển đổi tín hiệu: chuyển đổi dữ liệu giữa bên ngoài và bên trong máy tính Bộ đệm dữ liệu: đệm dữ liệu khi truyền giữa mô-đun vào-ra và thiết bị ngoại vi Khối logic điều khiển: điều khiển hoạt động của thiết bị ngoại vi đáp ứng theo yêu cầu từ mô-đun vào-ra

5 September 2009

Bài giảng Kiến trúc Máy tính

10

NKK-HUT

3. Mô-đun vào-ra „

Cấu trúc chung của mô-đun vào-ra

Chức năng của mô-đun vào-ra: „ „

„ „

„

5 September 2009

Điều khiển và định thời Trao đổi thông tin với CPU hoặc bộ nhớ chính Trao đổi thông tin với thiết bị ngoại vi Đệm giữa bên trong máy tính với thiết bị ngoại vi Phát hiện lỗi của thiết bị ngoại vi

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

11

5 September 2009

Bài giảng Kiến trúc Máy tính

12

3

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Các thành phần của mô-đun vào-ra „

„

„

„

4. Địa chỉ hóa cổng vào-ra a. Không gian địa chỉ của bộ xử lý

Thanh ghi đệm dữ liệu: đệm dữ liệu trong quá trình trao đổi Các cổng vào-ra (I/O Port): kết nối với thiết bị ngoại vi, mỗi cổng có một địa chỉ xác định Thanh ghi trạng thái/điều khiển: lưu giữ thông tin trạng thái/điều khiển cho các cổng vào-ra Khối logic điều khiển: điều khiển môđun vào-ra

5 September 2009

Bài giảng Kiến trúc Máy tính

13

NKK-HUT

5 September 2009

Không gian địa chỉ của bộ xử lý (tiếp) „

Một số bộ xử lý chỉ quản lý duy nhất một không gian địa chỉ: „

„

14

NKK-HUT

Không gian địa chỉ của bộ xử lý (tiếp)

„

Bài giảng Kiến trúc Máy tính

Một số bộ xử lý quản lý hai không gian địa chỉ tách biệt: „ „

không gian địa chỉ bộ nhớ: 2N địa chỉ

„

Ví dụ: Các bộ xử lý 680x0 (Motorola) „

„

Ví dụ: Pentium (Intel) „ „ „ „

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

15

Không gian địa chỉ bộ nhớ: 2N địa chỉ Không gian địa chỉ vào-ra: 2N1 địa chỉ Có tín hiệu điều khiển phân biệt truy nhập không gian địa chỉ Tập lệnh có các lệnh vào-ra chuyên dụng không gian địa chỉ bộ nhớ = 232 byte = 4GB không gian địa chỉ vào-ra = 216 byte = 64KB Tín hiệu điều khiển Lệnh vào-ra chuyên dụng: IN, OUT

5 September 2009

Bài giảng Kiến trúc Máy tính

16

4

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Vào-ra riêng biệt

b. Các phương pháp địa chỉ hoá cổng vào-ra „

„

Vào-ra riêng biệt (Isolated IO hay IO mapped IO) Vào-ra theo bản đồ bộ nhớ (Memory mapped IO)

„

„

„

5 September 2009

Bài giảng Kiến trúc Máy tính

17

NKK-HUT

Cổng vào-ra được đánh địa chỉ theo không gian địa chỉ vào-ra CPU trao đổi dữ liệu với cổng vào-ra thông qua các lệnh vào-ra chuyên dụng (IN, OUT) Chỉ có thể thực hiện trên các hệ thống có quản lý không gian địa chỉ vào-ra riêng biệt

5 September 2009

Bài giảng Kiến trúc Máy tính

18

NKK-HUT

8.2. Các phương pháp điều khiển vào-ra

Vào-ra theo bản đồ bộ nhớ „

„ „

„

Cổng vào-ra được đánh địa chỉ theo không gian địa chỉ bộ nhớ Vào-ra giống như đọc/ghi bộ nhớ CPU trao đổi dữ liệu với cổng vào-ra thông qua các lệnh truy nhập dữ liệu bộ nhớ Có thể thực hiện trên mọi hệ thống

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

„

„

„

19

Vào-ra bằng chương trình (Programmed IO) Vào-ra điều khiển bằng ngắt (Interrupt Driven IO) Truy nhập bộ nhớ trực tiếp - DMA (Direct Memory Access)

5 September 2009

Bài giảng Kiến trúc Máy tính

20

5

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

1. Vào-ra bằng chương trình

Các tín hiệu điều khiển vào-ra „

„

Nguyên tắc chung: CPU điều khiển trực tiếp vào-ra bằng chương trình Æ cần phải lập trình vào-ra.

„

„

„

5 September 2009

Bài giảng Kiến trúc Máy tính

21

NKK-HUT

Tín hiệu điều khiển (Control): kích hoạt thiết bị ngoại vi Tín hiệu kiểm tra (Test): kiểm tra trạng thái của mô-đun vào-ra và thiết bị ngoại vi Tín hiệu điều khiển đọc (Read): yêu cầu môđun vào-ra nhận dữ liệu từ thiết bị ngoại vi và đưa vào thanh ghi đệm dữ liệu, rồi CPU nhận dữ liệu đó Tín hiệu điều khiển ghi (Write): yêu cầu môđun vào-ra lấy dữ liệu trên bus dữ liệu đưa đến thanh ghi đệm dữ liệu rồi chuyển ra thiết bị ngoại vi

5 September 2009

Bài giảng Kiến trúc Máy tính

22

NKK-HUT

Các lệnh vào-ra

„

„

Lưu đồ đoạn chương trình vào-ra

Với vào-ra riêng biệt: sử dụng các lệnh vào-ra chuyên dụng (IN, OUT). Với vào-ra theo bản đồ bộ nhớ: sử dụng các lệnh trao đổi dữ liệu với bộ nhớ để trao đổi dữ liệu với cổng vào-ra.

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

23

5 September 2009

Bài giảng Kiến trúc Máy tính

24

6

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Hoạt động của vào-ra bằng chương trình „ „ „

„

Đặc điểm

CPU yêu cầu thao tác vào-ra Mô-đun vào-ra thực hiện thao tác Mô-đun vào-ra thiết lập các bit trạng thái CPU kiểm tra các bit trạng thái: „ „

5 September 2009

„ „ „

Vào-ra do ý muốn của người lập trình CPU trực tiếp điều khiển vào-ra CPU đợi mô-đun vào-ra Æ tiêu tốn thời gian của CPU

Nếu chưa sẵn sàng thì quay lại kiểm tra Nếu sẵn sàng thì chuyển sang trao đổi dữ liệu với mô-đun vào-ra

Bài giảng Kiến trúc Máy tính

25

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

26

NKK-HUT

2. Vào-ra điều khiển bằng ngắt „

Chuyển điều khiển đến chương trình con ngắt

Nguyên tắc chung: „

„

„

„

5 September 2009

CPU không phải đợi trạng thái sẵn sàng của mô-đun vào-ra, CPU thực hiện một chương trình nào đó Khi mô-đun vào-ra sẵn sàng thì nó phát tín hiệu ngắt CPU CPU thực hiện chương trình con vào-ra tương ứng để trao đổi dữ liệu CPU trở lại tiếp tục thực hiện chương trình đang bị ngắt

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

27

5 September 2009

Bài giảng Kiến trúc Máy tính

28

7

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Hoạt động vào dữ liệu: nhìn từ CPU

Hoạt động vào dữ liệu: nhìn từ mô-đun vào-ra „

„

„

„ „

Mô-đun vào-ra nhận tín hiệu điều khiển đọc từ CPU Mô-đun vào-ra nhận dữ liệu từ thiết bị ngoại vi, trong khi đó CPU làm việc khác Khi đã có dữ liệu Æ mô-đun vào-ra phát tín hiệu ngắt CPU CPU yêu cầu dữ liệu Mô-đun vào-ra chuyển dữ liệu đến CPU

5 September 2009

Bài giảng Kiến trúc Máy tính

„ „ „

„

Phát tín hiệu điều khiển đọc Làm việc khác Cuối mỗi chu trình lệnh, kiểm tra tín hiệu ngắt Nếu bị ngắt: „ „

„

29

NKK-HUT

5 September 2009

Cất ngữ cảnh (nội dung các thanh ghi) Thực hiện chương trình con ngắt để vào dữ liệu Khôi phục ngữ cảnh của chương trình đang thực hiện Bài giảng Kiến trúc Máy tính

30

NKK-HUT

Các vấn đề nảy sinh khi thiết kế „

„

Các phương pháp nối ghép ngắt

Làm thế nào để xác định được mô-đun vào-ra nào phát tín hiệu ngắt ? CPU làm như thế nào khi có nhiều yêu cầu ngắt cùng xẩy ra ?

„ „

„

„

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

31

Sử dụng nhiều đường yêu cầu ngắt Hỏi vòng bằng phần mềm (Software Poll) Hỏi vòng bằng phần cứng (Daisy Chain or Hardware Poll) Sử dụng bộ điều khiển ngắt (PIC)

5 September 2009

Bài giảng Kiến trúc Máy tính

32

8

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Nhiều đường yêu cầu ngắt

„

„ „

Hỏi vòng bằng phần mềm

„

Mỗi mô-đun vào-ra được nối với một đường yêu cầu ngắt CPU phải có nhiều đường tín hiệu yêu cầu ngắt Hạn chế số lượng mô-đun vào-ra Các đường ngắt được qui định mức ưu tiên

„ 5 September 2009

Bài giảng Kiến trúc Máy tính

„ „

33

NKK-HUT

CPU thực hiện phần mềm hỏi lần lượt từng mô-đun vào-ra Chậm Thứ tự các mô-đun được hỏi vòng chính là thứ tự ưu tiên

5 September 2009

Bài giảng Kiến trúc Máy tính

34

NKK-HUT

Hỏi vòng bằng phần cứng

Kiểm tra vòng bằng phần cứng (tiếp) „

„

„

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

35

CPU phát tín hiệu chấp nhận ngắt (INTA) đến mô-đun vào-ra đầu tiên Nếu mô-đun vào-ra đó không gây ra ngắt thì nó gửi tín hiệu đến mô-đun kế tiếp cho đến khi xác định được mô-đun gây ngắt Thứ tự các mô-đun vào-ra kết nối trong chuỗi xác định thứ tự ưu tiên

5 September 2009

Bài giảng Kiến trúc Máy tính

36

9

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Bộ điều khiển ngắt lập trình được

Đặc điểm của vào-ra điều khiển bằng ngắt „

Có sự kết hợp giữa phần cứng và phần mềm „ „

„ „ „

„

„

PIC – Programmable Interrupt Controller PIC có nhiều đường vào yêu cầu ngắt có qui định mức ưu tiên PIC chọn một yêu cầu ngắt không bị cấm có mức ưu tiên cao nhất gửi tới CPU

5 September 2009

Bài giảng Kiến trúc Máy tính

37

NKK-HUT

„ „

„

CPU trực tiếp điều khiển vào-ra CPU không phải đợi mô-đun vào-ra Æ hiệu quả sử dụng CPU tốt hơn

5 September 2009

Bài giảng Kiến trúc Máy tính

38

NKK-HUT

Ngắt của 80x86 „

Phần cứng: gây ngắt CPU Phần mềm: trao đổi dữ liệu

3. DMA (Direct Memory Access)

Tổ chức kiểu vector ngắt Số hiệu ngắt: n (00-FF) Bảng vector ngắt: 256 x 4 byte = 1024bytes 00000 – 003FF Lệnh INT n

„

Vào-ra bằng chương trình và bằng ngắt do CPU trực tiếp điều khiển: „ „

„

Để khắc phục dùng DMA „

„

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

39

Chiếm thời gian của CPU Tốc độ truyền bị hạn chế vì phải chuyển qua CPU

5 September 2009

Thêm mô-đun phần cứng trên bus Æ DMAC (Controller) DMAC điều khiển trao đổi dữ liệu giữa môđun vào-ra với bộ nhớ chính Bài giảng Kiến trúc Máy tính

40

10

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Sơ đồ cấu trúc của DMAC

Các thành phần của DMAC

„ „

„

„

5 September 2009

Bài giảng Kiến trúc Máy tính

41

NKK-HUT

5 September 2009

„ „

„

„ „

„

Vào hay Ra dữ liệu Địa chỉ thiết bị vào-ra (cổng vào-ra tương ứng) Địa chỉ đầu của mảng nhớ chứa dữ liệu Æ nạp vào thanh ghi địa chỉ Số từ dữ liệu cần truyền Æ nạp vào bộ đếm dữ liệu

„

CPU làm việc khác DMAC điều khiển trao đổi dữ liệu Sau khi truyền được một từ dữ liệu thì: „ „

„

42

Các kiểu thực hiện DMA

CPU “nói” cho DMAC „

„

Bài giảng Kiến trúc Máy tính

NKK-HUT

Hoạt động DMA „

Thanh ghi dữ liệu: chứa dữ liệu trao đổi Thanh ghi địa chỉ: chứa địa chỉ ngăn nhớ dữ liệu Bộ đếm dữ liệu: chứa số từ dữ liệu cần trao đổi Logic điều khiển: điều khiển hoạt động của DMAC

„

nội dung thanh ghi địa chỉ tăng nội dung bộ đếm dữ liệu giảm

Khi bộ đếm dữ liệu = 0, DMAC gửi tín hiệu ngắt CPU để báo kết thúc DMA

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

43

DMA truyền theo khối (Block-transfer DMA): DMAC sử dụng bus để truyền xong cả khối dữ liệu DMA lấy chu kỳ (Cycle Stealing DMA): DMAC cưỡng bức CPU treo tạm thời từng chu kỳ bus, DMAC chiếm bus thực hiện truyền một từ dữ liệu. DMA trong suốt (Transparent DMA): DMAC nhận biết những chu kỳ nào CPU không sử dụng bus thì chiếm bus để trao đổi một từ dữ liệu.

5 September 2009

Bài giảng Kiến trúc Máy tính

44

11

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Cấu hình DMA (1)

„

Cấu hình DMA (2)

Mỗi lần trao đổi một dữ liệu, DMAC sử dụng bus hai lần „ „

„

Giữa mô-đun vào-ra với DMAC Giữa DMAC với bộ nhớ

„

DMAC điều khiển một hoặc vài mô-đun vào-ra Mỗi lần trao đổi một dữ liệu, DMAC sử dụng bus một lần „

5 September 2009

Bài giảng Kiến trúc Máy tính

45

NKK-HUT

5 September 2009

46

Đặc điểm của DMA „

„

„ „

Bài giảng Kiến trúc Máy tính

NKK-HUT

Cấu hình DMA (3)

„

Giữa DMAC với bộ nhớ

Bus vào-ra tách rời hỗ trợ tất cả các thiết bị cho phép DMA Mỗi lần trao đổi một dữ liệu, DMAC sử dụng bus một lần „

CPU không tham gia trong quá trình trao đổi dữ liệu DMAC điều khiển trao đổi dữ liệu giữa bộ nhớ chính với mô-đun vào-ra (hoàn toàn bằng phần cứng)Æ tốc độ nhanh Phù hợp với các yêu cầu trao đổi mảng dữ liệu có kích thước lớn

Giữa DMAC với bộ nhớ

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

47

5 September 2009

Bài giảng Kiến trúc Máy tính

48

12

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

4. Kênh vào-ra hay là bộ xử lý vào-ra „

„

„

„

8.3. Nối ghép thiết bị ngoại vi

Việc điều khiển vào-ra được thực hiện bởi một bộ xử lý vào-ra chuyên dụng Bộ xử lý vào-ra hoạt động theo chương trình của riêng nó Chương trình của bộ xử lý vào-ra có thể nằm trong bộ nhớ chính hoặc nằm trong một bộ nhớ riêng Hoạt động theo kiến trúc đa xử lý

5 September 2009

Bài giảng Kiến trúc Máy tính

1. Các kiểu nối ghép vào-ra „ Nối ghép song song „ Nối ghép nối tiếp

49

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

50

NKK-HUT

Nối ghép song song

Nối ghép nối tiếp

„

„ „ „ 5 September 2009

Truyền nhiều bit song song Tốc độ nhanh Cần nhiều đường truyền dữ liệu Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

„

„ „ 51

Truyền lần lượt từng bit Cần có bộ chuyển đổi từ dữ liệu song song sang nối tiếp hoặc/và ngược lại Tốc độ chậm hơn Cần ít đường truyền dữ liệu

5 September 2009

Bài giảng Kiến trúc Máy tính

52

13

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

2. Các cấu hình nối ghép „

Điểm tới điểm (Point to Point) „

„

8.4. Các cổng vào-ra thông dụng trên PC „

Thông qua một cổng vào-ra nối ghép với một thiết bị ngoại vi

„ „

Điểm tới đa điểm (Point to Multipoint) „

„

Thông qua một cổng vào-ra cho phép nối ghép được với nhiều thiết bị ngoại vi Ví dụ: „

„ „

5 September 2009

„

SCSI (Small Computer System Interface): 7 hoặc 15 thiết bị USB (Universal Serial Bus): 127 thiết bị IEEE 1394 (FireWire): 63 thiết bị Bài giảng Kiến trúc Máy tính

„

„ 53

Các cổng PS/2: nối ghép bàn phím và chuột Cổng nối ghép màn hình Cổng LPT (Line Printer): nối ghép với máy in, là cổng song song (Parallel Port) – 25 chân Cổng COM (Communication): nối ghép với MODEM, là cổng nối tiếp (Serial Port) - 9 hoặc 25 chân Cổng USB (Universal Serial Bus): Cổng nối tiếp đa năng, cho phép nối ghép tối đa 127 thiết bị, nhờ các USB Hub

...

5 September 2009

Bài giảng Kiến trúc Máy tính

54

NKK-HUT

Hết chương 8

5 September 2009

Bài giảng Kiến trúc Máy tính

Nguyễn Kim Khánh - ĐHBKHN

55

14

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Kiến trúc máy tính

Nội dung học phần „ „

Chương 9 MÁY TÍNH SONG SONG

„ „ „ „ „

Nguyễn Kim Khánh Trường Đại học Bách khoa Hà Nội

5 September 2009

Bài giảng Kiến trúc Máy tính

„ „

1

NKK-HUT

Chương 1. Giới thiệu chung Chương 2. Cơ bản về logic số Chương 3. Tổng quan về hệ thống máy tính Chương 4. Kiến trúc tập lệnh Chương 5. Số học máy tính Chương 6. Bộ xử lý trung tâm Chương 7. Bộ nhớ máy tính Chương 8. Hệ thống vào-ra Chương 9. Máy tính song song

5 September 2009

Bài giảng Kiến trúc máy tính

2

NKK-HUT

Nội dung của chương 9

9.1. Phân loại kiến trúc máy tính „

„ „ „

9.1. Phân loại kiến trúc máy tính 9.2. Máy tính vector và bộ xử lý mảng 9.3. Một số kiến trúc MIMD thông dụng

Phân loại của Michael Flynn (1966) „ „ „ „

5 September 2009

Nguyễn Kim Khánh

Bài giảng Kiến trúc Máy tính

3

SISD - Single Instruction Stream, Single Data Stream SIMD - Single Instruction Stream, Multiple Data Stream MISD - Multiple Instruction Stream, Single Data Stream MIMD - Multiple Instruction Stream, Multiple Data Stream

5 September 2009

Bài giảng Kiến trúc Máy tính

4

1

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

SIMD

SISD

„ „ „ „ „ „ „

CU: Control Unit PU: Processing Unit MU: Memory Unit Một bộ xử lý Đơn dòng lệnh Dữ liệu được lưu trữ trong một bộ nhớ Chính là Kiến trúc von Neumann

5 September 2009

Bài giảng Kiến trúc Máy tính

5

NKK-HUT

5 September 2009

„

„

„

6

NKK-HUT

SIMD (tiếp) „

Bài giảng Kiến trúc Máy tính

MISD

Đơn dòng lệnh điều khiển đồng thời các phần tử xử lý PE (processing elements) Mỗi phần tử xử lý có một bộ nhớ dữ liệu riêng LM (local memory) Mỗi lệnh được thực hiện trên một tập các dữ liệu khác nhau Các mô hình SIMD „ „

„

„

„ „

Một luồng dữ liệu cùng được truyền đến một tập các bộ xử lý Mỗi bộ xử lý thực hiện một dãy lệnh khác nhau. Chưa tồn tại máy tính thực tế Có thể có trong tương lai

Vector Computer Array processor

5 September 2009

Nguyễn Kim Khánh

Bài giảng Kiến trúc Máy tính

7

5 September 2009

Bài giảng Kiến trúc Máy tính

8

2

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

MIMD „ „

„

MIMD - Shared Memory

Tập các bộ xử lý Các bộ xử lý đồng thời thực hiện các dãy lệnh khác nhau trên các dữ liệu khác nhau Các mô hình MIMD „ „

Multiprocessors (Shared Memory) Multicomputers (Distributed Memory)

5 September 2009

Bài giảng Kiến trúc Máy tính

9

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

10

NKK-HUT

MIMD - Distributed Memory

9.2. Máy tính vector và bộ xử lý mảng

„

Thuộc loại SIMD „ „

5 September 2009

Nguyễn Kim Khánh

Bài giảng Kiến trúc Máy tính

11

5 September 2009

Data parallelism in time = vector processing Data parallelism in space = array processing

Bài giảng Kiến trúc Máy tính

12

3

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Thực hiện bộ xử lý vector

Phép toán trên vector Bộ xử lý vector:

for i = 0 to 63 do P[i] := W[i] × D[i] endfor

load W load D P := W × D store P

for i = 0 to 63 do X[i+1] := X[i] + Z[i] Y[i+1] := X[i+1]+ Y[i] endfor

5 September 2009

From scalar registers Function unit 1 pipeline

Load unit A

To and from memory unit

Bộ xử lý tuần tự:

Không xử lý song song được

Load unit B

Function unit 2 pipeline

Vector register file

Function unit 3 pipeline

Store unit

Forwarding muxes

Bài giảng Kiến trúc Máy tính

13

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

14

NKK-HUT

Ví dụ bộ xử lý mảng Control

Processor array

Control broadcast

5 September 2009

Nguyễn Kim Khánh

9.3. Một số kiến trúc MIMD thông dụng 1.SMP (Symmetric Multiprocessors)

Switches

Parallel I/O

Bài giảng Kiến trúc Máy tính

15

5 September 2009

Bài giảng Kiến trúc Máy tính

16

4

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

SMP (tiếp) „ „

„

„ „

„

Ưu điểm của SMP „

Một máy tính có n >= 2 bộ xử lý giống nhau Các bộ xử lý dùng chung bộ nhớ và hệ thống vào-ra Thời gian truy cập bộ nhớ là bằng nhau với các bộ xử lý Tất cả các bộ xử lý chia sẻ truy nhập vào-ra Các bộ xử lý có thể thực hiện chức năng giống nhau Hệ thống được điều khiển bởi một hệ điều hành phân tán

5 September 2009

Bài giảng Kiến trúc Máy tính

Hiệu năng „

„

Tính sẵn dùng „

„

NKK-HUT

Các bộ xử lý có thể thực hiện các chức năng giống nhau, vì vậy lỗi của một bộ xử lý sẽ không làm dừng hệ thống

Khả năng mở rộng „

17

Các công việc có thể thực hiện song song

5 September 2009

Người sử dụng có thể tăng hiệu năng bằng cách thêm bộ xử lý Bài giảng Kiến trúc Máy tính

18

NKK-HUT

2. Cluster „

„ „ „

„

Cluster (tiếp)

Nhiều máy tính được kết nối với nhau bằng mạng liên kết tốc độ cao (~ Gbps) Mỗi máy tính có thể làm việc độc lập Mỗi máy tính được gọi là một node Các máy tính có thể được quản lý làm việc song song theo nhóm (cluster) Toàn bộ hệ thống có thể coi như là một máy tính song song

5 September 2009

Nguyễn Kim Khánh

Bài giảng Kiến trúc Máy tính

„ „ „ „

19

Dễ dàng xây dựng và mở rộng Tính sẵn sàng cao Khả năng chịu lỗi Giá thành rẻ với hiệu năng cao

5 September 2009

Bài giảng Kiến trúc Máy tính

20

5

Bài giảng Kiến trúc máy tính

NKK-HUT

NKK-HUT

Cluster of PCs

5 September 2009

Bài giảng Kiến trúc Máy tính

Cluster of SMPs

21

NKK-HUT

5 September 2009

Bài giảng Kiến trúc Máy tính

22

NKK-HUT

Ví dụ: Hệ thống máy chủ Google (12/ 2000) „ „ „

„ „

Cluster of PCs Hơn 6.000 bộ xử lý Hệ thống lưu trữ dùng RAID: có 12.000 đĩa cứng ~ 1petabyte (1triệu GB) 2 site ở Silicon Valley, 1site ở Virginia Mỗi site được kết nối với Internet qua OC48 (2488Mbps)

5 September 2009

Nguyễn Kim Khánh

Bài giảng Kiến trúc Máy tính

Hết chương 7

23

5 September 2009

Bài giảng Kiến trúc Máy tính

24

6

Related Documents

Ktmt Completed
June 2020 10
Ktmt
October 2019 14
Ktmt-c1
May 2020 8
Bai Tap Lon Ktmt
May 2020 6
Meningitis( Completed)
June 2020 17