Ktmt-c2-new

  • May 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-c2-new as PDF for free.

More details

  • Words: 2,972
  • Pages: 70
Chương 2: HỆ THỐNG MÁY TÍNH Th.S Dương Thị Thùy Vân

Nội dung 1. Cấu trúc máy tính 2. Liên kết hệ thống 3. Hệ thống vào ra 4. Biểu diễn dữ liệu và số học máy tính

1. Cấu trúc máy tính 1.1. Các thành phần của máy tính 1.2. Các thao tác cơ sở

1.1. Các thành phần của máy tính • Bộ xử lý trung tâm – Central Processing Unit

• Bộ nhớ – Memory

• Hệ thống vào ra – Input/Output System

• Liên kết hệ thống – System Interconnection

Sơ đồ cấu trúc cơ bản Bộ xử lý trung tâm

Bộ nhớ chính

Liên kết hệ thống

Hệ thống vào ra

Bộ xử lý trung tâm (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.

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

Các thành phần cơ bản của CPU • Đơ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à các phép toán logic trên các dữ liệu cụ thể.

• 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)

1.2. Các thao tác cơ sở • Hoạt động cơ bản của máy tính là thực hiện chương trình. • Máy tính lặp đi lặp lại hai bước: – 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.

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

PC IR

Quá trình nhận lệnh • 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.

Quá trì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 – 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

8 bước thực hiện lệnh của CPU 1. Lấy lệnh kế tiếp từ bộ nhớ vào thanh ghi lệnh IR. 2. Thay đổi bộ đếm chương trình PC để trỏ tới lệnh tiếp sau nữa. 3. Xác định loại của lệnh vừa lấy (làm gì?). 4. Nếu lệnh sử dụng dữ liệu trong bộ nhớ thì xác định xem nó ở đâu. 5. Lấy dữ liệu (nếu có) vào thanh ghi của CPU. 6. Thi hành lệnh. 7. Cất kết quả vào nơi cần lưu trữ. 8. Trở lại bước 1 để làm lệnh kế.

Ngắt (Interrupt) • Khái niệm: 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.

Hoạt động ngắt • Sau khi hoàn thành 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: – 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.

Hoạt động ngắt

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

2. Liên kết hệ thống 2.1. Khái niệm chung về Bus 2.2. Phân cấp Bus trong máy tính 2.3. Phân loại Bus

2.1. Khái niệm chung về Bus • Hệ thống liên kết (bus) là tập hợp các đường kết nối giữa các thành phần của máy tính. • Được dùng để vận chuyển thông tin giữa các thành phần của máy tính với nhau. • Độ 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).

register

On chip bus System bus

CPU

Memory

ALU Local bus

Coprocessor

I/O Board

I/O Board

2.2. Phân cấp Bus trong máy tính • Phân cấp bus trong máy tính: – Bus của bộ xử lý – Bus của bộ nhớ chính – Các bus vào ra

• Các phân cấp bus này 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ể.

BUS

2.3. Phân loại BUS • Người ta phân loại bus theo 3 cách sau đây: – Theo tổ chức phần cứng (Multibus I được sử dụng trong các hệ thống VXL 8088, 8086, Multibus II được sử dụng trong hệ thống VXL 80386, …) – Theo nghi thức truyền thông (bus đồng bộ và bus không đồng bộ). – Theo loại tín hiệu truyền trên bus(bus địa chỉ, bus dữ liệu, bus điều khiển)

Phân loại theo tổ chức phần cứng • Trong thế giới máy tính có rất nhiều loại bus khác nhau được sử dụng. • Các loại bus này nói chung là không tương thích với nhau. • Sau đây là một số loại bus được dùng phổ biến Tên bus

Lĩnh vực áp dụng

IBM PC, PC/AT Multibus I Multibus II Versabus

Máy tính IBM PC, IBM/PC/AT Một số hệ thống có VXL 8086, 8088 Một số hệ thống có VXL 80386 Một số hệ thống dùng VXL Motorola

Phân loại theo nghi thức truyền thông • Bus đồng bộ là bus: – Có đường tín hiệu clock – Có sự kiện trên bus được xác định bởi xung nhịp clock

• Bus không đồng bộ – 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.

Phân loại theo nghi thức truyền (tt) • Clock (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ý Pentium IV 2GHz – Ta có f0 = 2 GHz = 2x109Hz – T0 = 1/f0 = 1/(2x109) = 0,5 ns.

Phân loại theo tín hiệu đường truyề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 (chỉ định nguồn hay đích của dữ liệu có trên đường truyền dữ liệu hay chỉ định các cổng nhập xuất). • Độ rộng bus địa chỉ: xác định dung lượng bộ nhớ cực đại của hệ thống. • Nếu độ rộng bus địa chỉ là N bit: AN-1, AN-2, ... A2, A1, A0  dung lượng bộ nhớ cực đại là 2N byte (còn gọi là không gian địa chỉ bộ nhớ) • Ví dụ: Bộ xử lý Intel Pentium có bus địa chỉ 32 bit  không gian địa chỉ là 232 byte = 4 GB.

Bus dữ liệu • 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, các môđun nhớ và môđun vào-ra.

• Độ 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

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

Bus điều khiển • Chức năng: vận chuyển các tín hiệu điều khiển • Các loại tín hiệu điều khiển: – Các tín hiệu phát ra từ CPU để điều khiển môđun nhớ và môđun vào-ra – Các tín hiệu từ môđun nhớ hay môđun vào-ra gửi đến yêu cầu CPU.

Một số tín hiệu điều khiển • 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 đế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.

Các bus điển hình trong PC • 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 Interconnection): nối ghép với các TBNV có tốc độ trao đổi dữ liệu nhanh. • USB (Universal Serial Bus): Bus nối tiếp đa năng • IDE (Integrated Driver Electronics): Bus kết nối với ổ đĩa cứng hoặc ổ đĩa CD, DVD.

3. Hệ thống vào ra 3.1. Tổng quan về hệ thống vào ra 3.2. Môđun vào-ra 3.3. Các thiết bị ngoại vi

3.1.Tổng quan về hệ thống vào ra • 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: – Vào dữ liệu (Input) – Ra dữ liệu (Output)

• Các thành phần chính: – Các thiết bị ngoại vi (Peripheral Devices) – Các môđun vào-ra (IO Modules)

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

3.2. Môđun vào-ra • Chức năng: nối ghép các TBNV 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). • Mỗi cổng vào-ra được đánh một địa chỉ xác định. • Các TBNV đượ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.

3.3. 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 (TBNV) cơ bản: – Thiết bị vào: bàn phím, chuộ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 …

Màn hình

Bàn phím

Đĩa cứng vật lý

Máy in

4. Biểu diễn dữ liệu và số học máy tính 4.1. Các hệ thống số 4.2. Mã hoá và lưu trữ dữ liệu trong máy tính 4.3. Biểu diễn ký tự

4.1. Các hệ thống số • 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ệ thập lục phân (Hexadecimal System) – Dùng để viết gọn số nhị phân

• Hệ bát phân (Octal System) 06/23/09 09:31 AM

47

Hệ thập phân

06/23/09 09:31 AM

48

Hệ thập phân • Cơ số 10 – 10 chữ số: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

• 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

06/23/09 09:31 AM

49

Hệ thập phân • 472.38 = 4x102 + 7x101 + 2x100 + 3x10-1 + 8x10-2 • 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 06/23/09 09:31 AM

50

Hệ nhị phân

06/23/09 09:31 AM

51

Hệ nhị phân • 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: 06/23/09 09:31 AM

– 00...000 = 0 – 11...111 = 2n-1

52

Hệ nhị phân • Có một số nhị phân A như sau: A = anan-1...a1a0.a-1...a-m

• Giá trị của A được tính như sau: A = an2n + an-12n-1 +...+ a020 + a-12-1 +...+ a-m2-m

• Ví dụ: 1101001.1 0 1 1(2)

06/23/09 09:31 AM

6543210-1-2-3-4 = 26 + 25 + 23 + 20 + 2-1 + 2-3 + 2-4 = 64 + 32 + 8 + 1 + 0.5 + 0.125 + 0.0625 = 105.6875(10)

53

Hệ bát phân

06/23/09 09:31 AM

54

Hệ thập lục phân

06/23/09 09:31 AM

55

Tổng quát

06/23/09 09:31 AM

56

Chuyển đổi các hệ số

06/23/09 09:31 AM

57

Chuyển đổi các hệ số

06/23/09 09:31 AM

58

Phương pháp chuyển đổi

06/23/09 09:31 AM

59

Phương pháp chuyển đổi

06/23/09 09:31 AM

60

Biểu diễn thông tin trong hệ nhị phân • BIT (BInary digiT) : 01 • BYTE = tổ hợp 8 bit : 01001101 11111111 • WORD = tổ hợp nhiều bit : 10110 1011100101 • 1 KiloByte (KB) = 1024 byte = 210 byte • 1 MegaByte (MB) = 1024 KB = 220 byte • 1 GigaByte (GB) = 1024 MB = 230 byte

06/23/09 09:31 AM

61

4.2 Mã hoá và lưu trữ dữ liệu trong máy tính • Nguyên tắc chung về mã hoá dữ liệu – Mọi dữ liệu đưa vào máy tính đều được mã hoá thành số nhị phân – Các loại dữ liệu • Dữ liệu nhân tạo: do con người quy ước – Dữ liệu số nguyên: mã hoá theo một số chuẩnqui ước – Dữ liệu số thực: mã hoá bằng số dấu chấm động – Dữ liệu ký tự: mã hoá theo bộ mã ký tự 06/23/09 09:31 AM

• Dữ liệu tự nhiên: tồn tại khách quan với

62

Mã hóa thông tin đầu vào

06/23/09 09:31 AM

63

Mã hóa thông tin đầu vào

06/23/09 09:31 AM

64

Thứ tự lưu trữ các byte của dữ liệu • Bộ nhớ chính thường được tổ chức theo byte • Độ dài từ dữ liệu có thể chiếm từ một đến nhiều byte ⇒ cần phải biết thứ tự lưu trữ các byte trong bộ nhớ chính với các dữ liệu nhiều byte.

• Có 2 cách lưu trữ: – Lưu trữ đầu nhỏ (Little-endian): Byte thấp được lưu trữ ở ngăn nhớ có địa chỉ nhỏ hơn, byte cao được lưu trữ ở ngăn nhớ có địa chỉ lớn hơn. 06/23/09 09:31 AM

65

Thứ tự lưu trữ các byte của dữ liệu – Lưu trữ đầu to (Big-endian): Byte cao được lưu trữ ở ngăn nhớ có địa chỉ nhỏ hơn, byte thấp được lưu trữ ở ngăn nhớ có địa chỉ lớn hơn.

• Intel 80x86 và các Pentium ⇒ Little-endian • Motorola 680x0 và các bộ xử lý RISC ⇒ Big-endian • Power PC và Itanium ⇒ cả hai

06/23/09 09:31 AM

66

4.3 Biểu diễn ký tự • Bộ mã ASCII (American Standard Code for Information Interchange) – Do ANSI (American National Standard Institute) thiết kế – Bộ mã 8 bit có thể mã hóa được 28 =256 ký tự, có mã từ: 0016 ÷ FF16 , trong đó: • 128 ký tự chuẩn, có mã từ 0016 ÷ 7F16 • 128 ký tự mở rộng, có mã từ 8016 ÷ FF16

• Bộ mã Unicode

06/23/09 09:31 AM

67

Bộ mã ASCII •

Các ký tự chuẩn 26 chữ cái hoa ‘A’ đến ‘Z’ có mã từ 4116 đến 5A16 (65 đến 90) – ‘A’ – ‘B’ – ... – ‘Z’



0101 1010 = 5A16

26 chữ cái thường ‘a’ đến ‘z’ có mã từ 6116 đến 7A16 (97 đến 122) – – – –



0100 0001 = 4116 0100 0010 = 4216

‘a’ ‘b’ ... ‘z’

0110 0001 = 6116 0110 0010 = 6216 0111 1010 = 7A16

10 chữ số thập phân từ 0 đến 9 có mã từ 3016 đến 3916 (48 đến 57)

– – – 06/23/09 09:31 AM –

‘0’ ‘1’ ... ‘9’

0011 0000 = 3016 0011 0001 = 3116 0011 1001 = 3916

68

Bảng mã ASCII

Bộ mã hợp nhất Unicode • Do các hãng máy tính hàng đầu thiết kế • Bộ mã 16-bit • Bộ mã đa ngôn ngữ • Có hỗ trợ các ký tự tiếng Việt

06/23/09 09:31 AM

70