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ớ
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 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](https://s1.tailieuvn.net/xb70nb5jd4llaq8g/thumb/2021/11/25/bai-giang-kien-truc-may-tinh-he-dieu-hanh-chuong-2-to-chuc-c_6Vd5i45Fzv.jpg)
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:
bai_giang_kien_truc_may_tinh_he_dieu_hanh_chuong_2_to_chuc_c.ppt