Your SlideShare is downloading. ×

KTMT Lý Thuyết Tổng Quát

953

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
953
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
38
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Nguyễn Ngọc Dũng – Khoa Học Tự NhiênChương 4 : Bộ Xử LýCác cấu trúc lệnh của MIPS:R-type; Op (6) Rs(5) Rt(5) Rd(5) Shamt(5) Funct(6)I-type: Op(6) Rs(5) Rt(5) Address/ immediate(16)J-type: Op Target addressPhạm vi biểu diễn số nguyên + Số ko dấu: 0 => (2n − 1) + Số có dấu: ( − 2n − 1) => (2n − 1 − 1) + Số bù 2: ( − 2n – 1 ) => (2n – 1 - 1)Định luật Moore : Số lượng transitor trên mỗi đơn vị inch tăng lên gấp đôi sau 1.5 nămĐịnh luật Moore : Số lượng transitor (tích hợp trên 1 IC) tăng lên gấp đôi sau 1.5 nămThế hệ máy tính: Chú ý: 1 ops/s (1 phép toán / giây) 1/ Bóng đèn chân không: 40.000 ops/s 2/ Transistor : 200.000 ops/s 3/ Integrated Circuit (IC) : 1.000.000 ops/s 4/ Micro (Dual core, core 2 duo…) :Máy tính gồm: + Bộ xử lý (CPU)1|Page
  • 2. Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên + Bộ nhớ chính (Main Memory) + Hệ thống Bus (Bus) : Kết nối các thành phần trong máy tính với nhau. + Thiết bị nhập xuất (Input/Output)Bộ xử lý CPU : + Thanh ghi (register): Lưu trữ tạm dữ liệu để ALU và CU xử lý và điều khiển + Internal Bus: Kết nối các thành phần ALU, CU và thanh ghi (register) trong CPU + Đơn vị xử lý (ALU): Xử lý, tính toán dữ liệu lưu trong thanh ghi + Đơn vị điều khiển (CU): Điều khiển xử lý của ALU và dữ liệu trên thanh ghiLệnh máy: + Lệnh máy: là 1 dãy bit chứa yêu cầu mà bộ xử lý phải thực hiện. + Cấu trúc lệnh máy: Mã thao tac – Toán hạng 1. Mã thao tác (opcode): cho biết lệnh thực hiện thao tác gì. (+ - and or …) 2. Các toán hạng (operand): cho biết các đối tượng bị tác động bởi thao tác trong mã thao tác (opcode) (thanh ghi, vùng nhớ, hằng số…) + Mỗi bộ xử lý chỉ hiểu 1 số lệnh với 1 vài cấu trúc nhất định.Hoạt động của CPU:+ Xử lý lệnh qua 2 bước (chu kì lệnh): 1. Nạp lệnh (Fetch): Di chuyển lệnh từ bộ nhớ vào thanh ghi. 2. Thực thi lệnh: Giải mã lệnh và thực hiện thao tác yêu cầu.Quá trình nạp lệnh:Ý nghĩ các thanh ghi:+ Thanh ghi MAR (Memory Address Register): Lưu địa chỉ được gửi ra / nhận vào từ bus địa chỉ.+ Thanh ghi MBR (Memory Buffer Register): Lưu giá trị được gửi ra / nhận vào từ bus dữ liệu.+ Thanh ghi PC (Program Counter): Lưu địa chỉ của lệnh sẽ được nạp.+ Thanh ghi IR (Instruction Register): Lưu lệnh sẽ được xử lý.2|Page
  • 3. Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên+ Bộ xử lý di chuyển lệnh từ vùng nhớ có địa chỉ trong thanh ghi PC vào thanh ghi IR+ Bộ xử lý giải mã lệnh trong thanh ghi IR và thực hiện thao tác yêu cầu như : 1. Thực hiện các phép tính số học và luận lý. 2. Thực hiện di chuyển dữ liệu giữa thanh ghi và bộ nhớ. 3. Thực hiện di chuyển dữ liệu giữa thanh ghi và thiết bị nhập xuất. 4. Thực hiện các thao tác điều khiển như rẽ nhánh.Mạch số+ Transistor là linh kiện làm từ chất bán dẫn dùng để khuếch đại và chuyển tín hiệu+ Mạch số là thiết bị điện tử kết nối các linh kiện điện tử (như transistor) hoạt động ở 2 mức điện áp:cao – thấpCổng số+ Các linh kiện điện tử thường kết nối lại với nhau thành các khối cơ bản+ Khối cơ bản nhất là các cổng logic với các giá trị luận lí 1 và 0 tương ứng với 2 mức điện áp cao – thấpThiết kế Logic+ Các cổng logic thường kết nối với nhau thành các khối cao cấp hơn+ Gồm 2 loại: 1/ Mạch tổ hợp:a/ Khái niệm + Kết nối các cổng logic sao cho kết quả của mạch tại 1 thời điểm chỉ phụ thuộc vào giá trị đầu vào tại thời điểm đang xét. + Mạch: adder, decoder, multiplexor, ALU… + Gồm n ngõ vào, m ngõ ra. Ngõ ra là các hàm logic (luận lý) của các ngõ vào. + Luôn có 1 độ trễ giữa thời điểm tín hiệu vào ổn định với thời điểm tín hiệu ra ổn định.b/ Thiết kế + 3 bước: 1/ Lập bảng chân trị từ yêu cầu3|Page
  • 4. Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên 2/ Xây dựng hàm luận lý từ bảng chân trị 3/ Vẽ sơ đồ mạch luận lý và thử nghiệm 2/ Mạch tuần tự:a/ Khái niệm + Kết nối các cổng logic sao cho kết quả của mạch chỉ phụ thuộc vào giá trị đầu vào tạithời điểm đang xét mà còn phụ thuộc vào trạng thái tại thời điểm trước đó của mạch. + Có khả năng ghi nhớ các trang thái trong quá khứ Mạch lật Flit-flop là mạch lật cơ bản nhất + Mạch: mạch lật RS, JK, T, D,… + Có chức năng lưu giữ 1 bit nhớb/ Thiết kế + Mạch tuần tự = Mạch tổ hợp + Mạch lật 4 bước 1/ Vẽ lượt đồ trạng thái từ yêu cầu 2/ Lập bảng trạng thái từ sơ đồ trạng thái 3/ Xây dựng hàm luận lý từ sơ đồ trạng thái 4/ Vẽ sơ đồ mạch luân lý và thử nghiệm____________________________________________________________________________________Mạch Full Adder cho phép cộng 3 bitMạch Multiplexer (MUX) 4 đầu vào có 1 ngõ raMạch Demultiplexer (DEMUX) 1 đầu vào có 4 ngõ raALU được thiết kế cho phép lựa chọn thực hiện các phép toán +, -, AND, ORMạch mã hóa + Chỉ có 1 ngõ vào được bật, tổ hợp các ngõ ra sẽ cho biết ngõ vào nào được bậcCác công đoạn lệnh4|Page
  • 5. Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên + Công đoạn 1: Nạp lệnh (Instruction Fetch) - Nạp lệnh 32bit từ bộ nhớ tại địa chỉ trong thanh ghi PC vào thanh ghi lệnh (IR) - Tăng PC để chuẩn bị nạp lệnh kế tiếp sau khi xử lý xong lệnh này (PC = PC + 4) + Công đoạn 2: Giải mã lệnh (Instruction Decode) - Phân tích trường trong lệnh o Xác định opcode để biết loại lệnh gì và vị trí của các trường khác o Sau đó đọc các thanh ghi nguồn để chuẩn bị thực hiện các công đoạn tiếp theo o VD: lệnh add đọc 2 thanh ghi nguồn – lw đọc 1 thanh ghi nguồn + Công đoạn 3: ALU (Arithmetic Logic Unit) - Tính toán số học, luân lý, so sánh (beq, slt) - Lệnh beq tính vị trí cần nhảy tới - Lw $t0, 40($t1) - Địa chỉ cần truy xuất là $t1 + 40 => Thực hiện phép công + Công đoạn 4: Truy xuất bộ nhớ (Memory Access) - Lw và sw thực hiện công đoạn này + Công đoạn 5: Ghi kết quả vào thanh ghi (Register Write)add $s1, $s2, $s3.Đầu tiên, PC sẽ lấy địa chỉ của phép toán này, thực hiện nạp các trường của phép toán này vào bộ nhớ.Tiếp theo, nó sẽ thực hiện giải mã lệnh, dựa trên OP (opcode) để xác định được đây là phép cộng.Kế tiếp, vì đây là phép cộng, nên sẽ lưu kết quả vào thanh ghi (Register), do đó, Regwrite sẽ được bật là1. Rd sẽ đi qua một cái MUX, vì phải lưu kết quả vào thanh ghi nên RegDist sẽ bật lên bit 1. Rs và Rt sẽđược đọc vào thanh ghi và đi ra vào ALU. Rt sẽ phải đi qua một cái MUX, tại đây ALUSrc sẽ bật bit 0, báohiệu đây là một thanh ghi.Cả Rs và Rt bây giờ đang nằm trong ALU, tại đây ALUOp sẽ phát tín hiệu cho biết đây là phép cộng vàthực hiện cộng Rs+Rt trong ALU. Kết quả cộng sẽ chạy trực tiếp qua cái MUX phía bên kia mà ko cầnthông qua DataMemory(do không có nhu cầu). Tại MUX, kết quả sẽ được lưu ngược trở lại Register.lw5|Page
  • 6. Nguyễn Ngọc Dũng – Khoa Học Tự NhiênSau khi cộng I+Rs, kq này sẽ phải đi vào DataMemory, tại đây Control phát tín hiệu đọc bằng 1, sau đóqua MUX và ghi kết quả đọc được vào Rt.Hệ thống lưu trữ+ Lưu trữ sơ cấp: ROM, RAM, cache, thanh ghi,…+ Lưu trữ thứ cấp: đĩa từ, USB,…+ Lưu trữ cấp 3Thanh ghi+ Thiết bị có dung lượng nhỏ nhất, nhưng có tốc độ truy xuất nhanh nhất+ Được dùng trong các bộ xử lý: lưu giữ lệnh và dữ liệu để xử lýROM (READ ONLY MEMORY)+ ROM : Là bộ nhớ chỉ đọc, ko thể ghi, ko cần nguồn điện để duy trì nội dung (Lưu trữ sơ cấp)+ PROM (Programable ROM): ghi được 1 lần duy nhất+ EPROM (Eraseabe PROM) : Có thể xóa = tia cực tím sau khi ghi+EEPROM (Electrically EPROM): có thể xóa = điện, xóa từng byte+ FlashROM: Xóa từng khối, ghi nhanh, xóa nhanhRAM (RANDOM ACCESS MEMORY) – Lưu trữ sơ cấp+ Là 1 loại bộ nhớ chính của máy tính+ Ram được gọi là bộ nhớ truy cập ngẫu nhiên: - Thời gian đọc hoặc ghi đối với mỗi ô nhớ là như nhau+ Gồm: RAM động (DRAM) – RAM tĩnh (SRAM)+ Các loại DRAM 1/ SDRAM: (Synchronous Dynamic RAM): được gọi là DRAM đồng bộ, gồm 3 phân loại: SDR,DDR, DDR2, DDR3 2/ SDR SDRAM (Single Data Rate SDRAM): + Có 168 chân6|Page
  • 7. Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên + bus speed chạy cùng vận tốc với clock speed của memory chip 3/ DDR SDRAM (Double Data Rate SDRAM): + Có 184 chân + Tốc độ truyền tải gấp đôi SDR nhờ vào việc truyền tải 2 lần trong 1 chu kì bộ nhớ 4/ DDR2 SDRAM (Double Data Rate 2 SDRAM): + Có 240 chân + Có bus speed cao gấp đôi clock speedBộ nhớ cache + Dùng công nghê SRAM (Nhanh) + Tốc độ cao hơn bộ nhớ chính (DRAM) + Vai trò làm bộ nhớ đệm truy xuất nhanh (trung gian CPU và bộ nhớ chính) + Lưu trữ tạm bản sao 1 phần nội dung của bộ nhớ chính nhằm giảm truy xuất vào bộ nhớ chínhDirect Mapping + Đơn giản - Chi phí tổ chức thấp + Cấp phát từng block memory vào từng cache line riêng biệt + Nếu cache line nào đó đang chứa 1 block memory (old). Khi ta muốn nạp 1 line thì blockmemory (old) phải bị thay ra để dành chỗ cho block memory (new). Cache Line Number = (Main memory Block number) MOD (Number of Cache lines) Number of blocks in cache = Cache size / Block sizeVD: Cho 1 MB = 220 bit 1 KB = 210 bit + Memory size: 16MB = 224 + Block size: 32 B = 25 + Cache Size: 512 KB = 2197|Page
  • 8. Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên Number of blocks in cache = Cache size / Block size  Number of blocks in cache (Cache Line) = 219 / 25 = 214  Số lượng bit trong tag = 24 – 14 – 5 = 5 Stag — size of cache tag, in bits; Smemory — cacheable range of operating memory, in bytes; Scache — size of cache memory, in bytes; A — associativity of cache memory, in ways.Fully Associate Mapping + Mỗi block có thể được nạp vào bất cứ line nào + Do 1 block có thể nạp vào bất kì 1 line nào. Vì vậy, để kiểm tra 1 block có nằm trong line haychưa thì phải duyệt hết các line. + Chi phí tìm kiếm cao + Số bit làm Tag phải lưu trong cache nhiều hơnSet Associate Mapping + Set Associate Mapping = Direct Mapping + Fully Associate + Các phần tử cache được chia làm S các tập hợp =, mỗi tập hợp có K phần tử + Mỗi block được ánh xạ vào một tập hợp (Direct Mapping) + Các cache line trong tập hợp được quản lý theo kiểu (Fully Associate)Đồng bộ hóa cache và bộ nhớ chínhWrite Through - Khi 1 line/block bị thay đổi trong cache/bộ nhớ chính bởi CPU/IO => block/line tương ứng trong bộ nhớ cache/line sẽ lập tức được cập nhật - Chậm8|Page
  • 9. Nguyễn Ngọc Dũng – Khoa Học Tự NhiênWrite Back - Khi 1 line bị thay đổi trong bộ nhớ cache, sử dụng bit đánh dấu - Khi phải thay thế line bị đánh dấu => thì cập nhật lại block tương ứng trong bộ nhớ chính. - IO phải truy xuất bộ nhớ chính thông qua cacheKích thước block và cacheKích thước Block + Nhỏ quá: giảm tính lân cận về ko gian + Lớn quá: thời gian chuyển block vào cache lâu + Kích thước block thường từ 8 – 64 bytesKích thước Cache + Nhỏ quá: số lượng block lưu trong cache ít => cache miss cao + Lớn quá: Nhiều nội dung ko cần thiết lưu trong cache => Mất nhiều thời gian kiểm tra block cónằm trong cache chưa.Số lượng và loại cache+ Thường sử dụng nhiều mức cache L1, L2, L3…+ On-Chip cache : nằm trên cùng IC với bộ xử lý => truy xuất nhanh+ Off-Chip cache : nằm trên IC riêng và được nối với bộ xử lý qua hệ thống bus => truy xuất chậm+ L1 cache + Kích thước 10s KB + Hit Time: 1 chu kì + Miss rate: 1-5%+ L2 cache + Kích thước 100s KB + Hit Time: 1 chu kì9|Page
  • 10. Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên + Miss rate: 10-20%+ Thường sử dụng 2 loại cache+ Unified cache: 1 cache cho cả lệnh và dữ liệu+ Split Cache : Cache riêng cho lệnh (instruction cache) và dữ liệu (data cache)Thứ cấpĐĩa từ + Là thiết bị lưu trữ dữ liệu lâu dài phổ biến nhất, gồm 1 hay nhiều lớp đĩa phẳng được phủ từđể lưu trữ dữ liệu + 2 loại: + Đĩa mềm (Floppy disks) : chậm – chỉ 1 lớp đĩa từ + Đĩa cứng (Hard disk drives - HDD): nhanh hơn – nhiều đĩa từTổ chức đĩa cứng + Gồm nhiều đĩa tròn (platter), mỗi lớp phủ 1 hoặc 2 mặt (side) + Mỗi mặt có tương ứng 1 đầu đọc (head) để đọc hoặc ghi dữ liệu + Mỗi mặt có nhiều đường tròn đồng tâm (track) + Mỗi đường tròn được chia nhỏ thành các cung tròn (sector) + Mỗi sector chứa 4096 điểm từ (~4096 = 512 byte) + Mỗi lần đọc ghi ít nhất 1 sector (512 byte)Cơ chế đọc dữ liệu của đĩa cứng + Disk Latency = Seek Time + Rotation Time + Transfer Time + Seek Time: Thời gian di chuyển đầu đọc tới đúng track cần đọc, phụ thuộc vào số track trên 1mặt và tốc độ của actuator10 | P a g e
  • 11. Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên + Rotation Time: Thời gian quay đĩa sao cho sector muốn đọc nằm dưới đầu đọc, phụ thuộc vàotốc độ quay của đĩa + Transfer Time: Thời gian đọc và truyền dữ liệu, phụ thuộc vào mật độ phủ từ của sector vàchuẩn giao tiếp (ATA, SATA,…)Kỹ thuật RAID + Kết hợp nhiều ổ đĩa vật lý thành 1 hệ thống đĩa (luận lý) duy nhất = phần cứng hoặc phần mềmMục đích + Đảm bảo an toàn dữ liệu + Tăng tốc độ truy xuất của hệ thốngHoạt động + Dữ liệu trên đĩa sẽ được lưu đồng thời lên tất cả ổ đĩa + Hoạt động của hệ thống trong suốt với người dùngFlash Memory + Một loại công nghệ lưu trữ phổ biến nhất hiện nay : USB, Memory Card, ROM + Ko cần nguồn điện để duy trì nội dungƯu điểm + Duy trì dữ liệu lâu dài + It tốn điện năngNhược điểm + Số chu kì ghi / xóa dữ liệu bị giới hạnLưu trữ cấp 3Tape library + Thiết bị cho phép kết hợp hàng ngàn băng từ để tạo thành 1 thiết bị lưu trữ có dung lượng lênđến Terabyte, PetabyteDisk Library11 | P a g e
  • 12. Nguyễn Ngọc Dũng – Khoa Học Tự Nhiên + Thiết bị cho phép kết hợp hàng ngàn đĩa cứng để tạo thành 1 thiết bị lưu trữ có dung lượnglên đến hàng ngàn Terabyte, PetabyteOptical Jukebox + Thiết bị cho phép kết hợp hàng ngàn đĩa quang để tạo thành 1 thiết bị lưu trữ có dung lươnglên đến Terabyte, Perabyte12 | P a g e

×