Bài giảng Kiến trúc máy tính & hệ điều hành - Chương 2: Tổ chức CPU-bộ nhớ - Nguyễn Trần Thi Văn

Nội dung của chương

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

Kiến trúc phần mềm của bộ xử lý

Tổ chức bộ xử lý

Các cấp bộ nhớ

 

ppt 58 trang phuongnguyen 6340
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính & hệ điều hành - Chương 2: Tổ chức CPU-bộ nhớ - Nguyễn Trần Thi Văn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Kiến trúc máy tính & hệ điều hành - Chương 2: Tổ chức CPU-bộ nhớ - Nguyễn Trần Thi Văn

Bài giảng Kiến trúc máy tính & hệ điều hành - Chương 2: Tổ chức CPU-bộ nhớ - Nguyễn Trần Thi Văn
Tổ chức CPU – bộ nhớ 
Chương 02 
CBGD: Nguyễn Trần Thi Văn 
KIẾN TRÚC MÁY TÍNH & HỆ ĐIỀU HÀNH 
Đại học Sư phạm Kỹ thuật TP. HCMKhoa Công nghệ Thông tin----o0o---- 
2 
Saturday, November 27, 2021 
Nội dung của chương 
Thành phần cơ bản của máy tính 
Kiến trúc phần mềm của bộ xử lý 
Tổ chức bộ xử lý 
Các cấp bộ nhớ 
3 
Saturday, November 27, 2021 
Mục tiêu của chương 
Trình bày được các thành phần cơ bản của một hệ thống máy tính 
Định nghĩa được kiến trúc máy tính là gì 
Trình bày được kiến trúc phần mềm của bộ xử lý 
Trình bày được các cấp tổ chức bộ nhớ 
4 
Saturday, November 27, 2021 
Các thành phần của máy tính 
Gồm bộ xử lý trung tâm, bộ nhớ trong và các thiết bị nhập/xuất thông tin 
5 
Saturday, November 27, 2021 
Các thành phần của máy tính 
Bộ nhớ trong: 
L à một tập hợp các ô nhớ, mỗi ô nhớ có một số bit nhất địn h chứa thông tin. 
Các thông tin này là các lệnh hay số liệu. 
Mỗi ô nhớ của bộ nhớ trong đều có một địa chỉ. 
Thời gian thâm nhập vào một ô nhớ bất kỳ trong bộ nhớ là như nhau 
C òn được gọi là bộ nhớ truy cập ngẫu nhiên (RAM: Random Access Memory) 
6 
Saturday, November 27, 2021 
Các thành phần của máy tính 
Bộ xử lý trung tâm (CPU): 
L à bộ phận thi hành lệnh. 
CPU lấy lệnh từ bộ nhớ trong và lấy các số liệu mà lệnh đó xử lý. 
G ồm có hai phần: phần thi hành lệnh (ALU) và phần điều khiển (CU) . Ngoài ra còn có các thanh ghi. 
7 
Saturday, November 27, 2021 
Các thành phần của máy tính 
Bộ phận vào/ra: 
Dùng để nhập/xuất thông tin . 
Giao tiếp người-máy, hoặc giao tiếp máy-máy trong hệ thống mạng 
Có thể là thiết bị lưu trữ ngoài, màn hình, bàn phím, máy in,  
8 
Saturday, November 27, 2021 
Các thành phần của máy tính 
Các bộ phận được kết nối với nhau thông qua hệ thống bus: 
Bus địa chỉ: chuyển các thông tin là địa chỉ 
Bus dữ liệu: chuyển dữ liệu chung 
Bus điều khiển: chuyển các tín hiệu điều khiển, ra lệnh 
9 
Saturday, November 27, 2021 
Các thành phần của máy tính. 
Hoạt động điển hình của 1 máy tính: 
10 
Saturday, November 27, 2021 
Kiến trúc máy tính 
Kiến trúc máy tính bao gồm 3 phần: 
Kiến trúc phần mềm : chủ yếu là kiến trúc BXL, gồm tập lệnh, dạng lệnh và các kiểu định vị. 
Tổ chức của máy tính : liên quan đến cấu trúc BXL, các bus và cách tổ chức bộ nhớ 
Lắp đặt phần cứng : các thiết bị điện tử cần thiết để tạo nên một máy tính hoàn chỉnh. 
11 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Nội dung chính của phần: 
Các kiểu thi hành 1 lệnh máy 
Kiến trúc thanh ghi đa dụng 
Tập lệnh 
Các kiểu định vị 
Toán hạng 
Kiến trúc RISC. 
12 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Các kiểu thi hành 1 lệnh máy 
Một lệnh máy bao gồm: mã tác vụ và các toán hạng. 
Số toán hạng cần chọn phù hợp, thường từ 0 đến 3. 
Ví dụ: Y := A + B + C + D 
	1 lệnh máy, 4 toán hạng >> 3 mạch cộng 
	3 lệnh máy, 2 toán hạng >> 1 mạch cộng 
13 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Các kiểu thi hành 1 lệnh máy 
Vị trí của toán hạng cũng cần xem xét. 
Có 3 kiểu cơ bản: 
14 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Các kiểu thi hành 1 lệnh máy 
Ví dụ: chuỗi lệnh cần thực hiện để tínhC := A + B trong 3 kiến trúc phần mềm 
15 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Các kiểu thi hành 1 lệnh máy. 
Kiến trúc thanh ghi dùng chung được sử dụng rộng rãi vì tốc độ truy xuất nhanh, ít giao tiếp bộ nhớ thường xuyên và tăng hiệu quả của các trình dịch. 
(Ưu khuyết điểm của từng kiến trúc, xem tr. 26, 27, chương II, giáo trình KTMT) 
16 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Kiến trúc thanh ghi đa dụng. 
Một lệnh ALU có 2 hoặc 3 toán hạng 
Nếu có 3 toán hạng thì 1 sẽ chứa kết quả thực hiện phép tính của 2 toán hạng còn lại 
Số toán hạng bộ nhớ trong 1 lệnh có thể từ 0 tới 3 
Do đó 1 lệnh có thể chia thành: thanh ghi-thanh ghi, thanh ghi-bộ nhớ, bộ nhớ-bộ nhớ. 
17 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Tập lệnh 
Cú pháp chung: 
	 Mã lệnh Rdest , Rsource 1, Rsource 2 
Trong đó: 
Rdest: thanh ghi đích 
Rsource1: thanh ghi nguồn thứ nhất 
Rsource2: thanh ghi nguồn thứ hai 
18 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Tập lệnh 
Các lệnh gán trị: 
Lệnh bộ nhớ: LOAD, STORE 
Lệnh số học: ADD, ADDD, SUB, SUBD, MUL, DIV 
Lệnh logic: AND, OR, XOR, NEG 
Các lệnh dịch chuyển: SLL, SRL, SLA, SRA 
19 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Tập lệnh 
20 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Tập lệnh 
Các lệnh điều kiện: 
	 Nếu thì nếu không 
	(IF THEN ELSE ) 
Được hiện thực hóa bằng cách sử dụng lệnh nhảy (di chuyển đến lệnh cần thực hiện 1 cách không tuần tự) 
21 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Tập lệnh 
Vòng lặp: 
Cho phép lặp đi lặp lại 1 đoạn lệnh nhiều lần 
Được hiện thực hóa bằng cách sử dụng lệnh nhảy (quay lại vị trí lệnh đã đi qua) 
22 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Tập lệnh. 
Truy cập bộ nhớ ngăn xếp: 
PUSH và POP 
Các thủ tục: 
CALL 
Dùng ngăn xếp để lưu địa chỉ trở về (quay về thủ tục đang thực hiện dang dở) 
23 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Các kiểu định vị 
Định nghĩa cách thức thâm nhập các toán hạng (bộ nhớ hoặc thanh ghi) 
2 kiểu định địa chỉ liên quan đến ô nhớ: big-endian và little-endian 
24 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Các kiểu định vị. 
25 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL 
Toán hạng. 
Kiểu: địa chỉ, dạng số, dạng chuỗi, logic. 
Chiều dài: xác định bởi kiểu (8bit, 16bit, 32bit hoặc 64bit) 
26 
Saturday, November 27, 2021 
Kiến trúc phần mềm của BXL. 
Kiến trúc RISC. 
R educed I nstruction S et C omputer 
(Xem thêm ở các trang 35 đến 38, chương II, giáo trình KTMT) 
27 
Saturday, November 27, 2021 
Tổ chức bộ xử lý 
Nội dung chính của phần 
Đường đi của dữ liệu 
Bộ điều khiển 
Các bước thực thi 1 lệnh máy 
Kỹ thuật ống dẫn 
Một số kỹ thuật khác 
28 
Saturday, November 27, 2021 
Tổ chức bộ xử lý 
Đường đi của dữ liệu. 
Gồm ALU, các mạch dịch, các thanh ghi và đường nối giữa chúng. 
Nhiệm vụ chính là: 
Đọc toán hạng từ thanh ghi dùng chung 
Thực hiện phép tính trên ALU 
Lưu kết quả trở lại thanh ghi dùng chung 
Là phần tương đối dễ cài đặt và xử lý. 
29 
Saturday, November 27, 2021 
Tổ chức bộ xử lý 
Bộ điều khiển (CU). 
Tạo tín hiệu di chuyển số liệu 
Điều khiển ALU, điều khiển đọc ghi bộ nhớ trọng, 
Tạo tín hiệu giúp thực hiện các lệnh 1 cách tuần tự 
Có thể cài đặt dùng mạch điện tử hoặc dùng vi chương trình . 
30 
Saturday, November 27, 2021 
Tổ chức bộ xử lý 
Các bước thi hành 1 lệnh máy 
Đọc lệnh ( IF : Instruction Fetch) 
Giải mã lệnh ( ID : Instruction Decode) và đọc các thanh ghi nguồn 
Thi hành lệnh ( EX : Execute) 
Thâm nhập bộ nhớ trong hoặc nhảy ( MEM : Memory access) 
Lưu trữ kết quả ( RS : Result Storing). 
31 
Saturday, November 27, 2021 
Tổ chức bộ xử lý 
Ngắt (interrupt) 
Xảy ra khi có một sự kiện nào đó đột ngột làm gián đoạn tính tuần tự của chương trình: 
Ngoại vi đòi hỏi nhập hoặc xuất số liệu 
Báo tràn số liệu trong tính toán số học. 
Trang bộ nhớ thực sự không có trong bộ nhớ. 
Báo vi phạm vùng cấm của bộ nhớ. 
Báo dùng một lệnh không có trong tập lệnh. 
Báo phần cứng máy tính bị hư ,  
32 
Saturday, November 27, 2021 
Tổ chức bộ xử lý 
Ngắt (interrupt). 
Cơ chế xử lý: 
Thực hiện xong lệnh đang làm. 
Lưu trữ trạng thái hiện tại. 
Nhảy đến chương trình phục vụ ngắt 
Khi chương trình phục vụ chấm dứt, bộ xử lý khôi phục lại trạng thái cũ của nó và tiếp tục thực hiện chương trình mà nó đang thực hiện khi bị ngắt. 
33 
Saturday, November 27, 2021 
Tổ chức bộ xử lý 
Kỹ thuật ống dẫn (pipeline) 
Cho phép các phần của nhiều lệnh máy được thực hiện đồng thời. 
34 
Saturday, November 27, 2021 
Tổ chức bộ xử lý 
Kỹ thuật ống dẫn (pipeline). 
Ưu điểm khá rõ ràng: tăng tốc độ thực hiện các lệnh: 
Khó khăn: 
Về mặt cấu trúc : cần nhiều ALU, nhiều bộ đếm chương trình PC, nhiều con trỏ lệnh IR... 
Về mặt số liệu : lệnh sau sử dụng kết quả của lệnh trước đó, trong khi lệnh này chưa thực hiện xong. 
Về mặt điều khiển : (tương tự số liệu) 
35 
Saturday, November 27, 2021 
Tổ chức bộ xử lý 
Một số kỹ thuật khác 
Siêu ống dẫn (superpipeline): áp dụng kỹ thuật ống dẫn nhưng chia nhỏ chu kỳ thực hiện thành n phần, dẫn tới số lệnh được thực hiện cùng lúc tăng lên. 
Siêu vô hướng (superscalar): trong cùng 1 chu kỳ máy tính có thể thực hiện n lệnh cùng lúc. 
36 
Saturday, November 27, 2021 
Tổ chức bộ xử lý 
37 
Saturday, November 27, 2021 
Tổ chức bộ xử lý 
38 
Saturday, November 27, 2021 
Tổ chức bộ xử lý. 
Một số kiến trúc máy tính 
VLIW (Very Long Instruction Work): là máy tính theo kiểu siêu vô hướng, thay vì xử lý 1 lúc nhiều lệnh ngắn, người ta chuyển thành lệnh dài. 
Máy tính vector : có thể tính toán vô hướng (dùng pipeline) và tính toán vector. 
Máy tính song song : tăng số lượng bộ xử lý trong một máy tính để tăng tốc độ. 
39 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Nội dung của phần: 
Các loại bộ nhớ 
Các cấp bộ nhớ 
Cache và hoạt động của cache 
Bộ nhớ ảo 
40 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Các loại bộ nhớ 
Bộ nhớ RAM (truy xuất ngẫu nhiên): tất cả các ô có thể đọc/ghi với thời gian bằng nhau. 
Bộ nhớ ROM (chỉ đọc, không ghi được) 
Bộ nhớ ngoài (đĩa từ, đĩa quang): có thể cất giữ dữ liệu lâu dài, ngay cả khi đã cắt nguồn. 
41 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Các loại bộ nhớ 
Các loại RAM: 
SRAM (RAM tĩnh) 
DRAM (RAM động) 
SDRAM (Synchronous DRAM) 
DDRAM - DDR SDRAM (Double Data Rate) 
RDRAM (Rambus RAM) 
42 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Các loại bộ nhớ. 
Các loại ROM: 
PROM (Programmable ROM) 
EPROM (Erasable Programmable ROM) 
EEPROM (Electrically Erasable Programmable ROM) 
43 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Các cấp bộ nhớ 
Phân chia theo thời gian truy cập 
Phân chia theo khả năng lưu trữ 
Phân chia theo giá thành 
Phân chia theo chu kỳ bộ nhớ 
44 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Các cấp bộ nhớ 
45 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Hai mức bộ nhớ 
46 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Bộ nhớ cache 
Là vùng nhớ nằm ngay trên mạch của bộ xử lý. 
Cache có cấu trúc giống bộ nhớ trong (RAM) 
Do có dung lượng nhỏ nên nó chỉ chứa 1 phần chương trình. 
Việc luân chuyển dữ liệu qua lại giữa RAM và cache được thực hiện theo từng khối (blocks) 
47 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Bộ nhớ cache 
Cache hit : phần tử cần đọc/ghi được BXL tìm thấy trong cache 
Cache miss : phần tử cần đọc/ghi không có trong cache 
Cache penalty : là thời gian thâm nhập bộ nhớ trong (RAM) và chuyển khối cần đọc vào cache 
48 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Bộ nhớ cache 
Cơ chế hoạt động: (xem giáo trình KTMT, trang 67 - 72) 
49 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Bộ nhớ cache 
Hiệu quả của cache: 
	 Time AVG = Time Hit + Tỉ lệ Fail *Penalty 
với: 
Tỉ lệ Fail = số lần Fail/Tổng số lần truy cập 
50 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Bộ nhớ cache. 
Các mức cache: 
L1 (Level1 cache): on-chip cache 
L2 (Level2 cache): off-chip cache 
Một số hệ thống chuyên biệt còn có L3 cache 
51 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Bộ nhớ trong. 
Đáp ứng cho cache. 
Làm vùng đệm lưu trữ thông tin nạp từ ngoài vào. 
Thời gian truy cập chậm hơn so với cache, nhưng vẫn nhanh hơn nhiều so với bộ nhớ ngoài. 
52 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Bộ nhớ ảo 
Trước đây, người ta dùng kỹ thuật overlay trong trường hợp chương trình có kích thước lớn hơn dung lượng bộ nhớ 
Hiện nay, bộ nhớ ảo cho phép nhiều tiến trình (process) thực hiện cùng lúc. 
Bộ nhớ ảo bao gồm 1 phần bộ nhớ trong và 1 phần bộ nhớ ngoài (đĩa cứng) 
53 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Bộ nhớ ảo 
54 
Saturday, November 27, 2021 
Tổ chức bộ nhớ 
Bộ nhớ ảo 
Cơ chế hoạt động (xem thêm trong giáo trình KTMT, trang 76 - 69) 
55 
Saturday, November 27, 2021 
Tóm tắt chương 
Một máy tính gồm CPU, bộ nhớ và thiết bị vào/ra. 
Kiến trúc máy tính gồm 3 thành phần chính: kiến trúc phần mềm, tổ chức hệ thống và lắp đặt phần cứng. 
Kiến trúc phần mềm của bộ xử lý quy định tập lệnh và các kiểu định vị 
56 
Saturday, November 27, 2021 
Tóm tắt chương 
Tổ chức bộ xử lý quy định cách thức hoạt động của bộ xử lý. 
Các kỹ thuật tăng tốc BXL có thể kể đến ống dẫn, siêu ống dẫn, siêu vô hướng, xử lý song song, 
Bộ nhớ được phân chia thành nhiều loại: cache, RAM, ROM, bộ nhớ ngoài 
57 
Saturday, November 27, 2021 
Tóm tắt chương 
Cache có 2 mức chính là L1 và L2, tốc độ truy xuất cao, dung lượng thấp 
Bộ nhớ trong dùng làm vùng đệm chứa dữ liệu và chương trình. 
Bộ nhớ ảo sử dụng 1 phần bộ nhớ trong và 1 phần đĩa cứng, phân chia và bảo vệ các tiến trình hoạt động cùng lúc. 
58 
Saturday, November 27, 2021 
HẾT CHƯƠNG 02 
(còn tiếp) 

File đính kèm:

  • pptbai_giang_kien_truc_may_tinh_he_dieu_hanh_chuong_2_to_chuc_c.ppt