1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Kiến trúc máy tính (Ngành: Kỹ thuật lắp ráp, sửa chữa máy tính) - CĐ Công nghiệp Hải Phòng

105 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 105
Dung lượng 3,87 MB

Nội dung

Giáo trình Kiến trúc máy tính cung cấp cho người học những kiến thức như: Hệ thống máy tính; Bộ vi xử lý trung tâm; Hệ thống nhớ; Hệ thống vào ra. Mời các bạn cùng tham khảo để nắm chi tiết nội dung giáo trình!

Trang 2

LỜI GIỚI THIỆU

”Cấu trúc máy tính” là môn học bắt buộc trong các trường nghề Tuỳ thuộc vào đối tượng người học và cấp bậc học mà trang bị cho học sinh, sinh viên những kiến thức cơ bản nhất

Để thống nhất chương trình và nội dung giảng dạy trong các nhà trường chúng tôi biên soạn cuốn giáo trình: Cấu trúc máy tính Giáo trình được biên soạn phù hợp với các nghề trong các trường đào tạo nghề phục vụ theo yêu cầu của thực tế xã hội hiện nay

Tài liệu tham khảo để biên soạn gồm:

[1] Nguyễn Kim Khánh, Bài giảng kiến trúc máy tính, ĐH Bách Khoa Hà Nội,

2010

[2] Trần Quang Vinh, Cấu trúc máy vi tính, nxb ĐH Quốc gia Hà Nội, 2009

[3] Hoàng Xuân Dậu, Bài giảng kiến trúc máy tính, Học viện Công nghệ Bưu chính viễn thông, 2010

[4] Willian Stallings, Computer Organization and ArchitectureDesigning for Performance –2009 (8thedition)

Kết hợp với kiến thức mới có liên quan môn học và những vấn đề thực tế thường gặp trong sản xuất, đời sống để giáo trình có tính thực tế cao, giúp cho người học dễ hiểu, dễ dàng lĩnh hội được kiến thức môn học

Trong quá trình biên soạn giáo trình kinh nghiệm còn hạn chế, chúng tôi rất mong nhận được ý kiến đóng góp của bạn đọc để lần hiệu đính sau được hoàn chỉnh hơn

Tổ bộ môn Kỹ thuật hệ thống và

mạng máy tính

Trang 3

Mục lục

LỜI GIỚI THIỆU 1

Chương 1: HỆ THỐNG MÁY TÍNH 6

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

1.2 Hoạt động cơ bản của máy tính 13

1.3 LIÊN KẾT HỆ THỐNG 16

Chương 2: BỘ VI XỬ LÝ TRUNG TÂM 25

2.1 Cấu trúc của CPU 25

2.2 Tập lệnh 32

2.3 Hoạt động của CPU 36

2.4 Kiến trúc Intel 38

2.5 Cấu trúc chung của các bộ xử lý tiên tiến 46

2.6 Bộ xử lý đa lõi 48

CHƯƠNG 3: HỆ THỐNG NHỚ 52

3.1 Tổng quan về hệ thống nhớ 52

3.2 Bộ nhớ bán dẫn 55

3.3 Bộ nhớ đệm Cache 67

CHƯƠNG IV: HỆ THỐNG VÀO RA 88

4.1 Tổng quan về hệ thống vào ra 88

4.2 Các phương pháp điều khiển vào ra 90

4.4 Các cổng vào ra thông dụng trên máy tính 96

Trang 4

CẤU TRÚC MÁY TÍNH

I Vị trí, tính chất của môn học:

- Vị trí: Được bố trí học sau các môn học chung, các môn tin học đại cương, tin học văn phòng

- Tính chất: Là môn học kỹ thuật cơ sở thuộc môn học đào tạo nghề bắt buộc

II Mục tiêu môn học:

Kiến thức:

- Trình bày đúng chức năng của các thành phần cơ bản trên Máy tính, cấu trúc và nguyên tắc làm việc của Bộ xử lý trung tâm-CPU, cấu trúc một số dòng CPU tiên tiến ngày nay;

- Chỉ ra được chức năng và phân biệt được các loại bộ nhớ khác nhau được sử dụng trong máy tính Mô tả được cách thức quản lý và làm việc của Cache, HDD, CDROM;

- Nhắc lại được vai trò của hệ thống vào-ra trong hoạt động của máy tính, các phương pháp điều khiển vào-ra mà CPU sử dụng trong trao đổi thông tin

Kỹ năng:

- Nhận biết được các thành phần cơ bản của máy tính;

- Phân biệt được CPU 2 hãng Intel và AMD;

- Phân biệt RAM và ROM;

- Kiểm tra được thông số máy tính;

- Lắp ráp máy tính bằng phần mềm giả lập

- Phân biệt được các kiểu ghép nối, nhận biết được các cổng vào ra thông dụng

trên máy tính

Năng lực tự chủ và trách nhiệm:

- Cẩn thận tỷ mỉ, tuân thủ nội quy phòng học;

- Linh hoạt vận dụng kiến thức vào thực tế

III Nội dung môn học:

1 Nội dung tổng quát và phân phối thời gian:

Trang 5

Chương 1: HỆ THỐNG MÁY TÍNH

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

1.1.1 Mô hình cơ bản của máy tính

1.1.2 Bộ vi xử lý trung tâm - CPU

Trang 6

Chương 1: HỆ THỐNG MÁY TÍNH 1.1 Các thành phần cơ bản của máy tính

1.1.1 Mô hình cơ bản của máy tính

 Chức năng của máy tính

- Xử lý dữ liệu: là chức năng quan trọng nhất của máy tính Dữ liệu có thể có rất

nhiều dạng khác nhau và có yêu cầu xử lý khác nhau

- Lưu trữ dữ liệu: Dữ liệu đưa vào máy tính được xử lý ngay hoặc có thể được lưu

trong bộ nhớ Khi cần chúng sẽ được lấy ra xử lý

- Trao đổi dữ liệu: Trao đổi dữ liệu giữa các thành phần bên trong và bên ngoài

máy tính -> Quá trình vào ra (input-output) Các thiết bị vào-ra: nguồn cung cấp

dữ liệu hoặc nơi tiếp nhận dữ liệu Dữ liệu được vận chuyển trên khoảng cách xa gọi là truyền dữ liệu (data communication)

- Điều khiển: Máy tính cần phải điều khiển ba chức năng trên

Trang 7

 Cấu trúc cơ bản của máy tính

- Bộ xử lý trung tâm - CPU (Central Processor Unit): Điều khiển các hoạt động của máy tính và thực hiện xử lý dữ liệu

- Hệ thống nhớ: Lưu trữ chương trình và dữ liệu

- Hệ thống vào ra (Input-Output System): Trao đổi thông tin giữa máy tính và thế giới bên ngoài

- Hệ thống BUS: Kết nối và vận chuyển thông tin giữa CPU, bộ nhớ chính và hệ thống vào ra của máy tính với nhau

1.1.2 Bộ vi xử lý trung tâm - CPU

Trang 8

- CPU có thể trao đổi dữ liệu với bộ nhớ chính hay hệ thống vào-ra

- Đơ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)

 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 (còn phụ thuộc bộ nhớ, bo mạch đồ họa…)

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

Trang 9

- 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

Mỗi thao tác của bộ xử lý mất một số nguyên lần chu kỳ T0 => T0 càng nhỏ thì bộ xử

lý chạy càng nhanh

Tần số xung nhịp: f0 = 1/T0 gọi là tần số làm việc của CPU

Ví dụ: Máy tính dùng bộ xử lý Intel Pentium IV 2 GHz

Ta có: f0 = 2 GHz = 2 x 109 Hz -> T0 = 1/f0 = 1/(2x109) = 0,5 ns

1.1.3 Hệ thống 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) và thao tác đọc (Read)

 Các thành phần chính của bộ nhớ:

- Bộ nhớ trong (Internal Memory)

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

1.1.3.1 Bộ nhớ trong

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

Trang 10

- Chứa các thông tin mà CPU có thể trao đổi trực tiếp

- Là thành phần nhớ tồn tại trên mọi hệ thống máy tính

- 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

- Thông thường, bộ nhớ chính gồm 2 phần: RAM và ROM

+ ROM (Read Only Memory), hay Bộ nhớ chỉ đọc, lưu trữ các chương trình

mà khi mất nguồn điện cung cấp sẽ không bị (xóa) mất Ngày nay còn có công nghệ FlashROM tức bộ nhớ ROM không những chỉ đọc mà còn có thể ghi lại được, nhờ có công nghệ này BIOS được cải tiến thành Flash BIOS + RAM (Random Access Memory), hay Bộ nhớ truy cập ngẫu nhiên có tốc độ truy cập nhanh, lưu trữ dữ liệu tạm thời, dữ liệu sẽ bị mất vĩnh viễn khi không còn nguồn điện cung cấp

 Bộ nhớ cache (bộ nhớ đệm)

- 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 L1, L2, L3

- Cache có thể được tích hợp trên cùng chip bộ xử lý

Trang 11

- Cache có thể có hoặc không

 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

Trang 12

 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:

- 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

 Các mô-đun vào-ra

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

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

- 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

1.1.5 Hệ thống BUS

 Hệ thống BUS (Bus system) làm nhiệm vụ vận chuyển thông tin giữa các phần khác nhau trong máy tính

Trang 13

 Hệ thống Bus bao gồm:

- Bus dữ liệu dùng để vận chuyển dữ liệu từ bộ nhớ tới CPU hoặc ngược lại

- Bus địa chỉ dùng để vận chuyển tín hiệu địa chỉ (ô nhớ hay cổng vào/ra do CPU

phát ra)

- Bus điều khiển dùng để vận chuyển tín hiệu điều khiển do CPU phát ra để điều

khiển các khối trong hệ thống hoặc do thiết bị ngoại vi gửi tới CPU yêu cầu thực hiện một công việc nào đó

1.2 Hoạt động cơ bản của máy tính

Trang 14

 Nhận lệnh (Fetch)

- Bắt đầu mỗi chu kỳ lệnh là CPU tiến hành lấy lệnh từ bộ nhớ chính Trong quá trình lấy và thực hiện lệnh có 2 thanh ghi bên trong CPU mà ta quan tâm đó là

PC (Program Counter) và thanh ghi IR (Instruction Register)

- CPU lấy lệnh từ ngăn nhớ được trỏ bởi thanh ghi PC đưa vào thanh ghi lệnh IR lưu giữ

- Sau mỗi lệnh được nhận thì nội dung của thanh ghi PC tự động tăng để trỏ tới lệnh kế tiếp sẽ được thực hiện

 Thực hiện lệnh (Execute)

- 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 thông qua khối điều khiển CU

- Thực hiện trao đổi giữa CPU và bộ nhớ chính

- Thực hiện trao đổi giữa CPU và mô-đun I/O

- Xử lý dữ liệu thực hiện các phép toán số học và logic

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

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

Một số ví dụ về quá trình thực hiện lệnh, với giả thiết cấu trúc lệnh có dạng như sau:

Trang 15

1.2.2 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 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 ra tín hiệu ngắt đến CPU yêu cầu trao đổi dữ liệu

Hoạt động của ngắt: Sau khi hoàn thành một lệnh, bộ xử lý kiểm tra tín hiệu

ngắt

Trang 16

- Nếu không có ngắt thì bộ xử lý tiếp tục nhận lệnh tiếp theo

+ 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 lại ngữ cảnh và tiếp tục chương trình đang bị tạm dừng

1.3 LIÊN KẾT HỆ THỐNG

1.3.1 Hệ thống Bus

1.3.1.1 Các luồng thông tin trong máy tính

Một máy tính bao gồm một tập hợp các thành phần hay mô-đun thuộc 3 kiểu cơ bản:

Trang 17

Do đó, để máy tính hoạt động được cần phải có các đường dẫn kết nối các mô-đun lại với nhau

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

- Đị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: Điều khiển đọc (Read), điều khiển ghi (Write)

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

- Đị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)

+ Nhận dữ liệu từ thiết bị ngoại vi

Trang 18

+ Đư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

c) Kết nối CPU:

- 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

1.3.1.2 Cấu trúc Bus cơ bản

Chức năng vận chuyển thông tin giữa các thành phần trong máy tính, như thông tin từ CPU tới bộ nhớ, từ CPU tới bộ điều khiển vào ra I/O

- Khái niệm BUS: Bus là 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

- Độ rộng của 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)

- Phân loại BUS: Theo chức năng ta chia bus ra làm 3 loại là BUS địa chỉ, BUS

dữ liệu và BUS điều khiển

Trang 19

a) BUS địa chỉ :

- Chức năng: Dùng để vận chuyển địa chỉ từ CPU đến các mô-đun nhớ hay các mô-đun vào ra, nhằm để xác định ngăn nhớ hay cổng vào ra nào cần truy xuất trao đổi thông tin (đây là BUS một chiều)

- Độ rộng của BUS địa chỉ (A0, A1,…, An-1) Cho biết khả năng quản lý cực đại

số các ngăn nhớ Nếu sử dụng độ rộng bus địa chỉ n đường thì dung lượng cực đại của

c) BUS điều khiển:

Tập hợp các tín hiệu điều khiển gồm có:

- 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ớ, mô-đun vào ra gửi đến CPU yêu cầu

Trang 20

- Ngoài ra còn là BUS cung cấp nguồn tín hiệu xung nhịp (clock) với các BUS đồng bộ

Trang 21

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

- 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ó

- Non – Maskable Interupt (NMI): Thường dùng để báo sự cố của máy tính

- Reset: Tín hiệu gửi đến CPU yêu cầu khởi động lại máy tính

d) Các yếu tố trong thiết kế BUS:

- Các kiểu Bus:

Có 2 kiểu Bus tổng quát là Bus dành riêng và Bus dồn kênh

+ Bus dành riêng: sử dụng các đường truyền dữ liệu và địa chỉ chuyên dụng

tách biệt Đây là sự chuyên biệt hóa về chức năng Ưu điểm của kiều Bus này là điều khiển đơn giản tuy nhiên lại sử dụng nhiều đường kết nối Điều này làm gia tăng kích thước và phí tổn cho hệ thống

+ Bus dồn kênh: dùng chung các đường truyền địa chỉ và dữ liệu Lợi ích của

Bus dồn kênh chính là sử dụng ít đường dữ liệu giúp tiết kiệm không gian và phí tổn Tuy nhiên điểm bất lợi của nó là cần nhiều mạch điện tử phức tạp và sụt giảm hiệu suất

- Phân xử Bus:

Có nhiều hơn một mô-đun điều khiển Bus (VD:CPU, DMAcontroller…), nhưng tại một thời điểm chỉ duy nhất một mô-đun có thể điều kiển bus → cần phân xử Bus

Sự phân xử bus có thể là tập trung hoặc phân tán

+ Phân xử tập trung: có một thiết bị phần cứng điều khiển sự truy nhập bus

được gọi là Bộ điều khiển bus(Bus controller) hay Trọng tài Bus (Arbiter) Bộ điều khiển bus này có thể nằm trên CPU hoặc tách riêng

Trang 22

+ Phân xử phân tán: mỗi mô-đun có thể điều khiển bus, nhưng có sự điều

khiển logic trên tất cả mô-đun

e) Một số Bus điển hình trong máy tính

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

- 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

1.1.1 Mainboard

Trong một hệ thống máy tính có khoảng 10 thiết bị khác nhau như: CPU, RAM, Card Video, Card Sound, Card LAN, HDD, CDROM, FDD, Keyboard, Mouse Các thiết bị này có tần số làm việc rất khác nhau, ví dụ: Tần số qua chân CPU là 800MHz nhưng qua chân RAM là 400MHz và tần số qua Card Sound chỉ có 66MHz Ngoài ra

số đường mạch (số BUS) cũng khác nhau, vì vậy mà các thiết bị trên không thể kết nối trực tiếp với nhau được Vậy tại sao chúng có thể làm việc với nhau ?

Mainboard chính là thiết bị đóng vai trò trung gian để kết nối tất cả các thiết bị trên hệ thống máy tính liên kết lại với nhau thành một bộ máy thống nhất

1.3.2.1 Chức năng của Mainboard

- Gắn kết các thành phần trên một hệ thống máy tính lại với nhau

- Điều khiển thay đổi tần số BUS cho phù hợp với các thành phần khác nhau

- Quản lý nguồn cấp cho các thành phần trên Main

- Cung cấp xung nhịp chủ (xung Clock) để đồng bộ sự hoạt động của toàn hệ thống

Chính vì những chức năng quan trọng trên mà khi Mainboard có sự cố thì máy tính không thể hoạt động được

Sơ đồ khối của một Mainboard:

Trang 23

1.3.2.2 Các thành phần chính trên Mainboard

a) Socket (đế cắm CPU)

Có nhiều loại đế cắm cho CPU tuỳ theo chủng loại Mainboard

- Socket 370 trên các Mainboard dùng cho Intel Pentium 3

- Socket 478 trên các Mainboard dùng cho Intel Pentium 4

- Socket 775 trên các Mainboard dùng cho Intel Core 2 Duo, Core 2 Quad

- Socket 1155 trên các Mainboard dùng cho Intel Sandy Bridge (Core i5-2500), Intel Ivy Bridge (Core i5-3570)

- Socket 1150 trên các Mainboard dùng cho Intel Haswell (Core i5-4570)

Các chân Socket do Chipset bắc điều khiển

b) North Bridge (Chipset bắc)

- Chipset bắc có nhiệm vụ điều khiển các thành phần có tốc độ cao như CPU, RAM và Card Video

- Chipset bắc điều khiển về tốc độ BUS và điều khiển chuyển mạch dữ liệu, đảm bảo cho dữ liệu qua lại giữa các thành phần được thông suốt và liên tục, khai thác hết được tốc độ của CPU và bộ nhớ RAM

- Có thể ví Chipset giống như một nút giao thông ở một ngã tư, điều khiển chuyển mạch như các đèn xanh đèn đỏ cho phép từng luồng dữ liệu đi qua trong một

Trang 24

khoảng thời gian nhất định, còn điều khiển tốc độ BUS là mỗi hướng của ngã tư khác nhau thì các phương tiện phải chạy theo một tốc độ quy định

c) South Bridge (Chipset nam)

Chức năng của Chipset nam tương tự như Chipset bắc, nhưng Chipset nam điều khiển các thành phần có tốc độ chậm như: Card Sound, Card Net, ổ cứng, ổ CD ROM, các cổng USB, IC SIO và BIOS …

d) ROM BIOS (Read Only Memory - Basic In Out System)

ROM là IC nhớ chỉ đọc, BIOS là chương trình nạp trong ROM do nhà sản xuất Mainboard nạp vào, chương trình BIOS có các chức năng chính sau đây:

- Khởi động máy tính, duy trì sự hoạt động của CPU

- Kiểm tra lỗi của bộ nhớ RAM và Card Video

- Quản lý trình điều khiển cho Chipset bắc, Chipset nam, IC-SIO và card video onboard

- Cung cấp bản cài đặt CMOS SETUP mặc định để máy có thể hoạt động khi schưa thiết lập CMOS

e) IC SIO (Super In Out) - IC điều khiển các cổng vào ra dữ liệu

Trang 25

- SIO điều khiển các thiết bị trên cổng Parallel như máy In, máy Scaner, điều khiển ổ mềm, các cổng Serial như cổng COM, cổng PS/2

- Ngoài ra SIO còn thực hiện giám sát các bộ phận khác trên Mainboard hoạt động để cung cấp tín hiệu báo sự cố

- Tích hợp mạch điều khiển tắt mở nguồn, tạo tín hiệu Reset hệ thống

f) Clock generator (Clocking) - Mạch tạo xung Clock

Mạch tạo xung Clock có vai trò quan trọng trên Main, chúng tạo xung nhịp cung cấp cho các thành phần trên Main hoạt động đồng thời đồng bộ sự hoạt động của toàn

hệ thống máy tính, nếu mạch Clock bị hỏng thì các thành phần trên Main không thể hoạt động được, mạch Clocking hoạt động đầu tiên sau khi Main có nguồn cung cấp

g) VRM (Voltage Regulator Module) – Mô-đun ổn áp

Đây là mạch điều khiển nguồn VCORE cấp cho CPU, mạch có nhiệm vụ biến đổi điện áp 12V/2A thành điện áp khoảng 1,5V và cho dòng lên tới 10A để cấp cho CPU, mạch bao gồm các linh kiện như đèn Mosfet, IC dao động, các mạch lọc L,C

h) Khe AGP hoặc PCI Express

Khe AGP và PCI Express dùng để gắn Card video, khe AGP hoặc PCI Express

do Chipset bắc điều khiển

Trang 26

Sau khi học xong bài này người học có khả năng

2.1.1 Cấu trúc cơ bản của một CPU

2.1.1.1 Khối điều khiển CU – Control Unit

a) Chức năng

- Nhận lệnh từ bộ nhớ đưa vào thanh ghi lệnh IP

- Tăng nội dung thanh ghi PC mỗi khi nhận lệnh xong

- Giải mã lệnh và xác định thao tác mà lệnh yêu cầu

- Phát ra tín hiệu điều khiển thực thi lệnh

- Nhận các tín hiệu yêu cầu từ BUS hệ thống và giải quyết đáp ứng yêu cầu đó

Trang 27

b) Các thông tin kết nối đến CU

- Clock: tín hiệu xung nhịp từ mạch tạo dao động

- Mã lệnh từ thanh ghi lệnh đưa đến CU giải mã

- Các trạng thái cờ đưa đến cho biết trạng thái của CPU cũng như trạng thái thực hiện các phép toán trong ALU

- Các tín hiệu điều khiển từ BUS điều khiển

- Các tín hiệu điều khiển bên trong CPU: điều khiển thanh ghi, ALU

- Các tín hiệu điều khiển bên ngoài CPU đó là Bộ nhớ hay cổng vào ra

2.1.1.2 Khối Logic toán học ALU

Chức năng: Thực các phép toán số học và logic

- Số học: cộng, trừ, nhân, chia, tăng, giảm, đảo,

- Logic: AND, OR,XOR, NOT, dịch bit,…

- Mô hình kết nối của ALU

Trang 28

2.1.1.3 Tập các thanh ghi

a) Chức năng:

- Thực chất là vùng nhớ được CPU nhận biết qua tên thanh ghi và có tốc độ truy xuất cực nhanh

- Chứa 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

- Số lượng thanh ghi tuỳ thuộc vào bộ vi xử lý cụ thể -> tăng hiệu năng CPU

- Thanh ghi chia 2 loại: Loại lập trình được và loại không lập trình được

Dưới đây là tập các thanh ghi đa năng ở các thế hệ vi xử lý từ 8bit – 64bit:

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

- Thanh ghi địa chỉ: Thanh ghi được sử dụng để quản lý địa chỉ của ngăn nhớ hay cổng vào ra

- Thanh ghi dữ liệu: Thanh ghi dùng để lưu trữ dữ liệu tạm thời

- Thanh ghi đa năng: Thanh ghi có thể chứa dữ liệu hoặc địa chỉ đều được

- Thanh ghi điều khiển/trạng thái: Thanh ghi chứa thông tin về trạng tháiCPU

- Thanh ghi lệnh: thanh ghi chứa lệnh đang được thực hiện

Trang 29

2.1.2 Cấu trúc CPU Dual Core

2.1.2.1 Cấu trúc chung của một CPU dual core của AMD

Hình 2.1 Dual Core của AMD

Ta nhận thấy rằng ở thế hệ này 2 nhân CPU được tích hợp trên một chip duy nhất với cùng kích thước và số chân nhưng tốc độ thực thi tăng gần như gấp đôi Tuy nhiên với kiến trúc này vẫn có một nhược điểm đó là mỗi Core có một cache riêng, điều này làm cho hiệu xuất sử dụng cache sẽ không cao, vì có khi một core thiếu cache trong khi core kia không sử dụng đến cache của mình

2.1.2.2 Cấu trúc CPU dual core của Intel

Hình 2.2 Smart Cache trong Chip Dual core của Intel

Trang 30

Kiến trúc này sử dụng công nghệ chia sẻ thông minh cache L2, nghĩa là 2 core sử dụng chung cache L2 với tổng dung lượng 4MB Còn ở thế hệ Dual Core trước đây, mỗi nhân có cache L2 riêng với dung lượng mỗi cache là 2MB và có nhược điểm là cache L2 của nhân nào thì nhân đó dùng, nếu thừa thì để đó và thiếu thì phải đợi Việc chia sẻ cache L2 cũng làm tăng băng thông của từng nhân Cache L2 dùng chung được cấp một cách năng động cho từng nhân của CPU dựa vào khối lượng công việc Việc thực thi tối ưu 2 nhân có hiệu quả này làm tăng khả năng truy cập dữ liệu của mỗi nhân từ cache L2, giảm thời gian trễ một cách đáng kể cho những dữ liệu được thường xuyên sử dụng và nâng cao hiệu quả tính toán

2.1.2.3 Một số ưu điểm vượt trội của công nghệ dual core

1) Tăng tốc độ tính toán song song bằng kỹ thuật siêu phân luồng (Hình 2.3)

2) Tăng tốc độ thực thi chương trình bằng bằng công nghệ chia sẻ với Cache lớn hơn (Hình 2.4)

3) Tăng tốc độ xử lý các gói Media (Video, ảnh, …) 128bit/lần (Hình 2.5)

4) Tiết kiệm năng lượng tối đa: Chỉ cấp nguồn cho core nào đang hoặt động

Hình 2.3 Siêu phân luồng với đa nhân

Trang 31

Hinh 2.4 Chia sẻ Cache thông minh

Trang 32

 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

2.2.2 Một số nhóm lệnh cơ bản

2.2.2.1 Phân loại

- Thao tác chuyển dữ liệu

- Thao tác xử lý số học và logic

- Thao tác vào ra dữ liệu qua cổng

- Thao tác điều khiển rẽ nhánh

- Thao tác điều khiển hệ thống

- Thao tác xử lý số dấu chấm động

- Thao tác chuyên dụng khác: xử lý ảnh, âm thanh, tiếng nói,…

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

Trang 33

- Lệnh Mov: Sao chép dữ liệu từ toán hạng nguồn -> đích

MOV Var 2, AX // sao chép dữ liệu từ thanh ghi AX vào biến Var 2

2.2.2.3 Các lệnh vào ra

- Lệnh Input:

 Cú pháp: In đích, địa_chỉ_cổng_nguồn

- Lệnh Output

 Cú pháp: Out địa_chỉ_cổng_đích, nguồn

IN AL,DX //

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

- Lệnh Jump: Nhẩy đến vị trí bất kỳ trong chương trình

Trang 34

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

- Lệnh Halt : dừng thực hiện chương trình

- Lệnh Wait : tạm dừng thực hiện chương trình, lặp kiểm tra 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ả

- Lệnh Lock : Cấm không cho chuyển nhượng BUS

- Lệnh Unlock: cho phép chuyển nhượng BUS

2.2.3 Các phương pháp xác định địa chỉ toán hạng

Mỗi một lệnh đều có trường toán hạng, trong thực tế khi ta lập trình với các ngôn ngữ bậc cao, có nhiều cách để gán một giái trị cho một biến:

X = 15 // gán tức thì gia trị 15 cho X

X = y // Gán giá trị cho X thông qua y

X = mang[i] // gán giá trị cho X bằng địa chỉ tương đối qua biến

Cách thức để tìm được giá trị và truyền cho X gọi là các cách xác định địa chỉ,

có 7 cách xác định địa chỉ chính như sau:

2.2.3.1 Chế độ địa chỉ thanh ghi

Dùng thanh ghi như là các toán hạng chứa dữ liệu cần thao tác, tốc độ thực hiện lệnh rất nhanh vì CPU không mất thời gian tìm kiếm dữ liệu

MOV DS, BX ; DS:= BX ADD AL, DL ; AL:= AL + DL

2.2.3.2 Chế độ địa chỉ tức thì

Toán hạng đích là thanh ghi, hoặc ô nhớ Toán hạng nguồn là 1 giá trị cụ thể (hằng số)

Trang 35

Ví dụ: MOV AL, 0Dh ; AL:=0Dh

Lệnh này thường được dùng để nạp dữ liệu cần thao tác vào thanh ghi nào đó

2.2.3.4 Chế độ địa chỉ gián tiếp qua thanh ghi

Một toán hạng là thanh ghi chứa địa chỉ offset của ngăn nhớ chứa giá trị cần thao tác Toán hạng kia là thanh ghi (không được là ngăn nhớ)

MOV [BX], AL ; Đưa nội dung thanh ghi AL vào ngăn nhớ có địa chỉ offset nằm trong thanh ghi BX

2.2.3.5 Chế độ địa chỉ tương đối cơ sở

Trang 36

Thanh ghi BX, BP và các hằng số là giá trị dịch chuyển để xác định ngăn nhớ trong DS, SS chứa giá trị cần thao tác

Ví dụ: MOV [BX + N], CL ; Đưa nội dung thanh ghi CL vào ngăn nhớ có địa chỉ

offset BX + N (DS:BX + N) MOV AL, [BP + N] ; Đưa nội ngăn nhớ có địa chỉ offset BP + N vào thanh

ghi AL (SS:BP + N)

2.2.3.6 Chế độ địa chỉ tương đối chỉ số

Thanh ghi DI, SI và các hằng số là giá trị dịch chuyển để xác định ngăn nhớ chứa giá trị trong DS cần thao tác

Ví dụ:

MOV [SI + N], AH ; Đưa nội dung thanh ghi AH vào ngăn nhớ có địa chỉ offset

tại SI + N (DS:SI + N)

MOV CL, [DI + N] ; Đưa nội dung ngăn nhớ có địa chỉ offset tại DI + N (DS:DI +

N) vào thanh ghi CL

2.2.3.7 Chế độ địa chỉ tương đối chỉ số cơ sở

Chế độ địa chỉ này là sự kết hợp cả 2 chế độ địa chỉ trên Dùng cả thanh ghi cơ

sở và thanh ghi chỉ số để tính địa chỉ toán hạng

Ví dụ:

MOV [BX + SI + N], AX ; Đưa nội dung thanh ghi AX vào ngăn nhớ có địa chỉ

offset tại BX + SI + N (DS:BX + SI + N)

MOV CL, [BP + DI + N] ; Đưa nội dung ngăn nhớ có địa chỉ offset tại BP + DI + N

(DS:BP + DI + N) vào thanh ghi CL

2.3 Hoạt động của CPU

2.3.1 Nguyên tắc chung

Khi bạn kích đúp vào một biểu tượng nào đó để chạy chương trình thì những gì

sẽ xảy ra là:

Trang 37

- Chương trình đã lưu bên trong ổ đĩa cứng(hoặc USB/CDROM) sẽ được đưa vào bộ nhớ RAM Ở đây chương trình chính là một loạt các chỉ lệnh đối với CPU

- CPU sử dụng mạch phần cứng được gọi là memory controller để tải dữ liệu chương trình từ bộ nhớ RAM vào CPU

- Lúc đó dữ liệu bên trong CPU sẽ được xử lý

- Những gì diễn ra tiếp theo sẽ phụ thuộc vào chương trình vừa được nạp CPU

có thể tiếp tục tải và thực thi chương trình hoặc có thể thực hiện một công việc nào đó với dữ liệu đã được xử lý, như việc hiển thị kết quả thực hiện nào đó lên màn hình

Quy trình chương trình được lưu đưa vào CPU

2.3.2 Tải dữ liệu giữa bộ nhớ ngoài và RAM

Trước đây, CPU trực tiếp điều khiển việc vận chuyển dữ liệu giữa bộ nhớ ngoài

và RAM Vì bộ nhớ ngoài thường có tốc độ truy cập thấp hơn so với bộ nhớ RAM nên nó làm chậm quá trình thực thi chương trình cho cả hệ thống, chính vì vậy CPU

sẽ rất bận một cách vô ích trong việc tải dữ liệu giữa bộ nhớ ngoài và RAM Phương pháp này được gọi là PIO, Processor I/O (hay Programmed I/O)

Ngày nay, việc vận chuyển dữ liệu giữa bộ nhớ ngoài và RAM được thực hiện

mà không sử dụng trực tiếp đến CPU, điều này làm cho hệ thống hoạt động nhanh hơn và CPU rảnh thời gian thay vì phải chuyển dữ liệu sang làm việc khác Phương pháp này được gọi là bus mastering hay DMA (Direct Memory Access) Đây là giải pháp chuyên biệt cho việc vận chuyển dữ liệu

Các bộ vi xử lý của AMD dựa trên sockets 754, 939 và 940 (Athlon 64, Athlon

64 X2, Athlon 64 FX, Opteron và một số mô hình Sempron) có một đơn vị điều khiển

bộ nhớ (memory controller) được nhúng bên trong Điều đó có nghĩa rằng với các bộ

Trang 38

vi xử lý này, CPU truy cập bộ nhớ RAM một cách trực tiếp mà không sử dụng chíp bắc cầu Bắc (north bridge chip)

2.3.3 Giải mã và thực thi lệnh

Khối tìm nạp (CU) chịu hoàn toàn trách nhiệm về việc nạp các lệnh từ bộ nhớ Đầu tiên, nó xem lệnh được yêu cầu bởi CPU có trong bộ nhớ Cache L1(L1 instruction cache) hay không Nếu không có ở đây, nó sẽ vào bộ nhớ Cache L2 Nếu lệnh cũng không có trong bộ nhớ Cache L2 thì nó sẽ phải nạp trực tiếp từ bộ nhớ RAM

Khi bạn bật máy tính, tất cả các Cache đều trống rỗng, tuy nhiên khi hệ thống bắt đầu nạp hệ điều hành, CPU bắt đầu xử lý các lệnh đầu tiên từ ổ cứng và cache controller bắt đầu nạp lệnh vào Cache

Sau khi khối tìm nạp đã có được lệnh cần thiết cho CPU để được xử lý, nó gửi lệnh này đến khối giải mã

Khối giải mã sẽ “phân tích” và chỉ ra lệnh này thực hiện những nhiệm vụ gì Sau khi khối giải mã dịch xong lệnh và lấy được tất cả dữ liệu cần thiết để thực thi lệnh này, nó sẽ gửi tất cả cùng với MicroCode của lệnh đó đến khối thực thi

Khối thực thi sẽ thực hiện lệnh này Trên các CPU hiện đại, bạn sẽ thấy có nhiều khối thực thi làm việc song song Điều này nhằm tăng hiệu suất của CPU Ví dụ, một CPU có 6 khối thực thi sẽ có thể thực thi đến 6 lệnh song song đồng thời, chính vì vậy theo lý thuyết nó hoàn toàn có thể thực hiện được một hiệu suất bằng với 6 bộ vi xử lý

Sơ đồ khối của bộ vi xử lý 8088/8086 gồm 2 đơn vị chính(Hình 30):

- EU (Execution Unit): Đơn vị (khối) thực hiện lệnh

- BIU (Bus Interface Unit): Đơn vị giao tiếp bus (khối tương thích bus) để điều khiển bus hiệu quả hơn

Trang 39

2.4.1.1 Khối thực hiện lệnh EU

Đơn vị EU của 8088 và 8086 giống nhau, bao gồm ALU, thanh ghi cờ, các thanh ghi đệm và các thanh ghi đa năng Các bus dữ liệu bên trong của EU đều là 16 bit EU không kết nối trực tiếp với bên ngoài, nó nhận lệnh từ hàng đợi lệnh bên trong BUI.Nếu là lệnh cần truy nhập bộ nhớ hoặc cổng vào/ra (I/O port - thiết bị ngoại vi) thì EU yêu cầu BIU lấy hoặc gửi dữ liệu Tất cả các địa chỉ mà EU thao tác đều là 16 bit, khi gửi sang BIU thì BIU sẽ thực hiện tính toán để tạo địa chỉ vật lý 20 bit và phát

ra các chân địa chỉ của chip

a Các thanh ghi của EU

Có 8 thanh ghi, là thành phần nhớ có tốc độ truy nhập rất cao Bao gồm các thành

ghi đa năng Ax, Bx, Cx, Dx Mỗi thanh ghi 16 bit có thể được phân chia thành 2 thanh

ghi 8 bit làm việc độc lập nhau

Trang 40

- AX (Accumulator, Acc): Thanh chứa, chứa tạm thời dữ liệu (toán hạng, kết quả phép toán như nhân, chia và được coi là Acc) AX có thể được phân chia thành

AH (Phần cao) và AL (Phần thấp)

- BX (Base): Thanh ghi cơ sở, thường được dùng để chứa địa chỉ cơ sở cần truy nhập trong lệnh XLAT BX có thể được phân chia thành BH (Phần cao) và BL (Phần thấp)

- CX (Count): Bộ đếm, thường được dùng để đếm số lần lặp của công việc (số lần lặp trong các vòng lặp) CX có thể được phân chia thành CH (Phần cao) và CL (Phần thấp) CX thường được dùng để chứa số lần lặp trong các lệnh LOOP, còn

CL thường chứa số lần dịch hoặc quay trong các lệnh dịch quay thanh ghi

- DX (Data): Thanh ghi đữ liệu, sử dụng để chứa toán hạng, kết quả DX cùng

AX dùng để chứa toán hạng hoặc kết quả của các phép nhân, chia số 16 bit DX còn chứa địa chỉ cổng trong các lệnh vào ra trực tiếp (IN, OUT) DX có thể được phân chia thành DH (Phần cao) và DL (Phần thấp)

b Các thanh con trỏ

Các thanh ghi SP, BP là các thanh ghi con trỏ không tách rời

- SP (Stack Pointer): Thanh ghi con trỏ ngăn xếp, trỏ vào đỉnh hiện thời của ngăn xếp nằm trong đoạn ngăn xếp SS (Nó luôn kết hợp với thanh ghi SS) Ta có địa chỉ logic SS: SP Sau mỗi thao tác cất một word vào stack (thao tác Push) thì SP

tự động giảm 2 đơn vị, còn sau thao tác lấy một word ra khỏi stack (thao tác Pop),

SP được tự động tăng 2 đơn vị

- BP (Base stack Pointer): Con trỏ cơ sở, luôn trỏ vào một dữ liệu cụ thể nằm trong đoạn ngăn xếp SS Ta có địa chỉ logic SS: BP

- SI (Source Index): Thanh ghi chỉ số nguồn (hay nguồn), chỉ vào dữ liệu nằm trong đoạn DS Ta có địa chỉ logic DS: SI

- DI (Destination Index): Thanh ghi chỉ số đích, chỉ dữ liệu trong đoạn DS Ta có địa chỉ logic DS: DI

c Khối ALU

Ngày đăng: 08/06/2021, 03:08

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w