Bài giảng Cấu trúc máy tính - Chương 2: Kiến trúc cơ bản của máy tính

2.1. Các thành phần của máy tính 2.2. Hoạt động của máy tính 2.3. Liên kết hệ thống

ppt38 trang | Chia sẻ: thuongdt324 | Lượt xem: 852 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Cấu trúc máy tính - Chương 2: Kiến trúc cơ bản của máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Cấu trúc máy tínhChương 2KIẾN TRÚC CƠ BẢN CỦA MÁY TÍNH12/3/20201Chương 2: Kiến trúc cơ bản của máy tínhNội dung2.1. Các thành phần của máy tính2.2. Hoạt động của máy tính2.3. Liên kết hệ thống12/3/20202Chương 2: Kiến trúc cơ bản của máy tính2.1 Các thành phần của máy tínhBộ 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)CPUBộ nhớHệ thống vào raLiên kết hệ thống12/3/20203Chương 2: Kiến trúc cơ bản của máy tínhBộ xử lý trung tâm (CPU)Chức năng:điều khiển hoạt động của máy tínhxử lý dữ liệuNguyê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.12/3/20204Chương 2: Kiến trúc cơ bản của máy tínhCấu trúc cơ bản của CPUĐơn vị điều khiển(CU)Đơn vị số học và logic(ALU)Tập các Thanh ghi (RF)Đơn vị nối ghép bus (BIU)Bus bên trongBus bên ngoàiĐơ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).12/3/20205Chương 2: Kiến trúc cơ bản của máy tínhTốc độ của bộ xử lýTốc độ của bộ xử lý:Số lệnh được thực hiện trong 1 giâyMIPS (Million of Instructions per Second)Khó đánh giá chính xácTần số xung nhịp của bộ xử lý:Bộ xử lý hoạt động theo một xung nhịp (Clock) có tần số xác địnhTốc độ của bộ xử lý được đánh giá gián tiếp thông qua tần số của xung nhịp12/3/20206Chương 2: Kiến trúc cơ bản của máy tínhTốc độ bộ xử lý (tiếp)Dạng xung nhịpT0: chu kỳ xung nhịpTần số xung nhịp: f0 = 1/T0Mỗi thao tác của bộ xử lý cần kT0T0 càng nhỏ  bộ xử lý chạy càng nhanhVí dụ: Máy tính dùng bộ xử lý 2GHz Ta có f0 = 2GHz = 2x109Hz T0 = 1/f0 = 1/(2x109) = 0.5 ns.T012/3/20207Chương 2: Kiến trúc cơ bản của máy tínhBộ nhớ máy tínhChứ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)12/3/20208Chương 2: Kiến trúc cơ bản của máy tínhBộ nhớ trongChức năng và đặc điểm:Chứa các thông tin mà CPU có thể trao đổi trực tiếpTốc độ rất nhanhDung lượng không lớnSử dụng bộ nhớ bán dẫn: ROM và RAMCác loại bộ nhớ trong:Bộ nhớ chínhBộ nhớ cache (bộ nhớ đệm)12/3/20209Chương 2: Kiến trúc cơ bản của máy tínhBộ nhớ chínhChứ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.001010100000101110110001110110110010110011000011110111010100101110110101011011000110011100010111001100111000110010101001Nội dung Địa chỉ12/3/202010Chương 2: Kiến trúc cơ bản của máy tínhBộ nhớ cacheBộ 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ínhTốc độ nhanh hơnCache thường được chia thành một số mứcCache có thể được tích hợp trên chip vi xử lýCache có thể có hoặc không12/3/202011Chương 2: Kiến trúc cơ bản của máy tínhBộ nhớ ngoàiChức năng và đặc điểmLư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-raDung lượng lớnTốc độ chậmCác loại bộ nhớ ngoàiBộ nhớ từ: đĩa cứng, đĩa mềmBộ nhớ quang: đĩa CD, DVDBộ nhớ bán dẫn: Flash disk, memory card12/3/202012Chương 2: Kiến trúc cơ bản của máy tínhHệ thống vào/raChứ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)Mạch ghép nối vào-ra (IO Modules)Các loại thiết bị ngoại vi cơ bảnThiế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 ...Mạchghép nối Vào/RaThiết bị ngoại viThiết bị ngoại viThiết bị ngoại vi12/3/202013Chương 2: Kiến trúc cơ bản của máy tínhMạch ghép nối Vào/RaChức năng: nối ghép các thiết bị ngoại vi với máy tínhMỗ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.Mạchghép nối Vào/RaThiết bị ngoại viThiết bị ngoại viThiết bị ngoại vi12/3/202014Chương 2: Kiến trúc cơ bản của máy tính2.2 Hoạt động của máy tính CPU Đọc lệnh Phân tích lệnh Thực thi lệnhBỘ NHỚ CHÍNH Lưu trữ thông tin Nơi chứa chương trìnhđể CPU đọc và thực thiKhối xuất nhậpGiao tiếp với môi trường bên ngoàixuất nhập dữ liệu, bộ nhớ phụ12/3/202015Chương 2: Kiến trúc cơ bản của máy tínhChu trình lệnhMáy tính lặp đi lặp lại hai bước: nhận lệnh và thực thi 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.Nhận lệnhBắ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.Bắt đầuDừngNhận lệnhThực hiện lệnh12/3/202016Chương 2: Kiến trúc cơ bản của máy tínhChu trình lệnhThực hiện lệnhBộ 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ínhTrao đổi dữ liệu giữa CPU và mạch ghép nối vào/raXử 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ánhKết hợp các thao tác trên.Bắt đầuDừngNhận lệnhThực hiện lệnh12/3/202017Chương 2: Kiến trúc cơ bản của máy tínhMinh họa quá trình nhận lệnh202CPUPCIRLệnhLệnhLệnh iLệnh i+1Lệnh200201202203204203Lệnh iCPUPCIRLệnhLệnhLệnh iLệnh i+1Lệnh20020120220320412/3/202018Chương 2: Kiến trúc cơ bản của máy tínhNgắt (Interrupt)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ạch ghép vào-ra phát tín hiệu ngắt đến CPU yêu cầu trao đổi dữ liệu.12/3/202019Chương 2: Kiến trúc cơ bản của máy tínhHoạt động ngắtSau khi hoàn thành mỗi một lệnh, bộ xử lý kiểm tra tín hiệu ngắtNế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ạiNếu có tín hiệu ngắt:Tạm dừng chương trình đang thực hiệnCấ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ắtChuyển sang thực hiện chương trình con phục vụ ngắtCuố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ừng12/3/202020Chương 2: Kiến trúc cơ bản của máy tínhMinh họa hoạt động ngắtLệnhLệnhLệnhLệnh iLệnh i + 1LệnhLệnhLệnhLệnhLệnhLệnhLệnhRETURNChương trình con phục vụ ngắtNgắt ở đây12/3/202021Chương 2: Kiến trúc cơ bản của máy tínhXử lý với nhiều tín hiệu yêu cầu ngắtXử lý ngắt tuần tự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ắtCá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ý xongCác ngắt được thực hiện tuần tựXử lý ngắt ưu tiênCác ngắt được định nghĩa mức ưu tiên khác nhauNgắ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ơnXẩy ra ngắt lồng nhau12/3/202022Chương 2: Kiến trúc cơ bản của máy tính2.3. Liên kết hệ thốngCPUBộ nhớHệ thống vào raLiên kết hệ thống12/3/202023Chương 2: Kiến trúc cơ bản của máy tínhKết nối mô-đun nhớĐịa chỉ đưa đến để xác định ngăn nhớDữ liệu được đưa đến khi ghiDữ 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)Mô-đunnhớĐịa chỉDữ liệuDữ liệu/lệnhTín hiệu điều khiển đọcTín hiệu điều khiển ghi12/3/202024Chương 2: Kiến trúc cơ bản của máy tínhKết nối mô-đun vào/raĐịa chỉ đưa đến để xác định cổng vào-raNhận dữ liệu CPU, bộ nhớ chính hay từ thiết bị ngoại viĐưa dữ liệu vào CPU, bộ nhớ chính hay thiết bị ngoại viNhận các tín hiệu điều khiển từ CPUPhát các tín hiệu điều khiển đến thiết bị ngoại viPhát các tín hiệu ngắt đến CPUMô-đunVào/RaĐịa chỉDữ liệu từ bên trongTín hiệu điều khiển đọcTín hiệu điều khiển ghiDữ liệu từ TBNVDữ liệu đến bên trongDữ liệu đến TBNVCác tín hiệu điều khiển đển TBNVCác tín hiệu điều khiển ngắt12/3/202025Chương 2: Kiến trúc cơ bản của máy tínhKết nối CPUĐọc lệnh và dữ liệuNhận các tín hiệu ngắtPhát địa chỉ đến các mô-đun nhớ hay các mô-đun vào-raĐư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-raCPULệnhDữ liệuĐịa chỉCác tín hiệu điều khiển ngắtDữ liệuCác tín hiệu điều khiển bộ nhớ và vào/ra12/3/202026Chương 2: Kiến trúc cơ bản của máy tínhBUSBus: 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:Bus địa chỉBus dữ liệuBus đ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)CPUMô-đun nhớMô-đunVào/RaBus điều khiểnBus địa chỉBus dữ liệu12/3/202027Chương 2: Kiến trúc cơ bản của máy tínhBus đị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)12/3/202028Chương 2: Kiến trúc cơ bản của máy tínhBus dữ liệuChức năng:vận chuyển lệnh từ bộ nhớ đến CPUvậ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.N bit: DN-1, DN-2, ... D2, D1, D0N thường là 8, 16, 32, 64,128 bit.Ví dụ: Các bộ xử lý Pentium có bus dữ liệu 64 bit12/3/202029Chương 2: Kiến trúc cơ bản của máy tínhBus điều khiểnChức năng: vận chuyển các tín hiệu điều khiểnCác loại tín hiệu điều khiển:Các tín hiệu điều khiển đọc/ghiCác tín hiệu điều khiển ngắtCác tín hiệu điều khiển bus12/3/202030Chương 2: Kiến trúc cơ bản của máy tínhMột số tín hiệu điều khiển điển hìnhCá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.12/3/202031Chương 2: Kiến trúc cơ bản của máy tínhMột số tín hiệu điều khiển điển hìnhCác tín hiệu điều khiển ngắt: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ào-ra. 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.12/3/202032Chương 2: Kiến trúc cơ bản của máy tínhĐặc điểm của cấu trúc đơn busBus 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ểmBus hệ thống phải có tốc độ bằng tốc độ bus của mô-đun nhanh nhất trong hệ thốngBus 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 bus12/3/202033Chương 2: Kiến trúc cơ bản của máy tínhPhân cấp bus trong máy tínhTổ chức thành nhiều bus trong hệ thống máy tínhCho các thành phần khác nhau:Bus của bộ xử lýBus của bộ nhớ chínhCác bus vào-raCá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ể.12/3/202034Chương 2: Kiến trúc cơ bản của máy tínhCác kiểu busBus 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ảnNhược điểm: có nhiều đường kết nốiBus dồn kênh (Multiplexed)Các đường dùng chung cho địa chỉ và dữ liệuCó đường điều khiển để phân biệt có địa chỉ hay có dữ liệuƯu điểm: có ít đường dâyNhược điểm:Điều khiển phức tạp hơnHiệu năng hạn chế12/3/202035Chương 2: Kiến trúc cơ bản của máy tínhPhân xử busCó nhiều mô-đun điều khiển busví dụ: CPU và bộ điều khiển vào-raChỉ 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 tập trungCó 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.Phân xử bus phân tánMỗi một mô-đun có thể chiếm busCó đường điều khiển đến tất cả các môđun khác12/3/202036Chương 2: Kiến trúc cơ bản của máy tínhĐịnh thời bus (Timing)Phối hợp các sự kiện trên busBus đồ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 ClockTất cả các mô-đun có thể đọc đường clockBus không đồng bộKhông có đường tín hiệu ClockKế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 theo12/3/202037Chương 2: Kiến trúc cơ bản của máy tínhHết chương 212/3/202038Chương 2: Kiến trúc cơ bản của máy tính