Thảo luận Bài 2
+78
ThanhThao04(I11C)
TranMinhMan (I11C)
TrinhThiPhuongThaoI11C
doanhongdao030(I11C)
ngocquynh2091(i11C)
Truc_Phuong(I111C)
lakhaiphat-i11c
NguyenCongVinh(102C)
minhgiangbc
leanhhuy (I11C)
HuynhVanNhut (I11C)
LeMinhDuc (I11C)
chauchanduong (I11C)
Tranvancanh(I11C)
lamhuubinh(I91C)
Nguyenminhduc (I11C)
nguyenhoangthinh (I11C)
HoangThiVe (I11C)
HoangThanhChuong (I11C)
nguyenthithutrang (I11C)
LeTanDat (I11C)
TangHuynhThanhThanh I11C
BuiVanHoc(I11C)
ledinhngankhanh (i11c)
NguyenVietThuan11
HuynhPhuong (I11C)
LUUDINHTOAN(I11C)
nguyenthingocloan (I11C)
buithithudung24 (i11c)
lequocthinh (I11C)
NGUYENDINHNGHIA-I11C
NguyenDoTu (I11C)
DuongKimLong(I111C)
tranvanhai_21(I11c)
tranleanhngoc88(i11c)
NguyenThiThanhThuy(I11C)
DoThiNgocNuong (I11C)
PhamHuyHoang (I11C)
HoangNgocQuynh(I11C)
NgoThiCamNhung47 (I11C)
caotanthanh(i11c)
TranPhiLong (I11C)
n.t.tuyet.trinh90 (I11C)
tranvantoan83(I11c)
LeThiThuyDuong (I11C)
phamngoctan095 (I11C)
TranCamThu(I11C)
nguyenthithuylinh (I11C)
DuongTrungTinh(I11C)
PhamAnhKhoa(I11C)
PhanThiThanhNguyen_72I11C
TranTrungTinh(I11C)
BuiHoangTuan.131.I11C
tannamthanh(I11C)
TruongThiThuyPhi(I11C)
NgoLeYen48(I11C)
nguyenminhlai.(I11C)
DaoVanHoang (I11C)
TranVuThuyVan_(I11C)
BuiHuuThanhLuan(I11C)
chauthanhvy146(I11C)
truongsi93(I11C)
LaVanKhuong (I11C)
NguyThiGai (I11C)
nguyen huynh nhu (102C)
hongthuanphong (I11C)
NguyenThanhTam (I11C)
ToThiThuyTrang (I11C)
TranHaDucHuy (I11c)
TranHaDucHuy
TranVanDucHieu I11c
NgoDucTuan (I11C)
nguyenvulinh_i11c
TranMinh (I11C)
NguyenTienPhong083 (I11C)
TruongHanhPhuc (I11C)
tranphanhieu36_i11c
Admin
82 posters
Trang 5 trong tổng số 7 trang
Trang 5 trong tổng số 7 trang • 1, 2, 3, 4, 5, 6, 7
Caching và buffering có gì khác nhau?
Giữa caching và buffering chúng có gì khác nhau và giống nhau?
Có rất nhiều tài liệu biên dịch hoặc để nguyên bản của 2 từ này, thì nay mình xin chọn để nguyên từ tiếng Anh để tránh sự nhầm lẫn và phân biệt giữa hai khái niệm caching và buffering.
- Điểm khác biệt cơ bản nhất là Caching có tốc độ cao hơn gấp nhiều lần so với buffering.
- Điểm giống nhau là chúng đều là bộ nhớ đệm có tác dụng lưu trữ tạm thời một số dữ liệu trên ổ cứng nhằm tăng tốc tốc độ truy xuất dữ liệu và tăng tuổi thọ cho ổ đĩa cứng.
- Điểm khác biệt thứ 2 là caching cần đến bộ điều khiển cache – thường ta thấy chúng nhúng sẵn trên các CPU. Buffering thì đơn giản chỉ là một con chip nhớ không cần bộ điều khiển riêng.
Mình chỉ có một số ý như vậy bạn nào có ý nào hay có thể bổ sung thêm. Cám ơn.
[i]Mình có một thắc mắc về nội dung này. Ngày nay các hãng sản xuất phần cứng ngày càng tăng dung lượng bộ nhớ cache và buffer lên về mặt lý thuyết là sẽ nhanh hơn nhưng tăng vậy tới mức nào là đủ? Và tăng như vậy có điều gì tốt và không tốt?[/i]
Có rất nhiều tài liệu biên dịch hoặc để nguyên bản của 2 từ này, thì nay mình xin chọn để nguyên từ tiếng Anh để tránh sự nhầm lẫn và phân biệt giữa hai khái niệm caching và buffering.
- Điểm khác biệt cơ bản nhất là Caching có tốc độ cao hơn gấp nhiều lần so với buffering.
- Điểm giống nhau là chúng đều là bộ nhớ đệm có tác dụng lưu trữ tạm thời một số dữ liệu trên ổ cứng nhằm tăng tốc tốc độ truy xuất dữ liệu và tăng tuổi thọ cho ổ đĩa cứng.
- Điểm khác biệt thứ 2 là caching cần đến bộ điều khiển cache – thường ta thấy chúng nhúng sẵn trên các CPU. Buffering thì đơn giản chỉ là một con chip nhớ không cần bộ điều khiển riêng.
Mình chỉ có một số ý như vậy bạn nào có ý nào hay có thể bổ sung thêm. Cám ơn.
[i]Mình có một thắc mắc về nội dung này. Ngày nay các hãng sản xuất phần cứng ngày càng tăng dung lượng bộ nhớ cache và buffer lên về mặt lý thuyết là sẽ nhanh hơn nhưng tăng vậy tới mức nào là đủ? Và tăng như vậy có điều gì tốt và không tốt?[/i]
BuiHoangTuan.131.I11C- Tổng số bài gửi : 44
Join date : 26/08/2011
Phân biệt nhập xuất đồng bộ và nhập xuất không đồng bộ
- Nhập xuất đồng bộ : Tiến trình người dùng chờ I/O kết thúc mới tiếp tục làm việc. (Có thể hiểu ngắn gọn là đồng bộ là I/O có chờ). Minh họa : nhập từ bàn phím.
- Nhập xuất không đồng bộ : tiến trình người dùng ko chờ I/O kết thúc mà tiếp tục làm việc (Có thể hiểu ngắn gọn là ko đồng bộ là I/O không chờ). Minh họa: máy in.
Vd: A đang học, B đến muốn rủ A đi chơi
_ đồng bộ : B chờ A học xong rùi cả 2 cùng đi chơi
_ không đồng bộ: B không chờ A mà B đi 1 mình.
- Nhập xuất không đồng bộ : tiến trình người dùng ko chờ I/O kết thúc mà tiếp tục làm việc (Có thể hiểu ngắn gọn là ko đồng bộ là I/O không chờ). Minh họa: máy in.
Vd: A đang học, B đến muốn rủ A đi chơi
_ đồng bộ : B chờ A học xong rùi cả 2 cùng đi chơi
_ không đồng bộ: B không chờ A mà B đi 1 mình.
Huỳnh Thị Thúy Phượng_0854050100_I11C
HuynhPhuong (I11C)- Tổng số bài gửi : 39
Join date : 26/08/2011
Age : 34
Đến từ : Hóc Môn, Tp HCM
Các câu hỏi bài 2 thầy đưa ra trên lớp, bạn nào ko biết thì xem để thi cuối kỳ nhé
Câu 1: Trình bày nguyên lý xử lý ngắt của HDH và đặc biệt nhấn mạnh đến sự khác biệt giữa 2 loại ngắt chính là ngắt cứng và ngắt mềm.
Câu 2: Trình bày tuyến thời gian công việc của 1 tiến trình có vài yêu cầu nhập xuất tới thiết bị ngoài.
Câu 3: Phân biệt nhập xuất đồng bộ với nhập xuất ko đồng bộ. Cho ví dụ minh họa.
Câu 4: Trình bày nguyên lý lưu gần(caching) sử dụng trong máy tính . Nêu ví dụ minh họa từ đời thường.
Câu 5: Trình bày nguyên lý bảo vệ phần cứng bằng hai chế độ vận hành.
Câu 6: Bảo vệ nhập xuất bằng các lời gọi hệ thống.
Câu 7: Trình bày nguyên lý bảo vệ bộ nhớ chính (memory protection) bằng thanh ghi cơ sở và thanh ghi giới hạn.
Câu 2: Trình bày tuyến thời gian công việc của 1 tiến trình có vài yêu cầu nhập xuất tới thiết bị ngoài.
Câu 3: Phân biệt nhập xuất đồng bộ với nhập xuất ko đồng bộ. Cho ví dụ minh họa.
Câu 4: Trình bày nguyên lý lưu gần(caching) sử dụng trong máy tính . Nêu ví dụ minh họa từ đời thường.
Câu 5: Trình bày nguyên lý bảo vệ phần cứng bằng hai chế độ vận hành.
Câu 6: Bảo vệ nhập xuất bằng các lời gọi hệ thống.
Câu 7: Trình bày nguyên lý bảo vệ bộ nhớ chính (memory protection) bằng thanh ghi cơ sở và thanh ghi giới hạn.
DaoVanHoang (I11C)- Tổng số bài gửi : 24
Join date : 31/08/2011
Re: Thảo luận Bài 2
tranphanhieu36_i11c đã viết:Đầu tiên mình sẽ định nghĩa cache nè :
Cache là bộ nhớ đệm của CPU,cache nằm trong CPU ngay cạnh lõi xử lý .CPU muốn đọc hay ghi một vị trí trên Ram thì trước hết nó sẽ tìm trong L1 cache xem có sẵn dữ liệu đó không nếu không nó sẽ tìm trong các bộ nhớ cache còn lại .Cache giúp giảm tình trạng thắt nút cổ chai giữa ram và cpu
Cache memory
Là loại memory có dung lượng rất nhỏ (thường nhỏ hơn 1MB) và chạy rất lẹ (gần như tốc độ của CPU). Thông thường thì Cache memory nằm gần CPU và có nhiệm vụ cung cấp những data thường (đang) dùng cho CPU. Sự hình thành của Cache là một cách nâng cao hiệu quả truy cập thông tin của máy tính mà thôi. Những thông tin bạn thường dùng (hoặc đang dùng) thường được chứa trong Cache, mổi khi xử lý hay thay đổi thông tin, CPU sẽ dò trong Cache memory trước xem có tồn tại hay không, nếu có nó sẽ lấy ra dùng lại còn không thì sẽ tìm tiếp vào RAM hoặc các bộ phận khác. Lấy một ví dụ đơn giản là nếu bạn mở Microsoft Word lên lần đầu tiên sẽ thấy hơi lâu nhưng mở lên lần thứ nhì thì lẹ hơn rất nhiều vì trong lần mở thứ nhất các lệnh (instructions) để mở Microsoft Word đã được lưu giữ trong Cache, CPU chỉ việc tìm nó và xài lại thôi.
Lý do Cache memory nhỏ là vì nó rất đắt tiền và chế tạo rất khó khăn bởi nó gần như là CPU (về cấu thành và tốc độ). Thông thường Cache memory nằm gần CPU, trong nhiều trường hợp Cache memory nằm trong con CPU luôn. Người ta gọi Cache Level 1 (L1), Cache level 2 (L2)...là do vị trí của nó gần hay xa CPU. Cache L1 gần CPU nhất, sau đó là Cache L2...
=>cache rất gần với CPU, tốc độ truy xuất rất nhanh ( nhanh hơn RAM rất nhiều) => Dỡ tốn công và thời gian truy xuất, Sẽ tăng được tốc độ truy xuất của CPU rất nhiều, thường thì CPU sẽ vào cache tìm và truy xuất nếu có trước khi vào ram và bộ nhớ ngoài truy xuất.
Ví dụ minh họa nguyên lý lưu gần từ đời thường :
Giếng nước : nếu ở trên cao nhà khá xa nguồn nước thì người ta thường bơm nước vào bể nước hoặc thùng gần nhà để mỗi khi cần sẽ lại thùng hay bề lấy cho nhanh và tiện, vừa đỡ tốn thời gian...
Mình đồng ý với bạn là cache thì tốt, vì nó sẽ giúp hệ thống xử lý nhanh hơn, nhưng liệu nó có bị lưu lại những dữ liệu cũ không ta, giống như cơ chế cache của server hoặc browser đó ?
NguyenVietThuan11- Tổng số bài gửi : 34
Join date : 30/08/2011
Age : 36
Đến từ : Đồng Nai
Nguyên lý lưu gần của CACHE sử dụng trong máy tính
Trước khi tìm hiểu về nguyên lý lưu gần của cache chúng ta hãy nói qua cache là gì? nguyên tắc hoạt động của nó.
-Nếu bạn từng đi tìm mua máy tính tại các cửa hàng thì có lẽ đã nghe đến từ “cache” hay bộ nhớ cache. Các máy tính hiện đại có cả cache cấp 1 (L1) và cấp 2 (L2).
Đây là một khái niệm quan trọng trong ngành khoa học máy tính, được thể hiện trên mọi máy tính dưới rất nhiều dạng khác nhau. Có cache bộ nhớ, cache đĩa phần cứng và phần mềm, cache trang và nhiều loại khác. Thậm chí, bộ nhớ ảo cũng là một dạng cache.
Cache: là bộ nhớ bán dẫn có tốc độ nhanh và chúng được đặt giữa cpu và bộ nhớ chính, dung lượng nhở hơn rất nhiều so với bộ nhớ chính, tốc độ nhanh hơn, chúng được tích hợp vào bộ vi xử lý.........
Nguyên tắc hoạt động của cache : Trước khi nạp dữ liệu từ bộ nhớ chính vào CPU để xử lý thì dữ liệu sẽ được nạp vào cache trước, khi cpu xử lý dữ liệu cpu sẽ lấy dữ liệu từ cache để xử lý.
-Bây giờ chúng ta sẽ tỉm hiểu về nguyên lý lưu gần của cache: Khi máy tính cần xử lý dữ liệu nào đó nếu để cpu truy xuất trực tiếp vào bộ nhớ chính để lấy dữ liệu thì rất lâu, nhờ vào đặc tính của cache, cache sẽ nạp những dữ liệu cần xử lý vào cache và nằm ở chế độ chờ cpu truy xuất, khi cpu co thể xử lý thì nó sẽ nạp dữ liệu đó vào cpu để cpu xử lý, cứ như vậy cho đến khi hết dữ liệu cần xử lý.
- Các bạn có thể hiểu đơn giản như thế này cache là một người trung gian nhờ vào sự nhanh của nó nó sẽ nhận nhiệm vụ chứa dữ liệu cần xử lý và khi cpu cần dữ liệu thì nó sẽ ngay lập tức nạp vào cpu để xử lý.
VD: Nếu bạn muốn gởi thư nhanh từ Sài Gòn ra Hà Nội thì bạn sẽ vào bưu điện Sài Gòn để gởi một bức thư đó, bưu điện sẽ một cách nhanh chóng chuyển thư của bạn ra bưu điện ngoài Hà Nội khi đó thư của bạn sẽ được xử lý nhanh hơn, mau tới nơi bạn cần gởi hơn, người nhận chỉ cần ra bưu điện Hà Nội là nhận được. Bạn sẽ là bộ nhớ chính, bưu điện là cache và người nhận sẽ là Cpu.
VD2: ví dụ này hơi dài dòng nhưng mình sưu tầm được thấy nó cũng rất hay
Hãy tưởng tượng người thủ thư đang ngồi sau bàn của mình. Cô ta có mặt tại đây để giao sách mà sinh viên yêu cầu. Để cho tiện lợi, đặt trường hợp bạn không thể tự mình lấy sách, phải yêu cầu người thủ thư. Cô ta sẽ đi lấy những cuốn sách bạn cần từ vô số kệ sách. Trước tiên hãy bắt đầu với một thủ thư không có cache.
Người đọc đầu tiên tới. Anh ta yêu cầu cuốn sách Vietnam - past and future. Thủ thư vào kho và lấy sách, quay trở lại và trao nó cho người mượn. Sau đó, người mượn sẽ quay lại trả sách. Thủ thư đem sách để về vị trí cũ. Một người khác khác cũng hỏi mượn cuốn Vietnam - past and future. Khi đó, thủ thư phải quay lại chỗ trước đó để lấy sách. Theo mô hình này, cô thủ thư phải thực hiện một chuyến đi hoàn chỉnh để lấy mọi cuốn sách - thậm chí cả những cuốn phổ biến thường xuyên có người hỏi mượn. Có cách nào để tăng hiệu quả hoạt động của người này?
Có một cách: Chúng ta có thể đặt một cache cho người thủ thư. Hãy cho cô ta một chiếc ba lô có thể chứa 10 cuốn sách (theo thuật ngữ máy tính thì người này giờ đây đã có cache 10 cuốn sách). Trong ba lô này, cô ta sẽ đặt các cuốn sách mà khách hàng trả, tối đa là 10.
Ngày mới bắt đầu. Ba lô của thủ thư trống rỗng. Người đọc đầu tiên tới và yêu cầu Vietnam - past and future. Thủ thư sẽ phải đi vào kho để lấy sách. Và chu trình lặp lại như trên, nhưng thay vì để sách trở lại giá, người thủ thư bỏ nó vào ba lô (trước tiên phải kiểm tra xem ba lô đã đầy chưa). Ngưi khách khác tới và hỏi Vietnam - past and future. Trước khi đi vào kho, người thủ thư kiểm tra tên đó có trong ba lô của mình, và tìm thấy nó. Tất cả những gì cần làm là lấy cuốn sách trong ba lô và trao cho khách hàng. Cách phục vụ này hoàn toàn hiệu quả.
Điều gì sẽ xảy ra nếu cuốn sách khách hàng yêu cầu không nằm trong cache (ba lô)? Trong trường hợp này, người thủ thư không có cache sẽ làm việc kém hiệu quả hơn khi có cache, bởi vì khoảng thời gian lấy sách được rút ngắn rất nhiều. Một trong những thách thức của thiết kế cache là giảm tối thiểu những tác vụ khi tìm kiếm trong cache, và phần cứng hiện đại đã giảm thời gian trì hoãn gần như bằng 0.
Từ ví dụ này, bạn có thể thấy một số yếu tố quan trọng về cache. Công nghệ cache là sử dụng loại bộ nhớ nhỏ nhưng nhanh để tăng tốc độ loại bộ nhớ lớn nhưng chậm. Có thể có nhiều lớp cache. Với ví dụ về người thủ thư, loại bộ nhớ nhỏ nhưng nhanh là chiếc ba lô, và kho sách là đại diện cho loại bộ nhớ lớn và chậm. Đây là cache cấp 1. Có thể có một lớp cache khác bao gồm một giá sách có thể để 100 cuốn sách đặt gần thủ thư. Khi đó, thủ thư có thể trước tiên kiểm tra ba lô, sau đó giá sách rồi mới đến kho. Đây là cache cấp 2.
Ở trình duyệt WEb của các bạn cũng có cahe đó khi bạn nghe một bài nhạc thì nó sẽ được down về và lưu vào cache của trang web khi bạn mất kết nối bạn vẫn có thể nghe bài nhạc đó, đó cũng là một tình năng của cahe.
Đến đây mình nghĩ các bạn cũng hiểu phần nào về cache rồi, nếu có sai xót mong các bạn đóng góp ý kiến. Thanks all.
-Nếu bạn từng đi tìm mua máy tính tại các cửa hàng thì có lẽ đã nghe đến từ “cache” hay bộ nhớ cache. Các máy tính hiện đại có cả cache cấp 1 (L1) và cấp 2 (L2).
Đây là một khái niệm quan trọng trong ngành khoa học máy tính, được thể hiện trên mọi máy tính dưới rất nhiều dạng khác nhau. Có cache bộ nhớ, cache đĩa phần cứng và phần mềm, cache trang và nhiều loại khác. Thậm chí, bộ nhớ ảo cũng là một dạng cache.
Cache: là bộ nhớ bán dẫn có tốc độ nhanh và chúng được đặt giữa cpu và bộ nhớ chính, dung lượng nhở hơn rất nhiều so với bộ nhớ chính, tốc độ nhanh hơn, chúng được tích hợp vào bộ vi xử lý.........
Nguyên tắc hoạt động của cache : Trước khi nạp dữ liệu từ bộ nhớ chính vào CPU để xử lý thì dữ liệu sẽ được nạp vào cache trước, khi cpu xử lý dữ liệu cpu sẽ lấy dữ liệu từ cache để xử lý.
-Bây giờ chúng ta sẽ tỉm hiểu về nguyên lý lưu gần của cache: Khi máy tính cần xử lý dữ liệu nào đó nếu để cpu truy xuất trực tiếp vào bộ nhớ chính để lấy dữ liệu thì rất lâu, nhờ vào đặc tính của cache, cache sẽ nạp những dữ liệu cần xử lý vào cache và nằm ở chế độ chờ cpu truy xuất, khi cpu co thể xử lý thì nó sẽ nạp dữ liệu đó vào cpu để cpu xử lý, cứ như vậy cho đến khi hết dữ liệu cần xử lý.
- Các bạn có thể hiểu đơn giản như thế này cache là một người trung gian nhờ vào sự nhanh của nó nó sẽ nhận nhiệm vụ chứa dữ liệu cần xử lý và khi cpu cần dữ liệu thì nó sẽ ngay lập tức nạp vào cpu để xử lý.
VD: Nếu bạn muốn gởi thư nhanh từ Sài Gòn ra Hà Nội thì bạn sẽ vào bưu điện Sài Gòn để gởi một bức thư đó, bưu điện sẽ một cách nhanh chóng chuyển thư của bạn ra bưu điện ngoài Hà Nội khi đó thư của bạn sẽ được xử lý nhanh hơn, mau tới nơi bạn cần gởi hơn, người nhận chỉ cần ra bưu điện Hà Nội là nhận được. Bạn sẽ là bộ nhớ chính, bưu điện là cache và người nhận sẽ là Cpu.
VD2: ví dụ này hơi dài dòng nhưng mình sưu tầm được thấy nó cũng rất hay
Hãy tưởng tượng người thủ thư đang ngồi sau bàn của mình. Cô ta có mặt tại đây để giao sách mà sinh viên yêu cầu. Để cho tiện lợi, đặt trường hợp bạn không thể tự mình lấy sách, phải yêu cầu người thủ thư. Cô ta sẽ đi lấy những cuốn sách bạn cần từ vô số kệ sách. Trước tiên hãy bắt đầu với một thủ thư không có cache.
Người đọc đầu tiên tới. Anh ta yêu cầu cuốn sách Vietnam - past and future. Thủ thư vào kho và lấy sách, quay trở lại và trao nó cho người mượn. Sau đó, người mượn sẽ quay lại trả sách. Thủ thư đem sách để về vị trí cũ. Một người khác khác cũng hỏi mượn cuốn Vietnam - past and future. Khi đó, thủ thư phải quay lại chỗ trước đó để lấy sách. Theo mô hình này, cô thủ thư phải thực hiện một chuyến đi hoàn chỉnh để lấy mọi cuốn sách - thậm chí cả những cuốn phổ biến thường xuyên có người hỏi mượn. Có cách nào để tăng hiệu quả hoạt động của người này?
Có một cách: Chúng ta có thể đặt một cache cho người thủ thư. Hãy cho cô ta một chiếc ba lô có thể chứa 10 cuốn sách (theo thuật ngữ máy tính thì người này giờ đây đã có cache 10 cuốn sách). Trong ba lô này, cô ta sẽ đặt các cuốn sách mà khách hàng trả, tối đa là 10.
Ngày mới bắt đầu. Ba lô của thủ thư trống rỗng. Người đọc đầu tiên tới và yêu cầu Vietnam - past and future. Thủ thư sẽ phải đi vào kho để lấy sách. Và chu trình lặp lại như trên, nhưng thay vì để sách trở lại giá, người thủ thư bỏ nó vào ba lô (trước tiên phải kiểm tra xem ba lô đã đầy chưa). Ngưi khách khác tới và hỏi Vietnam - past and future. Trước khi đi vào kho, người thủ thư kiểm tra tên đó có trong ba lô của mình, và tìm thấy nó. Tất cả những gì cần làm là lấy cuốn sách trong ba lô và trao cho khách hàng. Cách phục vụ này hoàn toàn hiệu quả.
Điều gì sẽ xảy ra nếu cuốn sách khách hàng yêu cầu không nằm trong cache (ba lô)? Trong trường hợp này, người thủ thư không có cache sẽ làm việc kém hiệu quả hơn khi có cache, bởi vì khoảng thời gian lấy sách được rút ngắn rất nhiều. Một trong những thách thức của thiết kế cache là giảm tối thiểu những tác vụ khi tìm kiếm trong cache, và phần cứng hiện đại đã giảm thời gian trì hoãn gần như bằng 0.
Từ ví dụ này, bạn có thể thấy một số yếu tố quan trọng về cache. Công nghệ cache là sử dụng loại bộ nhớ nhỏ nhưng nhanh để tăng tốc độ loại bộ nhớ lớn nhưng chậm. Có thể có nhiều lớp cache. Với ví dụ về người thủ thư, loại bộ nhớ nhỏ nhưng nhanh là chiếc ba lô, và kho sách là đại diện cho loại bộ nhớ lớn và chậm. Đây là cache cấp 1. Có thể có một lớp cache khác bao gồm một giá sách có thể để 100 cuốn sách đặt gần thủ thư. Khi đó, thủ thư có thể trước tiên kiểm tra ba lô, sau đó giá sách rồi mới đến kho. Đây là cache cấp 2.
Ở trình duyệt WEb của các bạn cũng có cahe đó khi bạn nghe một bài nhạc thì nó sẽ được down về và lưu vào cache của trang web khi bạn mất kết nối bạn vẫn có thể nghe bài nhạc đó, đó cũng là một tình năng của cahe.
Đến đây mình nghĩ các bạn cũng hiểu phần nào về cache rồi, nếu có sai xót mong các bạn đóng góp ý kiến. Thanks all.
ledinhngankhanh (i11c)- Tổng số bài gửi : 15
Join date : 26/08/2011
Age : 35
Đến từ : Kiên Giang
Re: Thảo luận Bài 2
Minh thay ung dung viec cache trong lap trinh ung dung thuc te cung rat hay, thuong ap dung cho nhung he thong lon, du lieu load nhieu va lien tuc, co mot dieu bat loi la khi cache thi du lieu luu tren memory nen khi gap su co o may luu tru cache du lieu rat de bi mat.
tranphanhieu36_i11c đã viết:Đầu tiên mình sẽ định nghĩa cache nè :
Cache là bộ nhớ đệm của CPU,cache nằm trong CPU ngay cạnh lõi xử lý .CPU muốn đọc hay ghi một vị trí trên Ram thì trước hết nó sẽ tìm trong L1 cache xem có sẵn dữ liệu đó không nếu không nó sẽ tìm trong các bộ nhớ cache còn lại .Cache giúp giảm tình trạng thắt nút cổ chai giữa ram và cpu
Cache memory
Là loại memory có dung lượng rất nhỏ (thường nhỏ hơn 1MB) và chạy rất lẹ (gần như tốc độ của CPU). Thông thường thì Cache memory nằm gần CPU và có nhiệm vụ cung cấp những data thường (đang) dùng cho CPU. Sự hình thành của Cache là một cách nâng cao hiệu quả truy cập thông tin của máy tính mà thôi. Những thông tin bạn thường dùng (hoặc đang dùng) thường được chứa trong Cache, mổi khi xử lý hay thay đổi thông tin, CPU sẽ dò trong Cache memory trước xem có tồn tại hay không, nếu có nó sẽ lấy ra dùng lại còn không thì sẽ tìm tiếp vào RAM hoặc các bộ phận khác. Lấy một ví dụ đơn giản là nếu bạn mở Microsoft Word lên lần đầu tiên sẽ thấy hơi lâu nhưng mở lên lần thứ nhì thì lẹ hơn rất nhiều vì trong lần mở thứ nhất các lệnh (instructions) để mở Microsoft Word đã được lưu giữ trong Cache, CPU chỉ việc tìm nó và xài lại thôi.
Lý do Cache memory nhỏ là vì nó rất đắt tiền và chế tạo rất khó khăn bởi nó gần như là CPU (về cấu thành và tốc độ). Thông thường Cache memory nằm gần CPU, trong nhiều trường hợp Cache memory nằm trong con CPU luôn. Người ta gọi Cache Level 1 (L1), Cache level 2 (L2)...là do vị trí của nó gần hay xa CPU. Cache L1 gần CPU nhất, sau đó là Cache L2...
=>cache rất gần với CPU, tốc độ truy xuất rất nhanh ( nhanh hơn RAM rất nhiều) => Dỡ tốn công và thời gian truy xuất, Sẽ tăng được tốc độ truy xuất của CPU rất nhiều, thường thì CPU sẽ vào cache tìm và truy xuất nếu có trước khi vào ram và bộ nhớ ngoài truy xuất.
Ví dụ minh họa nguyên lý lưu gần từ đời thường :
Giếng nước : nếu ở trên cao nhà khá xa nguồn nước thì người ta thường bơm nước vào bể nước hoặc thùng gần nhà để mỗi khi cần sẽ lại thùng hay bề lấy cho nhanh và tiện, vừa đỡ tốn thời gian...
Re: Thảo luận Bài 2
NgoDucTuan (I11C) đã viết:tranphanhieu36_i11c đã viết:Đầu tiên mình sẽ định nghĩa cache nè :
Cache là bộ nhớ đệm của CPU,cache nằm trong CPU ngay cạnh lõi xử lý .CPU muốn đọc hay ghi một vị trí trên Ram thì trước hết nó sẽ tìm trong L1 cache xem có sẵn dữ liệu đó không nếu không nó sẽ tìm trong các bộ nhớ cache còn lại .Cache giúp giảm tình trạng thắt nút cổ chai giữa ram và cpu
Cache memory
Là loại memory có dung lượng rất nhỏ (thường nhỏ hơn 1MB) và chạy rất lẹ (gần như tốc độ của CPU). Thông thường thì Cache memory nằm gần CPU và có nhiệm vụ cung cấp những data thường (đang) dùng cho CPU. Sự hình thành của Cache là một cách nâng cao hiệu quả truy cập thông tin của máy tính mà thôi. Những thông tin bạn thường dùng (hoặc đang dùng) thường được chứa trong Cache, mổi khi xử lý hay thay đổi thông tin, CPU sẽ dò trong Cache memory trước xem có tồn tại hay không, nếu có nó sẽ lấy ra dùng lại còn không thì sẽ tìm tiếp vào RAM hoặc các bộ phận khác. Lấy một ví dụ đơn giản là nếu bạn mở Microsoft Word lên lần đầu tiên sẽ thấy hơi lâu nhưng mở lên lần thứ nhì thì lẹ hơn rất nhiều vì trong lần mở thứ nhất các lệnh (instructions) để mở Microsoft Word đã được lưu giữ trong Cache, CPU chỉ việc tìm nó và xài lại thôi.
Lý do Cache memory nhỏ là vì nó rất đắt tiền và chế tạo rất khó khăn bởi nó gần như là CPU (về cấu thành và tốc độ). Thông thường Cache memory nằm gần CPU, trong nhiều trường hợp Cache memory nằm trong con CPU luôn. Người ta gọi Cache Level 1 (L1), Cache level 2 (L2)...là do vị trí của nó gần hay xa CPU. Cache L1 gần CPU nhất, sau đó là Cache L2...
=>cache rất gần với CPU, tốc độ truy xuất rất nhanh ( nhanh hơn RAM rất nhiều) => Dỡ tốn công và thời gian truy xuất, Sẽ tăng được tốc độ truy xuất của CPU rất nhiều, thường thì CPU sẽ vào cache tìm và truy xuất nếu có trước khi vào ram và bộ nhớ ngoài truy xuất.
Ví dụ minh họa nguyên lý lưu gần từ đời thường :
Giếng nước : nếu ở trên cao nhà khá xa nguồn nước thì người ta thường bơm nước vào bể nước hoặc thùng gần nhà để mỗi khi cần sẽ lại thùng hay bề lấy cho nhanh và tiện, vừa đỡ tốn thời gian...
Nguyên lý cache này, server tận dụng triệt để lắm, đặc biệt là web server
NguyenVietThuan11- Tổng số bài gửi : 34
Join date : 30/08/2011
Age : 36
Đến từ : Đồng Nai
Re: Thảo luận Bài 2
Bổ sung Cách sửa chữa Bad sector với ứng dụng Flobo HDD Bad Sector Repair
Được cung cấp hoàn toàn miễn phí và độc lập nên Flobo HDD Bad Sector Repair sẽ bắt buộc người dùng sử dụng đến đĩa mềm (Floppy) để thao tác. Vì thế sẽ thật bất tiện nếu máy tính bạn không có gắn đầu đọc lọai đĩa này. Điều này ảnh hưởng rất lớn đến các người dùng máy tính xách tay vì hầu hết không sử dụng đầu đọc đĩa mềm.
Sau khi tải chương trình từ website về, bạn hãy cài đặt nó. Khi quá trình tải hoàn tất, một bảng thông báo về tính năng và hướng dẫn về việc tạo một đĩa mềm mang chương trình có khả năng Boot từ Dos sẽ xuất hiện. Bạn cần chuẩn bị sẵn một đĩa mềm và nhấn nút Repair Disk để Flobo HDD Bad Sector Repair tiến hành công việc tạo. Khi hoàn tất sẽ có thông báo cho bạn biết.
Bạn nên dùng WinImage để tiến hành tạo ảnh cho đĩa mềm dưới dạng các tập tin *.img và dùng Nero Burning Room để tạo ra các đĩa CD có khả năng boot và sử dụng Flobo HDD Bad Sector Repair để sửa chữa ổ cứng trong môi trường DOS Việc thao tác không khác gì khác với HDD Regenerator 1.51.
Bạn có thể tải và sử dụng miễn phí chương trình tại website: http://www.floborecovery.dsoftscape.com hoặc http://www.downlinx.com/proghtml/648/64882.htm với dung lượng khoảng 461 KB. Chương trình này tương thích hoàn toàn với các hệ điều hành.
Được cung cấp hoàn toàn miễn phí và độc lập nên Flobo HDD Bad Sector Repair sẽ bắt buộc người dùng sử dụng đến đĩa mềm (Floppy) để thao tác. Vì thế sẽ thật bất tiện nếu máy tính bạn không có gắn đầu đọc lọai đĩa này. Điều này ảnh hưởng rất lớn đến các người dùng máy tính xách tay vì hầu hết không sử dụng đầu đọc đĩa mềm.
Sau khi tải chương trình từ website về, bạn hãy cài đặt nó. Khi quá trình tải hoàn tất, một bảng thông báo về tính năng và hướng dẫn về việc tạo một đĩa mềm mang chương trình có khả năng Boot từ Dos sẽ xuất hiện. Bạn cần chuẩn bị sẵn một đĩa mềm và nhấn nút Repair Disk để Flobo HDD Bad Sector Repair tiến hành công việc tạo. Khi hoàn tất sẽ có thông báo cho bạn biết.
Bạn nên dùng WinImage để tiến hành tạo ảnh cho đĩa mềm dưới dạng các tập tin *.img và dùng Nero Burning Room để tạo ra các đĩa CD có khả năng boot và sử dụng Flobo HDD Bad Sector Repair để sửa chữa ổ cứng trong môi trường DOS Việc thao tác không khác gì khác với HDD Regenerator 1.51.
Bạn có thể tải và sử dụng miễn phí chương trình tại website: http://www.floborecovery.dsoftscape.com hoặc http://www.downlinx.com/proghtml/648/64882.htm với dung lượng khoảng 461 KB. Chương trình này tương thích hoàn toàn với các hệ điều hành.
TangHuynhThanhThanh I11C- Tổng số bài gửi : 6
Join date : 27/08/2011
Nguyên lý ngắt của HĐH
- Có hai loại ngắt chính:
Tín hiệu ngắt từ các thiết bị(Ngắt cứng) truyền qua system Bus.
Tín hiệu ngắt từ chương trình người dùng (ngắt mềm) nhờ lời goị hệ thống. Lệnh đặc biệt này là cơ chế để tiến trình người dùng yêu cầu một dịch vụ của HĐH.
- Với mỗi loại ngắt, có đoạn mã riêng của HĐH dùng để xử lý.
- Các HĐH hiện đại được dẫn dắt bởi các sự kiện. Nếu không có tiến trình nào vận hành,không có thiết bị I/O nào làm việc,HĐH im lặng chờ và theo dõi.
- Thông thường, mỗi loại ngắt tương ứng với một dòng trong bảng chứa con trỏ tới chương trình xử lý loại ngắt đó (Bảng véc-tơ ngắt). Bảng này nằm ờ vùng thấp của RAM.
- Cơ chế xử lý ngắt phải có trách nhiệm ghi lại địa chỉ lệnh bị ngắt để sau đó có thể quay lại địa chỉ này cùng với nhiều thông tin khác có thể được ghi vào ngăn xếp hệ thống với nguyên tắc làm việc LIFO.
VD:
* Ngắt cứng:khi chương trình đang chạy thì bị ngắt do có câu lệnh buột phải ngắt chương trình.
* Ngắt mềm:khi chương trình đang chạy nhưng người dùng muốn sử dụng thao tác khác nên máy tính phải dừng việc đang làm và thực thi hiệu lệnh của người dùng.
Tín hiệu ngắt từ các thiết bị(Ngắt cứng) truyền qua system Bus.
Tín hiệu ngắt từ chương trình người dùng (ngắt mềm) nhờ lời goị hệ thống. Lệnh đặc biệt này là cơ chế để tiến trình người dùng yêu cầu một dịch vụ của HĐH.
- Với mỗi loại ngắt, có đoạn mã riêng của HĐH dùng để xử lý.
- Các HĐH hiện đại được dẫn dắt bởi các sự kiện. Nếu không có tiến trình nào vận hành,không có thiết bị I/O nào làm việc,HĐH im lặng chờ và theo dõi.
- Thông thường, mỗi loại ngắt tương ứng với một dòng trong bảng chứa con trỏ tới chương trình xử lý loại ngắt đó (Bảng véc-tơ ngắt). Bảng này nằm ờ vùng thấp của RAM.
- Cơ chế xử lý ngắt phải có trách nhiệm ghi lại địa chỉ lệnh bị ngắt để sau đó có thể quay lại địa chỉ này cùng với nhiều thông tin khác có thể được ghi vào ngăn xếp hệ thống với nguyên tắc làm việc LIFO.
VD:
* Ngắt cứng:khi chương trình đang chạy thì bị ngắt do có câu lệnh buột phải ngắt chương trình.
* Ngắt mềm:khi chương trình đang chạy nhưng người dùng muốn sử dụng thao tác khác nên máy tính phải dừng việc đang làm và thực thi hiệu lệnh của người dùng.
NgoDucTuan (I11C)- Tổng số bài gửi : 52
Join date : 31/08/2011
Bảo vệ nhập xuất bằng lời gọi hệ thống?
System call- phương thức duy nhất mà process dùng để yêu cầu các dịch vụ cung cấp bởi OS.
- Các system call gây ra ngắt mềm (gọi là Trap).
- Quyền điều khiển được chuyển đến trình phục vụ ngắt, mode bit được thiết lập là monitor mode.
- OS kiểm tra tính hợp lệ và đúng đắn cảu các đối số, thực hiện yêu cầu và trả quyền điều khiển về lệnh kế tiếp sau system call.
- Các system call gây ra ngắt mềm (gọi là Trap).
- Quyền điều khiển được chuyển đến trình phục vụ ngắt, mode bit được thiết lập là monitor mode.
- OS kiểm tra tính hợp lệ và đúng đắn cảu các đối số, thực hiện yêu cầu và trả quyền điều khiển về lệnh kế tiếp sau system call.
LeTanDat (I11C)- Tổng số bài gửi : 24
Join date : 30/08/2011
Re: Thảo luận Bài 2
Cache là bộ nhớ đệm, nơi lưu trử dử liệu tạm thời trước khi nó đi vào thiết bị như CPU, ổ cứng,...tranphanhieu36_i11c đã viết:Đầu tiên mình sẽ định nghĩa cache nè :
Cache là bộ nhớ đệm của CPU,cache nằm trong CPU ngay cạnh lõi xử lý .CPU muốn đọc hay ghi một vị trí trên Ram thì trước hết nó sẽ tìm trong L1 cache xem có sẵn dữ liệu đó không nếu không nó sẽ tìm trong các bộ nhớ cache còn lại .Cache giúp giảm tình trạng thắt nút cổ chai giữa ram và cpu
Cache memory
Là loại memory có dung lượng rất nhỏ (thường nhỏ hơn 1MB) và chạy rất lẹ (gần như tốc độ của CPU). Thông thường thì Cache memory nằm gần CPU và có nhiệm vụ cung cấp những data thường (đang) dùng cho CPU. Sự hình thành của Cache là một cách nâng cao hiệu quả truy cập thông tin của máy tính mà thôi. Những thông tin bạn thường dùng (hoặc đang dùng) thường được chứa trong Cache, mổi khi xử lý hay thay đổi thông tin, CPU sẽ dò trong Cache memory trước xem có tồn tại hay không, nếu có nó sẽ lấy ra dùng lại còn không thì sẽ tìm tiếp vào RAM hoặc các bộ phận khác. Lấy một ví dụ đơn giản là nếu bạn mở Microsoft Word lên lần đầu tiên sẽ thấy hơi lâu nhưng mở lên lần thứ nhì thì lẹ hơn rất nhiều vì trong lần mở thứ nhất các lệnh (instructions) để mở Microsoft Word đã được lưu giữ trong Cache, CPU chỉ việc tìm nó và xài lại thôi.
Lý do Cache memory nhỏ là vì nó rất đắt tiền và chế tạo rất khó khăn bởi nó gần như là CPU (về cấu thành và tốc độ). Thông thường Cache memory nằm gần CPU, trong nhiều trường hợp Cache memory nằm trong con CPU luôn. Người ta gọi Cache Level 1 (L1), Cache level 2 (L2)...là do vị trí của nó gần hay xa CPU. Cache L1 gần CPU nhất, sau đó là Cache L2...
=>cache rất gần với CPU, tốc độ truy xuất rất nhanh ( nhanh hơn RAM rất nhiều) => Dỡ tốn công và thời gian truy xuất, Sẽ tăng được tốc độ truy xuất của CPU rất nhiều, thường thì CPU sẽ vào cache tìm và truy xuất nếu có trước khi vào ram và bộ nhớ ngoài truy xuất.
Ví dụ minh họa nguyên lý lưu gần từ đời thường :
Giếng nước : nếu ở trên cao nhà khá xa nguồn nước thì người ta thường bơm nước vào bể nước hoặc thùng gần nhà để mỗi khi cần sẽ lại thùng hay bề lấy cho nhanh và tiện, vừa đỡ tốn thời gian...
để bạn dể hình dung mình nói gọn thế này nha, khi bạn copy dử liệu từ USb hoặc CD/DVD vào ổ cứng, trước khi vào ổ cứng, nó được nằm trong Cache, sau đó nó mới được đưa vào ổ cứng. Khi bạn mở 1 bài nhạc hoặc chạy 1 file nào đó nằm trên ổ cứng thì bài nhạc và cái file đó được copy từ ổ cứng lên RAM rồi từ RAM nó mới được đưa lên Cache của CPU rồi mới vào CPU chứ không đi thẳng được từ ổ cứng lên CPU.
Từ những điều đó bạn sẽ thấy, nếu cache càng lớn thì càng có lợi hơn cho tốc độ của cpu, ổ cứng,... vì nếu cache nhỏ quá, dử liệu sẽ bị trì trễ vì phải đợi. nó giống như cái cửa vậy, bạn muốn vào nhà bạn fải qua cửa, nếu của quá hẹp thì ngừoi ta sẽ bị kẹt nhiều ở cửa.
nguyenthithutrang (I11C)- Tổng số bài gửi : 33
Join date : 26/08/2011
Age : 36
Đến từ : Lâm Đồng
[b]Cấu trúc cơ bản của máy tính[/b]
• Bộ xử lý trung tâm (CPU):
– Điều khiển hoạt động của máy tính và xử lý dữ liệu.
• Bộ nhớ chính (Main Memory):
– Chứa các chương trình và dữ liệu đang được sử dụng.
• Hệ thống vào ra (Input/Output System):
– Trao đổi thông tin giữa máy tính với bên ngoài.
• Liên kết hệ thống (System Interconnection):
– Kết nối và vận chuyển thông tin giữa các thànhphần với nhau.
– Điều khiển hoạt động của máy tính và xử lý dữ liệu.
• Bộ nhớ chính (Main Memory):
– Chứa các chương trình và dữ liệu đang được sử dụng.
• Hệ thống vào ra (Input/Output System):
– Trao đổi thông tin giữa máy tính với bên ngoài.
• Liên kết hệ thống (System Interconnection):
– Kết nối và vận chuyển thông tin giữa các thànhphần với nhau.
HoangThanhChuong (I11C)- Tổng số bài gửi : 15
Join date : 25/08/2011
Bộ nhớ cache và cơ chế caching!
Cache thì có nhiều loại cache ví như:
Cache cua CPU:
Là bộ nhớ nằm bên cạnh CPU, bộ nhớ này có tốc độ truy cập rất nhanh. Do làm bằng chất liệu cao cấp nên CPU nào có cùng tốc độ mà cache lớn hơn thì giá thành cao hơn.
Nhiệm vụ của cache này là lưu các lệnh mà HDH đưa xuống chờ CPU xử lý.
Bộ nhớ Ram chứa chương trình, Cache chứa các lệnh
Caching cua Internet Browser:
Là cơ chế lưu lại các file (thuong la file ảnh, flash...) mà nguoi dung đã truy cập, khi truy cập trở lại nếu có cùng tên file, cùng dung lượng (số byte), nó sẽ lấy từ trong cache mà không cần phải load lại một lần nữa, như vậy ta sẽ có cảm giác Browser load file ngay tức thì.
Caching cua Oracle:
Là cơ chế lưu lại kết quả của các câu lệnh SQL được query thường xuyên, nên khi có một tác vụ yêu cầu xử lý các câu lệnh SQL "quen thuộc" (nằm trong cache) nó sẽ trả về kết quả mà không cần xử lý, như vậy vừa đáp ứng gần như ngay lập tức, mà còn tăng thời gian rỗi của CPU, giúp hệ thống chạy nhanh hơn. Đây là ưu thế tuyệt vời Oracle so với MS SQL Server.
Nên nhớ Microsoft sản xuất ra MS SQL server, nhưng phải mua Oracle để chạy Hotmail, và các ứng dụng Database khổng lồ Live Search...
-Bộ nhớ Cache là bộ nhớ nằm bên trong của CPU, nó có tốc độ
truy cập dữ liệu theo kịp tốc độ xủa lý của CPU, điều này khiến
cho CPU trong lúc xử lý không phải chờ dữ liệu từ RAM vì dữ
liệu từ RAM phải đi qua Bus của hệ thống nên mất nhiều thời
gian.
- Một dữ liệu trước khi được xử lý, thông qua các lệnh gợi ý của
ngôn ngữ lập trình, dữ liệu được nạp sẵn lên bộ nhớ Cache, vì
vậy khi xử lý đến, CPU không mất thời gian chờ đợi .
Khi xử lý xong trong lúc đường truyền còn bận thì CPU lại
đưa tạm kết quả vào bộ nhớ Cache, như vậy CPU không mất
thời gian chờ đường truyền được giải phóng .
- Bộ nhớ Cache là giải pháp làm cho CPU có điều kiện hoạt động
thường xuyên mà không phải ngắt quãng chờ dữ liệu, vì vậy
nhờ có bộ nhớ Cache mà hiệu quả xử lý tăng lên rất nhiều, tuy
nhiên bộ nhớ Cache được làm bằng Ram tĩnh do vậy giá thành
của chúng rất cao
Cơ chế caching
Caching
– nạp trước dữ liệu vào thiết bị lưu trữ tốc độ cao hơn
Tại sao phải dùng cache?
– Chênh lệch lớn giữa tốc độ CPU và tốc độ bộ nhớ RAM, đĩa,…
– Khai thác nguyên lý cục bộ (locality)
Kích thước cache nhỏ ® phải quản lý cache: thay nội dung cache
Trong cơ chế caching, một dữ liệu có thể được lưu trữ nhiều nơi ® phải bảo đảm tính nhất quán dữ liệu: cache coherency problem
Cache cua CPU:
Là bộ nhớ nằm bên cạnh CPU, bộ nhớ này có tốc độ truy cập rất nhanh. Do làm bằng chất liệu cao cấp nên CPU nào có cùng tốc độ mà cache lớn hơn thì giá thành cao hơn.
Nhiệm vụ của cache này là lưu các lệnh mà HDH đưa xuống chờ CPU xử lý.
Bộ nhớ Ram chứa chương trình, Cache chứa các lệnh
Caching cua Internet Browser:
Là cơ chế lưu lại các file (thuong la file ảnh, flash...) mà nguoi dung đã truy cập, khi truy cập trở lại nếu có cùng tên file, cùng dung lượng (số byte), nó sẽ lấy từ trong cache mà không cần phải load lại một lần nữa, như vậy ta sẽ có cảm giác Browser load file ngay tức thì.
Caching cua Oracle:
Là cơ chế lưu lại kết quả của các câu lệnh SQL được query thường xuyên, nên khi có một tác vụ yêu cầu xử lý các câu lệnh SQL "quen thuộc" (nằm trong cache) nó sẽ trả về kết quả mà không cần xử lý, như vậy vừa đáp ứng gần như ngay lập tức, mà còn tăng thời gian rỗi của CPU, giúp hệ thống chạy nhanh hơn. Đây là ưu thế tuyệt vời Oracle so với MS SQL Server.
Nên nhớ Microsoft sản xuất ra MS SQL server, nhưng phải mua Oracle để chạy Hotmail, và các ứng dụng Database khổng lồ Live Search...
-Bộ nhớ Cache là bộ nhớ nằm bên trong của CPU, nó có tốc độ
truy cập dữ liệu theo kịp tốc độ xủa lý của CPU, điều này khiến
cho CPU trong lúc xử lý không phải chờ dữ liệu từ RAM vì dữ
liệu từ RAM phải đi qua Bus của hệ thống nên mất nhiều thời
gian.
- Một dữ liệu trước khi được xử lý, thông qua các lệnh gợi ý của
ngôn ngữ lập trình, dữ liệu được nạp sẵn lên bộ nhớ Cache, vì
vậy khi xử lý đến, CPU không mất thời gian chờ đợi .
Khi xử lý xong trong lúc đường truyền còn bận thì CPU lại
đưa tạm kết quả vào bộ nhớ Cache, như vậy CPU không mất
thời gian chờ đường truyền được giải phóng .
- Bộ nhớ Cache là giải pháp làm cho CPU có điều kiện hoạt động
thường xuyên mà không phải ngắt quãng chờ dữ liệu, vì vậy
nhờ có bộ nhớ Cache mà hiệu quả xử lý tăng lên rất nhiều, tuy
nhiên bộ nhớ Cache được làm bằng Ram tĩnh do vậy giá thành
của chúng rất cao
Cơ chế caching
Caching
– nạp trước dữ liệu vào thiết bị lưu trữ tốc độ cao hơn
Tại sao phải dùng cache?
– Chênh lệch lớn giữa tốc độ CPU và tốc độ bộ nhớ RAM, đĩa,…
– Khai thác nguyên lý cục bộ (locality)
Kích thước cache nhỏ ® phải quản lý cache: thay nội dung cache
Trong cơ chế caching, một dữ liệu có thể được lưu trữ nhiều nơi ® phải bảo đảm tính nhất quán dữ liệu: cache coherency problem
HoangThiVe (I11C)- Tổng số bài gửi : 15
Join date : 25/08/2011
Age : 36
Re: Thảo luận Bài 2
Bai cua ban cung cap cho minh them nhung kien thuc tuong nhu don gian ai cung biet nhung hieu sau hon ve no thi chua han, thanks ban nhieu
NgoThiCamNhung47 (I11C) đã viết:Thuật ngữ L1 cache, L2 cache là tên gọi của vùng nhớ đệm – nơi lưu trữ các dữ liệu nằm chờ các ứng dụng hay phần cứng xử lý. Mục đích của nó là để tăng tốc độ xử lý, nó giống như một trạm trung chuyển hay cảng tập kết hàng hoá.
Nói một cách bài bản, cache là một cơ chế lưu trữ tốc độ cao đặc biệt. Nó có thể là một vùng lưu trữ của bộ nhớ chính hay một thiết bị lưu trữ tốc độ cao độc lập.Có hai dạng lưu trữ cache được dùng phổ biến trong máy tính cá nhân là memory caching (bộ nhớ cache hay bộ nhớ truy xuất nhanh) và disk caching (bộ nhớ đệm đĩa).
* Memory cache: Đây là một khu vực bộ nhớ được tạo bằng bộ nhớ tĩnh (SRAM) có tốc độ cao nhưng đắt tiền thay vì bộ nhớ động (DRAM) có tốc độ thấp hơn và rẻ hơn, được dùng cho bộ nhớ chính. Cơ chế lưu trữ bộ nhớ cahce này rất có hiệu quả. Bởi lẽ, hầu hết các chương trình thực tế truy xuất lặp đi lặp lại cùng một dữ liệu hay các lệnh y chang nhau. Nhờ lưu trữ các thông tin này trong SRAM, máy tính sẽ khỏi phải truy xuất vào DRAM vốn chậm chạp hơn.Một số bộ nhớ cache được tích hợp vào trong kiến trúc của các bộ vi xử lý. Chẳng hạn, CPU Intel đời 80486 có bộ nhớ cache 8 KB, trong khi lên đời Pentium là 16 KB. Các bộ nhớ cache nội (internal cache) như thế gọi là Level 1 (L1) Cache (bộ nhớ đệm cấp 1). Các máy tính hiện đại hơn thì có thêm bộ nhớ cache ngoại (external cache) gọi là Level 2 (L2) Cache (bộ nhớ đệm cấp 2). Các cache này nằm giữa CPU và bộ nhớ hệ thống DRAM. Sau này, do nhu cầu xử lý nặng hơn và với tốc độ nhanh hơn, các máy chủ (server), máy trạm (workstation) và mới đây là CPU Pentium 4 Extreme Edition được tăng cường thêm bộ nhớ đệm L3 Cache.
* Disk cache: Bộ nhớ đệm đĩa cũng hoạt động cùng nguyên tắc với bộ nhớ cache, nhưng thay vì dùng SRAM tốc độ cao, nó lại sử dụng ngay bộ nhớ chính. Các dữ liệu được truy xuất gần đây nhất từ đĩa cứng sẽ được lưu trữ trong một buffer (phần đệm) của bộ nhớ. Khi chương trình nào cần truy xuất dữ liệu từ ổ đĩa, nó sẽ kiểm tra trước tiên trong bộ nhớ đệm đĩa xem dữ liệu mình cần đang có sẵn không. Cơ chế bộ nhớ đệm đĩa này có công dụng cải thiện một cách đáng ngạc nhiên sức mạnh và tốc độ của hệ thống. Bởi lẽ, việc truy xuất 1 byte dữ liệu trong bộ nhớ RAM có thể nhanh hơn hàng ngàn lần nếu truy xuất từ một ổ đĩa cứng. Sẵn đây, xin nói thêm, người ta dùng thuật ngữ cache hit để chỉ việc dữ liệu được tìm thấy trong cache. Và hiệu năng của một cache được tính bằng hit rate (tốc độ tìm thấy dữ liệu trong cache). Trở lại chuyện bộ nhớ cache. Hồi thời Pentium đổ về trước, bộ nhớ cache nằm trên mainboard và một số mainboard có chừa sẵn socket để người dùng có thể gắn thêm cache khi có nhu cầu. Tới thế hệ Pentium II, Intel phát triển được công nghệ đưa bộ nhớ cache vào khối CPU. Nhờ nằm chung như vậy, tốc độ truy xuất cache tăng lên rõ rệt so với khi nó nằm trên mainboard. Nhưng do L2 Cache vẫn phải ở ngoài nhân CPU nên Intel phải chế ra một bo mạch gắn cả nhân CPU lẫn L2 Cache. Và thế là CPU có hình dạng to đùng như một cái hộp (gọi là cartridge) và được gắn vào mainboard qua giao diện slot (khe cắm), Slot 1. Tốc độ truy xuất cache lúc đó chỉ bằng phân nửa tốc độ CPU. Thí dụ, CPU 266 MHz chỉ có tốc độ L2 Cache là 133 MHz. Sang Pentium III cũng vậy. Mãi cho tới thế hệ Pentium III Coppermine (công nghệ 0.18-micron), Intel mới thành công trong việc tích hợp ngay L2 Cache vào nhân chip (gọi là on-die cache). Lúc đó, tốc độ L2 Cache bằng với tốc độ CPU và con CPU được thu gọn lại, đóng gói với giao diện Socket 370.
Re: Thảo luận Bài 2
Mình xin bổ sung thêm phần " Kiến trúc máy tính (Computer Architecture) ",các bạn ít đề cập tới :
Người ta chia máy tính ra làm nhiều tầng lớp như sau:
-Applications: các ứng dụng ,là các phần mềm mà người sử dụng thông qua đó để giao tiếp với máy tính, ví dụ như xử lý văn bản ,duyệt web, gởi và nhận email, sử dụng bản tính....
-Operating System : hệ điều hành, là một tập hợp các chương trình tạo nên môi trường để các ứng dụng có thể hoạt động ,cho phép các ứng dụng đó dễ dàng sử sụng các tài nguyên của CPU ,ỗ đĩa,các thiết bị phụ.
-Basic Input/Output System (BIOS) : là một tập hợp các bộ lệnh tác động độc lập vào các chứa năng của hệ thống không phụ thuộc vào sự thiết kế phần cứng(đây là lớp nằm giữa phần cứng và hệ điều hành), cho phép phần mềm tương thích với phần cứng. Chương trình BIOS thường được lưu trong flash memory (EEPROM ) trên mainboard. Khi PC khởi động ,BIOS sẽ đưa ra một chương trình gọi là POST(Power On Self-Test).
-Firmware : có chức năng gần giống như BIOS.Thường là lớp của phần mềm nằm giữa chương trình điều khiển và thiết bị.thướng đó là 1 chip EEPROM trên card giao tiếp có thể cập nhật chương trình từ đĩa mềm.
-Device driver (chương trình điều khiển thiết bị) :thông thường là một phần mềm (đã được đưa vào trong quá trình sản xuất) dùng để kiểm soát hoặc tranh giành lấy các thiết bị kết nối với máy tính như : máy in, máy quét, ổ đĩa mềm , ổ đĩa cứng, màn hình, chuột...Chương trình điều khiển thiết bị thường được nạp lên bộ nhớ PC trong quá trình khởi động (boot). Chương trình điều khiển thiết bị mở rộng thêm cho hệ điều hành khả năng làm việc tương thích với các thiết bị ngoại vi và kiểm soát các phân đoạn phần mềm nhằm làm cho các ngoại vi đó hoạt động.Ví dụ : Microsoft dùng Windows Driver Model ( các tập tin *.WDM ) để điều khiển các thiết bị.Việc chọn lựa một chương trình điều khiển thiết bị để điều khiển đúng thiết bị đó thật là cần thiết và rất quan trọng.Các chương trình điều khiển đó cũng tùy vào từng hệ điều hành.(Lựa chọn sai lầm một chương trình điều khiển thiết bị sẽ dẫn tới tình trạng thiết bị đó hoạt động kém hiệu quả, đôi khi còn mất dữ liệu .Thông thường những nhà cung cấp phần cứng sẽ đưa ra các chương trình điều khiển thiết bị mới nhất trên website của họ ).
-Class driver (chương trình điều khiển các lớp ) : cung cấp các yêu cầu hệ thống ,hỗ trợ phần cứng độc lập với các lớp của phần cứng.
-Minidriver :Microsoft sử dụng các DLL để điều khiển.
-MiniPort driver : tương tự như Minidriver.
-Interrupts : các ngắt.
Người ta chia máy tính ra làm nhiều tầng lớp như sau:
-Applications: các ứng dụng ,là các phần mềm mà người sử dụng thông qua đó để giao tiếp với máy tính, ví dụ như xử lý văn bản ,duyệt web, gởi và nhận email, sử dụng bản tính....
-Operating System : hệ điều hành, là một tập hợp các chương trình tạo nên môi trường để các ứng dụng có thể hoạt động ,cho phép các ứng dụng đó dễ dàng sử sụng các tài nguyên của CPU ,ỗ đĩa,các thiết bị phụ.
-Basic Input/Output System (BIOS) : là một tập hợp các bộ lệnh tác động độc lập vào các chứa năng của hệ thống không phụ thuộc vào sự thiết kế phần cứng(đây là lớp nằm giữa phần cứng và hệ điều hành), cho phép phần mềm tương thích với phần cứng. Chương trình BIOS thường được lưu trong flash memory (EEPROM ) trên mainboard. Khi PC khởi động ,BIOS sẽ đưa ra một chương trình gọi là POST(Power On Self-Test).
-Firmware : có chức năng gần giống như BIOS.Thường là lớp của phần mềm nằm giữa chương trình điều khiển và thiết bị.thướng đó là 1 chip EEPROM trên card giao tiếp có thể cập nhật chương trình từ đĩa mềm.
-Device driver (chương trình điều khiển thiết bị) :thông thường là một phần mềm (đã được đưa vào trong quá trình sản xuất) dùng để kiểm soát hoặc tranh giành lấy các thiết bị kết nối với máy tính như : máy in, máy quét, ổ đĩa mềm , ổ đĩa cứng, màn hình, chuột...Chương trình điều khiển thiết bị thường được nạp lên bộ nhớ PC trong quá trình khởi động (boot). Chương trình điều khiển thiết bị mở rộng thêm cho hệ điều hành khả năng làm việc tương thích với các thiết bị ngoại vi và kiểm soát các phân đoạn phần mềm nhằm làm cho các ngoại vi đó hoạt động.Ví dụ : Microsoft dùng Windows Driver Model ( các tập tin *.WDM ) để điều khiển các thiết bị.Việc chọn lựa một chương trình điều khiển thiết bị để điều khiển đúng thiết bị đó thật là cần thiết và rất quan trọng.Các chương trình điều khiển đó cũng tùy vào từng hệ điều hành.(Lựa chọn sai lầm một chương trình điều khiển thiết bị sẽ dẫn tới tình trạng thiết bị đó hoạt động kém hiệu quả, đôi khi còn mất dữ liệu .Thông thường những nhà cung cấp phần cứng sẽ đưa ra các chương trình điều khiển thiết bị mới nhất trên website của họ ).
-Class driver (chương trình điều khiển các lớp ) : cung cấp các yêu cầu hệ thống ,hỗ trợ phần cứng độc lập với các lớp của phần cứng.
-Minidriver :Microsoft sử dụng các DLL để điều khiển.
-MiniPort driver : tương tự như Minidriver.
-Interrupts : các ngắt.
nguyenhoangthinh (I11C)- Tổng số bài gửi : 34
Join date : 25/08/2011
Máy tính bao gồm những thành phần cơ bản nào và nguyên lý hoạt động ra sao?
Trong số chúng ta chắc ko ai là ko từng được sở hữu 1 hay ít nhất là 1 bộ máy vi tính. Nhưng thực tế lại cho thấy rằng 1 hoặc ít nhất là 1 trong cộng đồng sử dụng tin học lại ko hiểu rõ về những gì đang nằm trong cái máy tính mà chúng ta đang sử dụng, làm việc và gặp hàng ngày. Hôm nay Bun mạn phép mở chủ đề này nhằm mục đích "xóa mù tin học" cho những gì mà chúng ta còn thiếu sót. Mù chỗ nào xóa chỗ ấy, chắc chắn có những phần bạn có thể đã biết wa, nhưng cũng có những phần mà chúng ta lại chưa biết. Vậy hãy cùng nhau trau dồi thêm nhưng gì được xem là cơ bản nhất sau đây.
1- Hệ thống
khi bạn làm chủ một máy tính, tức bạn đang sỡ hữu một hệ thống tinhi vi và phức tạp. Đó là một hệ thống bao gồm CASE ( thùng chứa hay còn gọi là vỏ máy). Thúng máy có rất nhiều kiểu và kích cỡ. Các thành phần điện tử sẽ được gắn vào thùng chứa bằng các kết nối như ốc vít, hộc đựng, các lỗ dành cho các cổng và thiết bị vào/ra.
2- Bo mạch chủ (motherboard) hay còn gọi la mạch hệ thống. Có rất nhiều thành phần linh kiện điện tử được gắn vào bo mạch, còn 1 số khác có thể được tích hợp/hàn luôn vào bo mạch. Thường bo mạch được kếu thành bởi các vi mạch, tụ, chip và có các khe cắm cho memory, sound card, graphic card...hoặc socket (đế cắm) cho bộ vi xử lý.
Trong các thiết bị điện tử Bo mạch chủ là một bản mạch đóng vai trò là trung gian giao tiếp giữa các thiết bị với nhau. Một cách tổng quát, nó là mạch điện chính của một hệ thống hay thiết bị điện tử. Có rất nhiều các thiết bị gắn trên bo mạch chủ theo cách trực tiếp có mặt trên nó, thông qua các kết nối cắm vào hoặc dây dẫn liên kết, phần này trình bày sơ lược về các thiết bị đó, chi tiết về các thiết bị xin xem theo các liên kết đến bài viết cụ thể về chúng.
* Chipset cầu bắc cùng với chipset cầu nam sẽ quyết định sự tương thích của bo mạch chủ đối với các CPU và đôi khi là hiệu năng của bo mạch chủ.
* BIOS: Thiết bị vào/ra cơ sở, rất quan trọng trong mỗi bo mạch chủ, chúng chứa thiết đặt các thông số làm việc của hệ thống. BIOS có thể được liên kết hàn dán trực tiếp vào bo mạch chủ hoặc có thể được cắm trên một đế cắm để có thể tháo rời.
* Các linh kiện, thiết bị khác: Hầu hết còn lại là linh kiện điện tử (giống như các linh kiện điện tử trong các bo mạch điện tử thông thường)
3- Bộ vi xử lý ( processor) viết tắt của Central Processing Unit (CPU) chức đựng và thực thi các chỉ thị cơ bản cho việc tổ chức 1 máy tính. Bộ vi xử lý chứ đựng 2 thành phần : thành phần điều khiển (Control unit ) và thành phần tính toán logic ( Arithmetic Logic Unit).
Bộ vi xử lý hoạt động theo một chu ký được gọi là Machine Cycle gồm : Fetch - Decode - Execute- Store có thể hiểu đơn giàn là "đưa ra điều kiện - mã hóa - thực thi- đưa về bộ nhớ". Vòng xoay này được bộ vi xử lý thực hiện và đếm nên chúng ta có khái niệm về xung nhịp. Mỗi 1 xung nhịp ( 1 giây) thì CPU thực thi được 1 vòng lệnh ta gọi là hertz. Như vậy ngày nay với bộ xử lý 3.2 Ghz thì máy tính có thể xử lý được 3 triệu 200 nghìn lệnh trong vòng 1 giây.
1- Hệ thống
khi bạn làm chủ một máy tính, tức bạn đang sỡ hữu một hệ thống tinhi vi và phức tạp. Đó là một hệ thống bao gồm CASE ( thùng chứa hay còn gọi là vỏ máy). Thúng máy có rất nhiều kiểu và kích cỡ. Các thành phần điện tử sẽ được gắn vào thùng chứa bằng các kết nối như ốc vít, hộc đựng, các lỗ dành cho các cổng và thiết bị vào/ra.
2- Bo mạch chủ (motherboard) hay còn gọi la mạch hệ thống. Có rất nhiều thành phần linh kiện điện tử được gắn vào bo mạch, còn 1 số khác có thể được tích hợp/hàn luôn vào bo mạch. Thường bo mạch được kếu thành bởi các vi mạch, tụ, chip và có các khe cắm cho memory, sound card, graphic card...hoặc socket (đế cắm) cho bộ vi xử lý.
Trong các thiết bị điện tử Bo mạch chủ là một bản mạch đóng vai trò là trung gian giao tiếp giữa các thiết bị với nhau. Một cách tổng quát, nó là mạch điện chính của một hệ thống hay thiết bị điện tử. Có rất nhiều các thiết bị gắn trên bo mạch chủ theo cách trực tiếp có mặt trên nó, thông qua các kết nối cắm vào hoặc dây dẫn liên kết, phần này trình bày sơ lược về các thiết bị đó, chi tiết về các thiết bị xin xem theo các liên kết đến bài viết cụ thể về chúng.
* Chipset cầu bắc cùng với chipset cầu nam sẽ quyết định sự tương thích của bo mạch chủ đối với các CPU và đôi khi là hiệu năng của bo mạch chủ.
* BIOS: Thiết bị vào/ra cơ sở, rất quan trọng trong mỗi bo mạch chủ, chúng chứa thiết đặt các thông số làm việc của hệ thống. BIOS có thể được liên kết hàn dán trực tiếp vào bo mạch chủ hoặc có thể được cắm trên một đế cắm để có thể tháo rời.
* Các linh kiện, thiết bị khác: Hầu hết còn lại là linh kiện điện tử (giống như các linh kiện điện tử trong các bo mạch điện tử thông thường)
3- Bộ vi xử lý ( processor) viết tắt của Central Processing Unit (CPU) chức đựng và thực thi các chỉ thị cơ bản cho việc tổ chức 1 máy tính. Bộ vi xử lý chứ đựng 2 thành phần : thành phần điều khiển (Control unit ) và thành phần tính toán logic ( Arithmetic Logic Unit).
Bộ vi xử lý hoạt động theo một chu ký được gọi là Machine Cycle gồm : Fetch - Decode - Execute- Store có thể hiểu đơn giàn là "đưa ra điều kiện - mã hóa - thực thi- đưa về bộ nhớ". Vòng xoay này được bộ vi xử lý thực hiện và đếm nên chúng ta có khái niệm về xung nhịp. Mỗi 1 xung nhịp ( 1 giây) thì CPU thực thi được 1 vòng lệnh ta gọi là hertz. Như vậy ngày nay với bộ xử lý 3.2 Ghz thì máy tính có thể xử lý được 3 triệu 200 nghìn lệnh trong vòng 1 giây.
Nguyenminhduc (I11C)- Tổng số bài gửi : 18
Join date : 07/09/2011
Các thành phần cơ bản, nguyên tắc hoạt động và các thuộc của CPU
Bộ xử lý trung tâm (CPU – Center Processor Unit)
PU được coi là bộ não của máy tính. Nhiệm vụ của CPU là xử lý những hoạt động, chẳng hạn như tính toán, lưu trữ thông tin và truy tìm. Vì thế CPU biểu thị cho “trí thông minh” của mỗi máy tính. Sự tiến bộ của công nghệ máy tính luôn gắn liền với sự phát triển của CPU. Cho đến nay, người ta thường chỉ căn cứ vào CPU để phân loại PC. Thực chất CPU trong máy tính là một chip, tức là mạch tích hợp điện tử thu nhỏ, chịu trách nhiệm trục tiếp hay gián tiếp về mọi hoạt động của máy tính. CPU là đầu não điều khiển máy tính từ lúc khởi động cho đến khi tắt.
*Các thành phần cơ bản của CPU*
CU (Control Unit): Đơn vị điều khiển : Điểu khiển hoạt động của hệ thống theo chương trình đã dựng sẵn. Có chức năng điều khiển toàn bộ tiến trình chuyển giao dữ liệu từ chổ này sang chổ khác trong khi quá trình tính toán đang tiếp tục thực hiện
ALU (Arithmetic and Logic Unit): Đơn vị số học và luận lý
Thực hiện tất cả các tính toán số học và lôgic. Đơn vị số học và luận lý chỉ thực hiện các phép toán số học đơn giản như phép cộng, trừ, nhân, chia. Để CPU có thể xử lý dữ liệu với các số thực với độ chính xác cao và các phép toán phức tạp như sin, cos, tính tích phân…, các CPU thường được trang bị thêm bộ đồng xử lý toán học (FPU: Floatting Point Unit ) còn được gọi là bộ xử lý dấu chấm động.
Tập các thanh ghi (Registry) => Dùng để chứa thông tin tạm thời phục vụ cho các hoạt động hiện tại của CPU
Thanh ghi Kiểu Ghi chú
R0-R7 A Các thanh ghi mục đích chung
PC NA Bộ đếm chương trình
SR NA Thanh ghi trạng thái
TMPI NA Thanh ghi thời gian vào ALU
TMPO NA Thanh ghi thời gian ra ALU
MDR NA Thanh ghi dữ liệu
MAR NA Thanh ghi địa chỉ
IR NA Thanh ghi lệnh
Các chức năng cơ bản của CPU:
+ Thực hiện các lệnh về xử lý dữ liệu & các lệnh nhập xuất dữ liệu
+ Thực hiện các lệnh đọc, ghi, xóa dữ liệu trên các thiết bị lưu trữ
+ Thực hiện các lệnh về quản lý bộ nhớ bao gồm cấp phát và giải phóng
*Nguyên tắc hoạt động*
Đối với CPU, do việc xử lý thông tin trong CPU là hoàn toàn tự động theo những chương trình có sẵn trong bộ nhớ, CPU cần phải biết thời điểm đọc lệnh, đọc lệnh xong thì mới chuyển đến thời điểm CPU tiến hành giải mã lệnh, giải mã lệnh xong thì CPU mới tiến hành việc thực hiện lệnh. Thực hiện xong thì CPU mới tiến hành việc đọc lệnh kế tiếp.
Đây là các công đoạn khi CPU thực hiện và không thể lẫn lộn được mà phải được thực hiện một cách tuần tự.
Để giải quyết vấn đề này, trong CPU cần phải có một bộ tạo nhịp thời gian làm việc (CPU Clock). Tại nhịp thời gian này, CPU thực hiện việc đọc lệnh, tại nhịp thời gian tiếp theo, CPU thực hiện việc giải mã lệnh…
Nhịp thời gian càng ngắn, tốc độ CPU thực hiện lệnh càng nhanh. Chẳng hạn với một CPU pentium MMX 233 MHz, điều đó có nghĩa là bộ tạo nhịp của CPU đó tạo ra 233 triệu nhịp làm việc trong 1 giây.
Ví dụ: việc phân chia thời gian thực hiện lệVới CPU làm việc như vậy chúng ta có thể thấy rằng mỗi lệnh phải thực hiện trong 3 nhịp thời gian. Tại nhịp t2 thì chỉ có bộ phận giải mã là bận rộn còn bộ đọc lệnh thì nhàn rỗi. Trong thời điểm t3 thì cả hai bộ phận đọc lệnh và giải mã đều rỗi. Do đó hiệu năng làm việc của CPU thấp.
Một CPU xử lý lệnh theo nhịp thời gian như vậy còn gọi là bộ vi xử lý ở chế độ đơn dòng lệnh và chỉ gặp ở các CPU đời cũ. Để tăng tốc độ làm việc của CPU hay tăng hiệu suất làm việc, các CPU thế hệ thứ 3 đều trang bị chế độ xử lý xen kẽ dòng mã lệnh (pipelining)Ngày nay, các CPU đều được hỗ trợ chế độ xử lý xen kẽ dòng mã lệnh. Một số CPU đời mới có đến 5 đường ống xử lý lệnh (Core 2 Dual). Tốc độ CPU được tính bằng GHz, tương đương với hàng tỉ phép tính trên một giây. Vì thế Core 2 Duo tuy có tốc độ xung nhịp không cao lắm nhưng sức mạnh thì vượt trội so với Pen 4. Và còn một vấn đề nữa đó chính là hiệu quả của thao tác đó. Ví dụ như do các thuật toán không chặt chẽ dẫn đến CPU đoán nhầm và copy khối dữ liệu không cần thiết vào trong bộ nhớ đệm, còn khối dữ liệu cần dùng thì lại không copy. Vì thế khi CPU tìm trong bộ nhớ đệm không thấy có khối dữ liệu đó lại phải lóc cóc tìm trong RAM, tìm xong lại phải copy vào bộ nhớ đệm rồi mới xử lý tiếp. Như vậy có nghĩa là CPU đã thực hiện rất nhiều thao tác thừa so với CPU đoán đúng được ngay khối dữ liệu chuẩn bị được xử lý. Core 2 Duo có các thuật toán cao cấp và các công nghệ tiên tiến giúp cho hiệu quả của CPU rất cao. Và chính vì thế mà hiệu suất của Core 2 Duo vượt trội so với Pentium.
*Các kiến trúc bộ vi xử lý*
Theo nguyên tắc làm việc của máy tính thì để thực hiện chương trình, CPU lần lượt đọc các lệnh, giải mã lệnh và thực hiện lệnh. Đối với một hệ máy tính, một lệnh được chia thành các mức độ khác nhau, mức thứ nhất đó là mức lệnh của người sử dụng. Đây là những câu lệnh dạng gần gũi với ngôn ngự tự nhiên của con người và máy tính không thể hiểu được.
Để máy tính có thể hiểu được, lệnh của người sử dụng được HĐH hay trình dịch ngôn ngữ phiên dịnh thành lệnh ở dạng ngôn ngữ máy và CPU có thể đọc và hiểu được.
Khi CPU đọc lệnh dạng mã máy, nó thực hiện việc phiên dịch lệnh này thành các vi lệnh để các thành phần của CPU có thể hiểu và thực hiện được. Quá trình này gọi là giải mã lệnh.
Tập các vi lệnh của CPU cũng là một yếu tố đánh giá khả năng làm việc của CPU, khi trang bị một CPU vào hệ thống người ta thường quan tâm đến vấn đế kiến trúc của CPU, có hai loại kiến trúc CPU, đó là:
CISC: (Complex Instruction Set Computer) máy tính với tập lệnh đầy đủ. Trong kiến trúc CISC, máy tính cần sử dụng rất ít thanh ghi.
RISC: (Reduced Instruction Set Computer) máy tính với tập lệnh rút gọn. Trong kiến trúc RISC, máy tính cần sử dụng nhiều thanh ghi. Đây là kiến trúc được các bộ vi xử lý Intel ngày nay sử dụng.
Chúng ta có thể lấy một ví dụ để phân biệt giữa SISC và RISC như sau: Cộng 1 vào một vùng địa chỉ. Trong CISC, lệnh tương ứng phải thực hiện ba chức năng sau: đọc vùng bộ nhớ, cộng thêm 1, ghi trả lại kết quả. Trong RISC, mỗi chức năng trên là một lệnh. Điều khác biệt là trong CISC không cần tới nhiều thanh ghi, với lệnh trên CISC có thể đọc giá trị tại vùng nhớ vào ALU, thực hiện tăng lên 1 và trả kết quả vào vùng nhớ. Còn đối với CPU RISC, nếu giá trị cần đọc đã có sẵn ở thanh ghi thi không cần phải đọc nó từ bộ nhớ, giá trị sau khi tăng lên 1 có thể chứa ở thanh ghi mà không cần phải ghi kết quả vào bộ nhớ.
*CPU đa lõi*
Lý do lớn nhất việc đặt nhiều lõi lên cùng một vi mạch là sẽ giúp giảm không gian trên bản mạch chính khi có nhu cầu muốn sử dụng với số lượng CPU lõi đơn tương đương. Thêm nữa, lợi thế của việc sử dụng đa lõi trên cùng một vi mạch đương nhiên sẽ làm việc kết hợp cùng nhau chặt chẽ và nâng cao được hiệu quả hơn.
Khả năng tiết kiệm năng lượng cũng được phát huy thấy rõ đối với thiết kế này. Khi nhiều lõi cùng nằm trên một chip, xung tín hiệu truyền giữa các lõi sẽ ngắn hơn. Ngoài ra, đặc trưng của CPU đa lõi là chạy với điện năng thấp hơn vì công suất tiêu tốn để tín hiệu truyền trên dây bằng với bình phương điện áp chia cho điện trở trong dây, do đó điện năng thấp hơn sẽ dẫn đến kết quả là nguồn điện sử dụng đi.
Một lý do khác đối với việc tiết kiệm nguồn điện là tốc độ đồng hồ. CPU đa lõi có thể thực thi các hoạt động nhiều lần hơn trong một giây trong khi tần số thấp hơn. Ví dụ bộ xử lý MIT RAW 16 lõi hoạt động ở tần số 425MHz có thể thực thi gấp 100 lần các hoạt động trong một giây đối với Intel Pentium 3 đang chạy ở tần số 600 MHz. Có một quy tắc đơn giản là mỗi một phần trăm tăng thêm tốc độ đồng hồ sẽ tăng 3% điện năng tiêu thụ. Và tất nhiên là điều đó còn chưa tính tới tác động của các nhân tố khác có ảnh hưởng tới sự tiêu thụ điện năng.
CPU đa lõi còn có thể chia sẻ một mạch ghép nối bus tốt như mạch lưu trữ. Hình bên dưới là lược đồ của chip Core 2 dual của Intel – có tính năng là một L2 cache được chia sẻ. Kết quả là tiết kiệm được lượng không gian đáng kể. Theo Intel, CPU Core 2 dual có thể lên tới 4MB được chia sẻ L2 Cache.Một nhân tố khác giới hạn lợi ích thực thi của CPU đa lõi là phần mềm chạy trên nó. Đối với người dùng bình thường, hiệu suất lớn nhất mà họ đạt được khi lựa chọn một CPU đa lõi là tính đa nhiệm được cải thiện. Ví dụ, với một CPU đa lõi ta sẽ thấy sự cải thiện lớn khi xem DVD trong lúc máy vẫn đang được quét virus mà tốc độ không bị ảnh hưởng, bởi vì từng ứng dụng sẽ được gán trên các lõi khác nhau.
Nếu người dùng đang chạy một ứng dụng đơn trên máy tính đa lõi thì sẽ không thấy rõ được việc tăng hiệu suất đáng kể lắm. Bởi hầu hết các ứng dụng không được xử lý đa luồng. Chính vì vậy các ứng dụng cũng cần phải thay đổi trong thiết kế. Ví dụ một chương trình quét virus chạy trên một tuyến mới trong khi GUI lại chạy trên một tuyến khác. Việc xử lý đa luồng đúng cách là khi khối lượng công việc được phân chia thành nhiều luồng khác nhau. Việc quét virus là một ví dụ, luồng GUI làm việc rất ít, trong khi luồng quét virus thực hiện một nhiệm vụ rất nặng và không có khả năng chia nhỏ ra và gửi đến các lõi khác.
Việc phát triển một ứng dụng đa luồng đích thực yêu cầu rất nhiều công việc phức tạp. Điều này rõ ràng cũng tốn khá nhiều chi phí vào một chu trình thiết kế phần mềm. Đó là lý do tại sao phần lớn các ứng dụng phần mềm sẽ không được phát triển như các ứng dụng thực sự đa luồng cho đến khi số lượng lõi đủ cao để thực hiện nhiều tác vụ mà không làm ảnh hưởng tới hiệu suất. Và điều này sẽ đạt được khi người dùng có nhu cầu.
*Các thuộc tính kỹ thuật của CPU*
Word Size: kích thước từ nhớ là số bit lớn nhất mà CPU có thể xử lý ở một thời điểm.
Kích thước đường dữ liệu là số bit dữ liệu có thể vào ra CPU ở một thời điểm từ bus dữ liệu (data bus).
Kích thước địa chỉ cực đại là không gian địa chỉ vật lý cực đại mà CPU có thể điều khiển.
Tốc độ xử lý tính bằng megahertz (MHz) hoặc gigahertz (GHz). Con số đứng trước MHz hay Ghz chỉ cho biết có bao nhiêu dao độ trong một giây. Ví dụ, CPU 600MHz sẽ dao động 600 triệu lần/giây.
Level 1 Execution Trace Cache: là bộ nhớ đệm bổ sung 8 KB, CPU Pentium 4 bao gồm bộ nhớ dò tìm thi hành lệnh mà dung lượng lên đến 12KB để đọc/giải mã theo thứ tự sự thực hiện của chương trình. Hiệu suất tăng dần này được gở bỏ việc đọc/giải mã theo mỗi vòng lặp và làm hiệu quả hơn không gian lưu trữ đệm cho đến khi những tập lệnh không được lưu nữa. Kết quả là nó chuyển một khối lượng lớn những lệnh đến bộ xử lý.
Level 2 Advanced Transfer Cache (ATC): Bộ nhớ đệm Level 2 có trong bộ xử lý từ 2,4Ghz trở lên. Level 2 ATC giúp thông lượng truyền dữ liệu nhiều hơn giữa hai kênh là bộ đệm Level 2 và bộ xử lý. Bộ đệm Level 2 có một mạch ghép nối 256bit (32 byte) mà nó truyền dữ liệu trong mỗi xung.
Level 3 cache: chỉ có Pentium 4 Extreme Edition 3,2GHz trở lên mới có bộ nhớ đệm Level 3. Đây là bộ nhớ thứ ba được thêm vào trên CPU. Nó được thiết kế đặc biệt để đáp ứng những nhu cầu cho những ai đòi hỏi cao về năng xuất. CPU có bộ nhớ Level 3 cung cấp một đường truyền rộng đến bộ nhớ. Thiết kế của cache L3 giúp cho những dữ liệu xử lý chứa đựng ở CPU được nhiều hơn và nhanh hơn.
HT Technology (Hyper-Threading Technology – Công nghệ siêu phân luồng): Các CPU có tốc độ truyền dữ liệu với Mainboard Bus 800MHz trở lên hỗ trợ HT Technology. Công nghệ HT Technology là một bước đột phá, nó làm thay đổi kỹ thuật thiết kế bộ xử lý mà tốc độ vượt qua GHz cải thiện hiệu quả làm việc. Nó cho phép những chương trình phần mềm “thấy 2 CPU” và làm việc hiệu quả hơn. Kỹ thuật này cho phép CPU chạy hai loạt chuỗi, hoặc luồng của lệnh trong cùng một thời điểm. Theo cách ấy, hệ thống đã được cải tiến hiệu quả, nâng dần hiệu suất xử lý trong môi trường khi thực hiện cùng lúc nhiều ứng dụng.
PU được coi là bộ não của máy tính. Nhiệm vụ của CPU là xử lý những hoạt động, chẳng hạn như tính toán, lưu trữ thông tin và truy tìm. Vì thế CPU biểu thị cho “trí thông minh” của mỗi máy tính. Sự tiến bộ của công nghệ máy tính luôn gắn liền với sự phát triển của CPU. Cho đến nay, người ta thường chỉ căn cứ vào CPU để phân loại PC. Thực chất CPU trong máy tính là một chip, tức là mạch tích hợp điện tử thu nhỏ, chịu trách nhiệm trục tiếp hay gián tiếp về mọi hoạt động của máy tính. CPU là đầu não điều khiển máy tính từ lúc khởi động cho đến khi tắt.
*Các thành phần cơ bản của CPU*
CU (Control Unit): Đơn vị điều khiển : Điểu khiển hoạt động của hệ thống theo chương trình đã dựng sẵn. Có chức năng điều khiển toàn bộ tiến trình chuyển giao dữ liệu từ chổ này sang chổ khác trong khi quá trình tính toán đang tiếp tục thực hiện
ALU (Arithmetic and Logic Unit): Đơn vị số học và luận lý
Thực hiện tất cả các tính toán số học và lôgic. Đơn vị số học và luận lý chỉ thực hiện các phép toán số học đơn giản như phép cộng, trừ, nhân, chia. Để CPU có thể xử lý dữ liệu với các số thực với độ chính xác cao và các phép toán phức tạp như sin, cos, tính tích phân…, các CPU thường được trang bị thêm bộ đồng xử lý toán học (FPU: Floatting Point Unit ) còn được gọi là bộ xử lý dấu chấm động.
Tập các thanh ghi (Registry) => Dùng để chứa thông tin tạm thời phục vụ cho các hoạt động hiện tại của CPU
Thanh ghi Kiểu Ghi chú
R0-R7 A Các thanh ghi mục đích chung
PC NA Bộ đếm chương trình
SR NA Thanh ghi trạng thái
TMPI NA Thanh ghi thời gian vào ALU
TMPO NA Thanh ghi thời gian ra ALU
MDR NA Thanh ghi dữ liệu
MAR NA Thanh ghi địa chỉ
IR NA Thanh ghi lệnh
Các chức năng cơ bản của CPU:
+ Thực hiện các lệnh về xử lý dữ liệu & các lệnh nhập xuất dữ liệu
+ Thực hiện các lệnh đọc, ghi, xóa dữ liệu trên các thiết bị lưu trữ
+ Thực hiện các lệnh về quản lý bộ nhớ bao gồm cấp phát và giải phóng
*Nguyên tắc hoạt động*
Đối với CPU, do việc xử lý thông tin trong CPU là hoàn toàn tự động theo những chương trình có sẵn trong bộ nhớ, CPU cần phải biết thời điểm đọc lệnh, đọc lệnh xong thì mới chuyển đến thời điểm CPU tiến hành giải mã lệnh, giải mã lệnh xong thì CPU mới tiến hành việc thực hiện lệnh. Thực hiện xong thì CPU mới tiến hành việc đọc lệnh kế tiếp.
Đây là các công đoạn khi CPU thực hiện và không thể lẫn lộn được mà phải được thực hiện một cách tuần tự.
Để giải quyết vấn đề này, trong CPU cần phải có một bộ tạo nhịp thời gian làm việc (CPU Clock). Tại nhịp thời gian này, CPU thực hiện việc đọc lệnh, tại nhịp thời gian tiếp theo, CPU thực hiện việc giải mã lệnh…
Nhịp thời gian càng ngắn, tốc độ CPU thực hiện lệnh càng nhanh. Chẳng hạn với một CPU pentium MMX 233 MHz, điều đó có nghĩa là bộ tạo nhịp của CPU đó tạo ra 233 triệu nhịp làm việc trong 1 giây.
Ví dụ: việc phân chia thời gian thực hiện lệVới CPU làm việc như vậy chúng ta có thể thấy rằng mỗi lệnh phải thực hiện trong 3 nhịp thời gian. Tại nhịp t2 thì chỉ có bộ phận giải mã là bận rộn còn bộ đọc lệnh thì nhàn rỗi. Trong thời điểm t3 thì cả hai bộ phận đọc lệnh và giải mã đều rỗi. Do đó hiệu năng làm việc của CPU thấp.
Một CPU xử lý lệnh theo nhịp thời gian như vậy còn gọi là bộ vi xử lý ở chế độ đơn dòng lệnh và chỉ gặp ở các CPU đời cũ. Để tăng tốc độ làm việc của CPU hay tăng hiệu suất làm việc, các CPU thế hệ thứ 3 đều trang bị chế độ xử lý xen kẽ dòng mã lệnh (pipelining)Ngày nay, các CPU đều được hỗ trợ chế độ xử lý xen kẽ dòng mã lệnh. Một số CPU đời mới có đến 5 đường ống xử lý lệnh (Core 2 Dual). Tốc độ CPU được tính bằng GHz, tương đương với hàng tỉ phép tính trên một giây. Vì thế Core 2 Duo tuy có tốc độ xung nhịp không cao lắm nhưng sức mạnh thì vượt trội so với Pen 4. Và còn một vấn đề nữa đó chính là hiệu quả của thao tác đó. Ví dụ như do các thuật toán không chặt chẽ dẫn đến CPU đoán nhầm và copy khối dữ liệu không cần thiết vào trong bộ nhớ đệm, còn khối dữ liệu cần dùng thì lại không copy. Vì thế khi CPU tìm trong bộ nhớ đệm không thấy có khối dữ liệu đó lại phải lóc cóc tìm trong RAM, tìm xong lại phải copy vào bộ nhớ đệm rồi mới xử lý tiếp. Như vậy có nghĩa là CPU đã thực hiện rất nhiều thao tác thừa so với CPU đoán đúng được ngay khối dữ liệu chuẩn bị được xử lý. Core 2 Duo có các thuật toán cao cấp và các công nghệ tiên tiến giúp cho hiệu quả của CPU rất cao. Và chính vì thế mà hiệu suất của Core 2 Duo vượt trội so với Pentium.
*Các kiến trúc bộ vi xử lý*
Theo nguyên tắc làm việc của máy tính thì để thực hiện chương trình, CPU lần lượt đọc các lệnh, giải mã lệnh và thực hiện lệnh. Đối với một hệ máy tính, một lệnh được chia thành các mức độ khác nhau, mức thứ nhất đó là mức lệnh của người sử dụng. Đây là những câu lệnh dạng gần gũi với ngôn ngự tự nhiên của con người và máy tính không thể hiểu được.
Để máy tính có thể hiểu được, lệnh của người sử dụng được HĐH hay trình dịch ngôn ngữ phiên dịnh thành lệnh ở dạng ngôn ngữ máy và CPU có thể đọc và hiểu được.
Khi CPU đọc lệnh dạng mã máy, nó thực hiện việc phiên dịch lệnh này thành các vi lệnh để các thành phần của CPU có thể hiểu và thực hiện được. Quá trình này gọi là giải mã lệnh.
Tập các vi lệnh của CPU cũng là một yếu tố đánh giá khả năng làm việc của CPU, khi trang bị một CPU vào hệ thống người ta thường quan tâm đến vấn đế kiến trúc của CPU, có hai loại kiến trúc CPU, đó là:
CISC: (Complex Instruction Set Computer) máy tính với tập lệnh đầy đủ. Trong kiến trúc CISC, máy tính cần sử dụng rất ít thanh ghi.
RISC: (Reduced Instruction Set Computer) máy tính với tập lệnh rút gọn. Trong kiến trúc RISC, máy tính cần sử dụng nhiều thanh ghi. Đây là kiến trúc được các bộ vi xử lý Intel ngày nay sử dụng.
Chúng ta có thể lấy một ví dụ để phân biệt giữa SISC và RISC như sau: Cộng 1 vào một vùng địa chỉ. Trong CISC, lệnh tương ứng phải thực hiện ba chức năng sau: đọc vùng bộ nhớ, cộng thêm 1, ghi trả lại kết quả. Trong RISC, mỗi chức năng trên là một lệnh. Điều khác biệt là trong CISC không cần tới nhiều thanh ghi, với lệnh trên CISC có thể đọc giá trị tại vùng nhớ vào ALU, thực hiện tăng lên 1 và trả kết quả vào vùng nhớ. Còn đối với CPU RISC, nếu giá trị cần đọc đã có sẵn ở thanh ghi thi không cần phải đọc nó từ bộ nhớ, giá trị sau khi tăng lên 1 có thể chứa ở thanh ghi mà không cần phải ghi kết quả vào bộ nhớ.
*CPU đa lõi*
Lý do lớn nhất việc đặt nhiều lõi lên cùng một vi mạch là sẽ giúp giảm không gian trên bản mạch chính khi có nhu cầu muốn sử dụng với số lượng CPU lõi đơn tương đương. Thêm nữa, lợi thế của việc sử dụng đa lõi trên cùng một vi mạch đương nhiên sẽ làm việc kết hợp cùng nhau chặt chẽ và nâng cao được hiệu quả hơn.
Khả năng tiết kiệm năng lượng cũng được phát huy thấy rõ đối với thiết kế này. Khi nhiều lõi cùng nằm trên một chip, xung tín hiệu truyền giữa các lõi sẽ ngắn hơn. Ngoài ra, đặc trưng của CPU đa lõi là chạy với điện năng thấp hơn vì công suất tiêu tốn để tín hiệu truyền trên dây bằng với bình phương điện áp chia cho điện trở trong dây, do đó điện năng thấp hơn sẽ dẫn đến kết quả là nguồn điện sử dụng đi.
Một lý do khác đối với việc tiết kiệm nguồn điện là tốc độ đồng hồ. CPU đa lõi có thể thực thi các hoạt động nhiều lần hơn trong một giây trong khi tần số thấp hơn. Ví dụ bộ xử lý MIT RAW 16 lõi hoạt động ở tần số 425MHz có thể thực thi gấp 100 lần các hoạt động trong một giây đối với Intel Pentium 3 đang chạy ở tần số 600 MHz. Có một quy tắc đơn giản là mỗi một phần trăm tăng thêm tốc độ đồng hồ sẽ tăng 3% điện năng tiêu thụ. Và tất nhiên là điều đó còn chưa tính tới tác động của các nhân tố khác có ảnh hưởng tới sự tiêu thụ điện năng.
CPU đa lõi còn có thể chia sẻ một mạch ghép nối bus tốt như mạch lưu trữ. Hình bên dưới là lược đồ của chip Core 2 dual của Intel – có tính năng là một L2 cache được chia sẻ. Kết quả là tiết kiệm được lượng không gian đáng kể. Theo Intel, CPU Core 2 dual có thể lên tới 4MB được chia sẻ L2 Cache.Một nhân tố khác giới hạn lợi ích thực thi của CPU đa lõi là phần mềm chạy trên nó. Đối với người dùng bình thường, hiệu suất lớn nhất mà họ đạt được khi lựa chọn một CPU đa lõi là tính đa nhiệm được cải thiện. Ví dụ, với một CPU đa lõi ta sẽ thấy sự cải thiện lớn khi xem DVD trong lúc máy vẫn đang được quét virus mà tốc độ không bị ảnh hưởng, bởi vì từng ứng dụng sẽ được gán trên các lõi khác nhau.
Nếu người dùng đang chạy một ứng dụng đơn trên máy tính đa lõi thì sẽ không thấy rõ được việc tăng hiệu suất đáng kể lắm. Bởi hầu hết các ứng dụng không được xử lý đa luồng. Chính vì vậy các ứng dụng cũng cần phải thay đổi trong thiết kế. Ví dụ một chương trình quét virus chạy trên một tuyến mới trong khi GUI lại chạy trên một tuyến khác. Việc xử lý đa luồng đúng cách là khi khối lượng công việc được phân chia thành nhiều luồng khác nhau. Việc quét virus là một ví dụ, luồng GUI làm việc rất ít, trong khi luồng quét virus thực hiện một nhiệm vụ rất nặng và không có khả năng chia nhỏ ra và gửi đến các lõi khác.
Việc phát triển một ứng dụng đa luồng đích thực yêu cầu rất nhiều công việc phức tạp. Điều này rõ ràng cũng tốn khá nhiều chi phí vào một chu trình thiết kế phần mềm. Đó là lý do tại sao phần lớn các ứng dụng phần mềm sẽ không được phát triển như các ứng dụng thực sự đa luồng cho đến khi số lượng lõi đủ cao để thực hiện nhiều tác vụ mà không làm ảnh hưởng tới hiệu suất. Và điều này sẽ đạt được khi người dùng có nhu cầu.
*Các thuộc tính kỹ thuật của CPU*
Word Size: kích thước từ nhớ là số bit lớn nhất mà CPU có thể xử lý ở một thời điểm.
Kích thước đường dữ liệu là số bit dữ liệu có thể vào ra CPU ở một thời điểm từ bus dữ liệu (data bus).
Kích thước địa chỉ cực đại là không gian địa chỉ vật lý cực đại mà CPU có thể điều khiển.
Tốc độ xử lý tính bằng megahertz (MHz) hoặc gigahertz (GHz). Con số đứng trước MHz hay Ghz chỉ cho biết có bao nhiêu dao độ trong một giây. Ví dụ, CPU 600MHz sẽ dao động 600 triệu lần/giây.
Level 1 Execution Trace Cache: là bộ nhớ đệm bổ sung 8 KB, CPU Pentium 4 bao gồm bộ nhớ dò tìm thi hành lệnh mà dung lượng lên đến 12KB để đọc/giải mã theo thứ tự sự thực hiện của chương trình. Hiệu suất tăng dần này được gở bỏ việc đọc/giải mã theo mỗi vòng lặp và làm hiệu quả hơn không gian lưu trữ đệm cho đến khi những tập lệnh không được lưu nữa. Kết quả là nó chuyển một khối lượng lớn những lệnh đến bộ xử lý.
Level 2 Advanced Transfer Cache (ATC): Bộ nhớ đệm Level 2 có trong bộ xử lý từ 2,4Ghz trở lên. Level 2 ATC giúp thông lượng truyền dữ liệu nhiều hơn giữa hai kênh là bộ đệm Level 2 và bộ xử lý. Bộ đệm Level 2 có một mạch ghép nối 256bit (32 byte) mà nó truyền dữ liệu trong mỗi xung.
Level 3 cache: chỉ có Pentium 4 Extreme Edition 3,2GHz trở lên mới có bộ nhớ đệm Level 3. Đây là bộ nhớ thứ ba được thêm vào trên CPU. Nó được thiết kế đặc biệt để đáp ứng những nhu cầu cho những ai đòi hỏi cao về năng xuất. CPU có bộ nhớ Level 3 cung cấp một đường truyền rộng đến bộ nhớ. Thiết kế của cache L3 giúp cho những dữ liệu xử lý chứa đựng ở CPU được nhiều hơn và nhanh hơn.
HT Technology (Hyper-Threading Technology – Công nghệ siêu phân luồng): Các CPU có tốc độ truyền dữ liệu với Mainboard Bus 800MHz trở lên hỗ trợ HT Technology. Công nghệ HT Technology là một bước đột phá, nó làm thay đổi kỹ thuật thiết kế bộ xử lý mà tốc độ vượt qua GHz cải thiện hiệu quả làm việc. Nó cho phép những chương trình phần mềm “thấy 2 CPU” và làm việc hiệu quả hơn. Kỹ thuật này cho phép CPU chạy hai loạt chuỗi, hoặc luồng của lệnh trong cùng một thời điểm. Theo cách ấy, hệ thống đã được cải tiến hiệu quả, nâng dần hiệu suất xử lý trong môi trường khi thực hiện cùng lúc nhiều ứng dụng.
Nguyenminhduc (I11C)- Tổng số bài gửi : 18
Join date : 07/09/2011
Các Thành Phần Của Máy Tính
-CPU Bộ xử lý của máy tính cá nhân.
Bo mạch chủ Bo mạch chính kết nối các thiết bị với nhau trong máy tính cá nhân. Một cách hiểu khác: có thể so sánh bo mạch chủ trong phần cứng giống như vai trò của hệ điều hành trong phần mềm.
-RAM Bộ nhớ tạm của máy tính dùng cho ghi lại các dữ liệu tạm thời trong một phiên làm việc của máy tính.
-Ổ đĩa cứng Bộ nhớ dữ liệu chính của máy tính cá nhân, các thành quả của một quá trình làm việc có thể được lưu trữ trên ổ đĩa cứng trước khi có các hành động sao lưu dự phòng trên các dạng bộ nhớ khác.
-Ổ đĩa quang (CD, DVD) Bộ nhớ dùng cho xuất, nhập dữ liệu với dung lượng lớn hoặc trao đổi dữ liệu, phần mềm với những máy tính khác. Sử dụng sao lưu dữ liệu và các mục đích khác. Đây không phải là thiết bị bắt buộc đối với hệ thống phần cứng máy tính cá nhân.
-Ổ đĩa mềm Bộ nhớ dùng cho xuất nhập dữ liệu với dung lượng thấp (phụ thuộc từng loại đĩa mềm). Đây không phải thiết bị bắt buộc phải có.
-Bo mạch đồ hoạ Thiết bị có chức năng xuất hình ảnh ra màn hình máy tính. Giúp người sử dụng giao tiếp với máy tính.
-Bo mạch âm thanh Thiết bị có chức năng xuất tín hiệu âm thanh ra các thiết bị phát âm thanh (loa). Đây không phải thiết bị bắt buộc phải có.
-Bo mạch mạng: Thiết bị có chức năng kết nối các máy tính với nhau thành một mạng máy tính, giúp máy tính có thể trao đổi thông tin với các máy tính khác trên phạm vi rộng (có thể đến toàn thế giới). Đây không phải thiết bị bắt buộc phải có.
-Vỏ máy tính: Thiết bị định vị và bảo vệ các thiết bị khác.
-Nguồn máy tính: Thiết bị cung cấp năng lượng cho các thiết bị khác hoạt động.
-Màn hình máy tính: Thiết bị trợ giúp giao tiếp giữa con người và máy tính.
-Bàn phím máy tính: Thiết bị nhập dữ liệu, giao tiếp con người với máy tính
-Chuột: Thiết bị nhập dữ liệu, giao tiếp con người với máy tính.
- Các thiết bị ngoại vi thường kết nối với máy tính cá nhânModem
Webcam
Loa máy tính
Máy in
Máy quét
Máy ảnh số
Micro
Bo mạch chủ Bo mạch chính kết nối các thiết bị với nhau trong máy tính cá nhân. Một cách hiểu khác: có thể so sánh bo mạch chủ trong phần cứng giống như vai trò của hệ điều hành trong phần mềm.
-RAM Bộ nhớ tạm của máy tính dùng cho ghi lại các dữ liệu tạm thời trong một phiên làm việc của máy tính.
-Ổ đĩa cứng Bộ nhớ dữ liệu chính của máy tính cá nhân, các thành quả của một quá trình làm việc có thể được lưu trữ trên ổ đĩa cứng trước khi có các hành động sao lưu dự phòng trên các dạng bộ nhớ khác.
-Ổ đĩa quang (CD, DVD) Bộ nhớ dùng cho xuất, nhập dữ liệu với dung lượng lớn hoặc trao đổi dữ liệu, phần mềm với những máy tính khác. Sử dụng sao lưu dữ liệu và các mục đích khác. Đây không phải là thiết bị bắt buộc đối với hệ thống phần cứng máy tính cá nhân.
-Ổ đĩa mềm Bộ nhớ dùng cho xuất nhập dữ liệu với dung lượng thấp (phụ thuộc từng loại đĩa mềm). Đây không phải thiết bị bắt buộc phải có.
-Bo mạch đồ hoạ Thiết bị có chức năng xuất hình ảnh ra màn hình máy tính. Giúp người sử dụng giao tiếp với máy tính.
-Bo mạch âm thanh Thiết bị có chức năng xuất tín hiệu âm thanh ra các thiết bị phát âm thanh (loa). Đây không phải thiết bị bắt buộc phải có.
-Bo mạch mạng: Thiết bị có chức năng kết nối các máy tính với nhau thành một mạng máy tính, giúp máy tính có thể trao đổi thông tin với các máy tính khác trên phạm vi rộng (có thể đến toàn thế giới). Đây không phải thiết bị bắt buộc phải có.
-Vỏ máy tính: Thiết bị định vị và bảo vệ các thiết bị khác.
-Nguồn máy tính: Thiết bị cung cấp năng lượng cho các thiết bị khác hoạt động.
-Màn hình máy tính: Thiết bị trợ giúp giao tiếp giữa con người và máy tính.
-Bàn phím máy tính: Thiết bị nhập dữ liệu, giao tiếp con người với máy tính
-Chuột: Thiết bị nhập dữ liệu, giao tiếp con người với máy tính.
- Các thiết bị ngoại vi thường kết nối với máy tính cá nhânModem
Webcam
Loa máy tính
Máy in
Máy quét
Máy ảnh số
Micro
lamhuubinh(I91C)- Tổng số bài gửi : 34
Join date : 28/08/2011
Nguyên Lý Hoạt Động Của Máy Tính
Nguyên Lý Hoạt Động Của Máy Tính:
Hệ Điều Hành của máy tính hoạt động theo nguyên lý hướng sự kiện
1. Bộ xử lý trung tâm : CPU:
Đây là bộ não của máy tính , nó thực hiện hầu hết các phép toán số học và logic
CPU được chia làm các bộ phận sau :
a, Khối xử lý các phép toán số học và logic ( Athimetic Logic Unit ) : ALU
- Thực hiện các phép toán số học : +, - , x , : ....
- Thực hiện các phép toán so sánh : > , < ,≥, ≤ , #,=....
-Thực hiện các phép toán login : and , or , xor , not ...
b, Khối điều khiển : (Control Unit ) : CU
Khối này có chức năng thực hiện tuần tự các phép tính :
2.Bộ nhớ trong (ROM&RAM)
Được chia làm các ô nhớ hình mắt lưới .Mỗi ô nhớ có dung lượng 1 byte và được dùng để lưu trữ 1 ký tự .
Bô nhớ trong được chia làm 2 loại như sau :
a, Bộ nhớ chỉ đọc : ROM
Đây là bộ nhớ được các nhà sản xuất máy tính thiết lập ra .Người sử dụng chỉ có thể sử dụng dữ liệu trong bộ nhớ này chứ không thể thay đổi được dữ liệu trong nó .Khi tắt máy hoặc mất điện dữ liệu trong ROM không bị mất đi
b,Bộ nhớ truy cập ngẫu nhiên RAM:
Người sử dụng có thể hoàn toàn thay đổi được dữ liệu bên trong bộ nhớ này nhưng khi mất điện hoặc tắt máy dữ liệu trong RAM sẽ bị mất đi .
3.Bộ nhớ ngoài :
Là bộ nhớ có dung lượng rất lớn dùng để lưu trữ những dữ liệu có dung lượng lớn như các bộ cài đặt ,các phần mềm ứng dụng ,tiện ích ..vv..Người sử dụng có thể thay đổi dữ liệu bên trong bộ nhớ này nhưng khi tắt máy hoặc mất điện dữ liệu không bị mất đi .Tuy vậy bộ nhớ ngoài có tốc độ truy cập chậm hơn bộ nhớ trong nhưng giá thành lại rẻ hơn rất nhiều lần .
4.Các thiết bị nhập :
Là những thiết bị dùng để nhập dữ liệ vào máy tính: Key , Mouse, Webcam,...
5.Các thiết bị xuất : Là các thiết bị dùng để xuất dữ liệu ra ngoài sau khi đã đựợc xử lý : Màn hình, Máy in , ....
Hệ Điều Hành của máy tính hoạt động theo nguyên lý hướng sự kiện
1. Bộ xử lý trung tâm : CPU:
Đây là bộ não của máy tính , nó thực hiện hầu hết các phép toán số học và logic
CPU được chia làm các bộ phận sau :
a, Khối xử lý các phép toán số học và logic ( Athimetic Logic Unit ) : ALU
- Thực hiện các phép toán số học : +, - , x , : ....
- Thực hiện các phép toán so sánh : > , < ,≥, ≤ , #,=....
-Thực hiện các phép toán login : and , or , xor , not ...
b, Khối điều khiển : (Control Unit ) : CU
Khối này có chức năng thực hiện tuần tự các phép tính :
2.Bộ nhớ trong (ROM&RAM)
Được chia làm các ô nhớ hình mắt lưới .Mỗi ô nhớ có dung lượng 1 byte và được dùng để lưu trữ 1 ký tự .
Bô nhớ trong được chia làm 2 loại như sau :
a, Bộ nhớ chỉ đọc : ROM
Đây là bộ nhớ được các nhà sản xuất máy tính thiết lập ra .Người sử dụng chỉ có thể sử dụng dữ liệu trong bộ nhớ này chứ không thể thay đổi được dữ liệu trong nó .Khi tắt máy hoặc mất điện dữ liệu trong ROM không bị mất đi
b,Bộ nhớ truy cập ngẫu nhiên RAM:
Người sử dụng có thể hoàn toàn thay đổi được dữ liệu bên trong bộ nhớ này nhưng khi mất điện hoặc tắt máy dữ liệu trong RAM sẽ bị mất đi .
3.Bộ nhớ ngoài :
Là bộ nhớ có dung lượng rất lớn dùng để lưu trữ những dữ liệu có dung lượng lớn như các bộ cài đặt ,các phần mềm ứng dụng ,tiện ích ..vv..Người sử dụng có thể thay đổi dữ liệu bên trong bộ nhớ này nhưng khi tắt máy hoặc mất điện dữ liệu không bị mất đi .Tuy vậy bộ nhớ ngoài có tốc độ truy cập chậm hơn bộ nhớ trong nhưng giá thành lại rẻ hơn rất nhiều lần .
4.Các thiết bị nhập :
Là những thiết bị dùng để nhập dữ liệ vào máy tính: Key , Mouse, Webcam,...
5.Các thiết bị xuất : Là các thiết bị dùng để xuất dữ liệu ra ngoài sau khi đã đựợc xử lý : Màn hình, Máy in , ....
lamhuubinh(I91C)- Tổng số bài gửi : 34
Join date : 28/08/2011
Phân Biệt Nhập Xuất Đồng Bộ và Nhập Xuất Không Đồng Bộ
*Nhập Xuất không Đồng Bộ:
-Là nhập xuất không Chờ
-Tiến trình người dùng không chờ người dùng kết thúc mà nó tiến hành ngay sau khi phát ra yêu cầu nhập xuất.
Ví Dụ: Thấy bạn đang học, bạn kia đi luôn 1 mình mà không chờ bạn này học xong rồi đi.
*Nhập xuất đồng bộ:
-Là Nhập xuất có chờ(chờ thiết bị ngoại vi xong việc)
Ví Dụ: Một bạn đang học, bạn khác đến rủ đi chơi, nhưng chờ bạn này học xong rồi cả hai cùng đi chơi.
-Là nhập xuất không Chờ
-Tiến trình người dùng không chờ người dùng kết thúc mà nó tiến hành ngay sau khi phát ra yêu cầu nhập xuất.
Ví Dụ: Thấy bạn đang học, bạn kia đi luôn 1 mình mà không chờ bạn này học xong rồi đi.
*Nhập xuất đồng bộ:
-Là Nhập xuất có chờ(chờ thiết bị ngoại vi xong việc)
Ví Dụ: Một bạn đang học, bạn khác đến rủ đi chơi, nhưng chờ bạn này học xong rồi cả hai cùng đi chơi.
lamhuubinh(I91C)- Tổng số bài gửi : 34
Join date : 28/08/2011
Re: Thảo luận Bài 2
Mình góp ý thêm 1 vd:lamhuubinh(I91C) đã viết:*Nhập Xuất không Đồng Bộ:
-Là nhập xuất không Chờ
-Tiến trình người dùng không chờ người dùng kết thúc mà nó tiến hành ngay sau khi phát ra yêu cầu nhập xuất.
Ví Dụ: Thấy bạn đang học, bạn kia đi luôn 1 mình mà không chờ bạn này học xong rồi đi.
*Nhập xuất đồng bộ:
-Là Nhập xuất có chờ(chờ thiết bị ngoại vi xong việc)
Ví Dụ: Một bạn đang học, bạn khác đến rủ đi chơi, nhưng chờ bạn này học xong rồi cả hai cùng đi chơi.
Nhập xuất không đồng bộ: Bạn không thể vừa đá bóng vừa đọc sách được (không đồng bộ).
Nhập xuất đồng bộ: Bạn có thể vừa xem phim vừa nói chuyện(nhập xuất đồng bộ).
Mình hiểu zậy không biết có đúng hok, các bạn vào góp ý nhé.
Tranvancanh(I11C)- Tổng số bài gửi : 39
Join date : 16/09/2011
Nguyên tắc xử lý ngắt của hệ điều hành
Gồm có 2 loại Ngắt chính: Ngắt cứng và Ngắt mềm
+ Tín hiệu ngắt: (Interrupt Signal) từ các thiết bị (Ngắt cứng) truyền qua System Bus
+ Tín hiệu ngắt từ chương trình người dùng (Ngắt mềm) nhờ lời gọi hệ thống (system call hay monitor call). Lệnh đặc biệt này (ví dụ có tên INT hoặc SysCall) là cơ chế để tiến trình người dùng yêu cầu một dịch vụ của HĐH (ví dụ yêu cầu thực hiện I/O)
+ Với mỗi loại ngắt, có đoạn mã riêng của HĐH dùng để xử lý
+ Các HĐH hiện đại được dẫn dắt bởi các sự kiện. Nếu không có tiến trình nào vận hành, không có thiết bị I/O nào làm việc, HĐH im lặng chờ và theo dõi.
+ Thông thường mỗi loại ngắt tương ứng với một dòng trong bảng (Vecto Ngắt) chứa con trỏ (Pointer) tới chương trình xử lý loại ngắt đó, Bảng này nằm ở vùng thấp của Ram (ví dụ: 100 bytes đầu tiên)
+ Cơ chế xử lý ngắt phải có trách nhiệm ghi lại địa chỉ lệnh bị ngắt để sau đó có thể quay lại. Địa chỉ này cùng với nhiều thông tin khác có thể được ghi vào (Ngăn xếp hệ thống) (system stack) với nguyên tắc làm việc LIFO (last in first out)
->Tóm lại có thể hiểu như sau:
+ Tín hiệu ngắt cứng là tín hiệu phát ra từ phần cứng của máy tính ví dụ như là tín hiệu của Ram khi bị duml hoặc là hư hỏng
+ Tín hiệu ngắt mềm là tín hiệu phát ra từ chương trình ứng dụng khi người dùng làm việc, ví dụ như là một cảnh báo hay là thông báo lỗi , như chúng ta copy 1 file dữ liệu có dung lượng quá lớn như 600MB vào USB có dung lượng 2GB nhưng USB chỉ còn không gian lưu là 300MB chẳng hạn thì lúc đó sẽ xãy ra một thông báo của chương trình nói là không đủ bộ nhớ để lưu file.
+ Tín hiệu ngắt: (Interrupt Signal) từ các thiết bị (Ngắt cứng) truyền qua System Bus
+ Tín hiệu ngắt từ chương trình người dùng (Ngắt mềm) nhờ lời gọi hệ thống (system call hay monitor call). Lệnh đặc biệt này (ví dụ có tên INT hoặc SysCall) là cơ chế để tiến trình người dùng yêu cầu một dịch vụ của HĐH (ví dụ yêu cầu thực hiện I/O)
+ Với mỗi loại ngắt, có đoạn mã riêng của HĐH dùng để xử lý
+ Các HĐH hiện đại được dẫn dắt bởi các sự kiện. Nếu không có tiến trình nào vận hành, không có thiết bị I/O nào làm việc, HĐH im lặng chờ và theo dõi.
+ Thông thường mỗi loại ngắt tương ứng với một dòng trong bảng (Vecto Ngắt) chứa con trỏ (Pointer) tới chương trình xử lý loại ngắt đó, Bảng này nằm ở vùng thấp của Ram (ví dụ: 100 bytes đầu tiên)
+ Cơ chế xử lý ngắt phải có trách nhiệm ghi lại địa chỉ lệnh bị ngắt để sau đó có thể quay lại. Địa chỉ này cùng với nhiều thông tin khác có thể được ghi vào (Ngăn xếp hệ thống) (system stack) với nguyên tắc làm việc LIFO (last in first out)
->Tóm lại có thể hiểu như sau:
+ Tín hiệu ngắt cứng là tín hiệu phát ra từ phần cứng của máy tính ví dụ như là tín hiệu của Ram khi bị duml hoặc là hư hỏng
+ Tín hiệu ngắt mềm là tín hiệu phát ra từ chương trình ứng dụng khi người dùng làm việc, ví dụ như là một cảnh báo hay là thông báo lỗi , như chúng ta copy 1 file dữ liệu có dung lượng quá lớn như 600MB vào USB có dung lượng 2GB nhưng USB chỉ còn không gian lưu là 300MB chẳng hạn thì lúc đó sẽ xãy ra một thông báo của chương trình nói là không đủ bộ nhớ để lưu file.
chauchanduong (I11C)- Tổng số bài gửi : 18
Join date : 26/08/2011
Quy trình khởi động của hệ điều hành
Khi bắt đầu nhấn nút Power,video được khởi gọi,tiến trình tự kiểm tra của phần cứng được bắt đầu.BIOS thực hiện những cuộc kiểm tra,gọi là POSTS(power-on selftests). Bình thường việc kiểm tra bộ nhớ là dễ nhìn thấy nhất,tiến trình của nó có thể thấy dễ dàng trên mọi màn hình lúc khởi động.
Sau khi chạy xong POST,hệ thống sẽ khởi gọi các adapter(thiết bị tiếp hợp).Nếu trong các adapter đã có sẵn BIOS của chính chúng,BIOS của Adapter sẽ được gọi để thực thi sự khởi động của chúng.Đối với các thiết bị giao tiếp IDE(thường các máy tính có từ 2-4 giao tiếp IDE),mỗi ổ đĩa đã kết nối (thường có thể gắn đến 2 ổ đĩa cho mỗi giao tiếp IDE,do đó có thể cho phép gắn nhiều nhất lên đến 8 ổ đĩa) được truy vấn các đặc tính và các phương thức truy cập của chúng.1 vài thiết bị như các thiết bị giao tiếp SCSI trưng bày những thông tin trên màn hình và cho phép người sử dụng có thể tương tác với nó.Các Adapter không có tích hợp sẵn BIOS sẽ không được khởi tạo cho đến khi Win XP load các driver của chúng trong tiến trình khởi động.
Sau khi tất cả các adapter có BIOS đã được khởi tạo,hệ thống bắt đầu khởi động tiến trình load,đọc sector nằm ở vị trí bắt đầu của đĩa khởi động và thực hiện các câu lệnh(đoạn code) trong sector này.Sector này được gọi bởi sector khởi động hoặc MBR(Master Boot Record), nó được viết bởi hệ điều hành khi được cài đặt.
Đoạn code trong MBR load file NTLDR(File này không có đuôi mở rộng) Sau khi load,MBR chuyển điều khiển đến đoạn code trong NTLDR.
(Sưu tầm)
NTLDR sau đó chuyển vào mode 32 bit(Chú ý rằng 1 bộ xử lý của Intel luôn khởi động vào mode 16 bit).Sau đó nó load 1 bản sao đặc biệt của các file hệ thống I/O và đọc chúng trong file boot.ini.
File boot.ini có thông tin về mỗi hệ điều hành cần khởi động.Windows XP có khả năng hỗ trợ đa khởi động(Điều đó là bình thường để cài đặt Win XP có thể khởi động với Windows NT, Windows XP, Windows 95 or Windows 98).File NTLDR tiến hành xử lý file boot.ini, trưng bày các thông tin cho phép người sử dụng lựa chọn hệ điều hành nào sẽ được load.
Khi bạn chọn Win Xp để load,file NTLDR sẽ load file ntdetect.com. Đây là file thu thập các thông tin về phần cứng được cài đặt hiện hành và lưu giữ những thông tin này vào registry.Hầu hết các thông tin này được lưu giữ trong cây HKEY_LOCAL_MACHINE .
1 khi file NTDETECT đã kiểm tra xong phần cứng,điểu khiển được trả về lại cho file NTLDR và tiến trình khởi động lại được tiếp tục.Vào thời gian này Registry đã được cập nhật về cơ bản cấu hình các phần cứng trong máy tính ,thông tin cấu hình này được lưu trữ trong HKEY_LOCAL_MACHINEHardware.
Dấu nhắc lựa chọn cấu hình "Press spacebar now to invoke Hardware Profile/Last Known Good menu," cho phép Win XP sử dụng những cấu hình đặc biệt, được lưu trữ trong HKEY_LOCAL_MACHINE.
Theo sau sự kiểm tra của file NTDETECT,file NTLDR load và khởi tạo các nhân Windows NT,load các services, và bắt đầu Windows.
Khi các nhân đã được load xong, HAL(Hardware Abstraction Layer) cũng được load,nó được sử dụng để quản lý các thiết bị phần cứng.Kế đến các khóa trong registry HKEY_LOCAL_MACHINE_System cũng được load vào bộ nhớ. Windows XP sẽ quét registry để tìm tất cả các drivers bắt đầu với giá trị 0,bao gồm những drivers sẽ được load và khởi tạo vào lúc khởi động.
Sau đó các nhân sẽ được khởi tạo. Màn hình chào đón chuyển đến khung nền đen và bạn sẽ nhìn thấy thông tin về build number của Windows XP và number của bộ xử lý hệ thống.Tại đây ,hệ thống sẽ quét lại lần nữa registry và tìm tất cả các driver cần được load trong gia đoạn khởi động nhân.
Từ lúc này Windows XP bắt đầu nhiều thành phần của hệ thống và các thành phần do user cài đặt. Mỗi thành phần này đọc thông tin từ registry và thực thi nhiều công việc khác nhau.Trong giai đoạn cuối,chương trình quản lý user logon, WinLogon, bắt đầu. WinLogon cho phép người sử dụng log on và sử dụng Win Xp.
Vậy là bạn đã hiểu tại sao mỗi khi cài đặt 1 số phần mềm cũng như chỉnh sửa trong Registry đòi hỏi bạn phải khởi động lại máy rồi đó.
Sau khi chạy xong POST,hệ thống sẽ khởi gọi các adapter(thiết bị tiếp hợp).Nếu trong các adapter đã có sẵn BIOS của chính chúng,BIOS của Adapter sẽ được gọi để thực thi sự khởi động của chúng.Đối với các thiết bị giao tiếp IDE(thường các máy tính có từ 2-4 giao tiếp IDE),mỗi ổ đĩa đã kết nối (thường có thể gắn đến 2 ổ đĩa cho mỗi giao tiếp IDE,do đó có thể cho phép gắn nhiều nhất lên đến 8 ổ đĩa) được truy vấn các đặc tính và các phương thức truy cập của chúng.1 vài thiết bị như các thiết bị giao tiếp SCSI trưng bày những thông tin trên màn hình và cho phép người sử dụng có thể tương tác với nó.Các Adapter không có tích hợp sẵn BIOS sẽ không được khởi tạo cho đến khi Win XP load các driver của chúng trong tiến trình khởi động.
Sau khi tất cả các adapter có BIOS đã được khởi tạo,hệ thống bắt đầu khởi động tiến trình load,đọc sector nằm ở vị trí bắt đầu của đĩa khởi động và thực hiện các câu lệnh(đoạn code) trong sector này.Sector này được gọi bởi sector khởi động hoặc MBR(Master Boot Record), nó được viết bởi hệ điều hành khi được cài đặt.
Đoạn code trong MBR load file NTLDR(File này không có đuôi mở rộng) Sau khi load,MBR chuyển điều khiển đến đoạn code trong NTLDR.
(Sưu tầm)
NTLDR sau đó chuyển vào mode 32 bit(Chú ý rằng 1 bộ xử lý của Intel luôn khởi động vào mode 16 bit).Sau đó nó load 1 bản sao đặc biệt của các file hệ thống I/O và đọc chúng trong file boot.ini.
File boot.ini có thông tin về mỗi hệ điều hành cần khởi động.Windows XP có khả năng hỗ trợ đa khởi động(Điều đó là bình thường để cài đặt Win XP có thể khởi động với Windows NT, Windows XP, Windows 95 or Windows 98).File NTLDR tiến hành xử lý file boot.ini, trưng bày các thông tin cho phép người sử dụng lựa chọn hệ điều hành nào sẽ được load.
Khi bạn chọn Win Xp để load,file NTLDR sẽ load file ntdetect.com. Đây là file thu thập các thông tin về phần cứng được cài đặt hiện hành và lưu giữ những thông tin này vào registry.Hầu hết các thông tin này được lưu giữ trong cây HKEY_LOCAL_MACHINE .
1 khi file NTDETECT đã kiểm tra xong phần cứng,điểu khiển được trả về lại cho file NTLDR và tiến trình khởi động lại được tiếp tục.Vào thời gian này Registry đã được cập nhật về cơ bản cấu hình các phần cứng trong máy tính ,thông tin cấu hình này được lưu trữ trong HKEY_LOCAL_MACHINEHardware.
Dấu nhắc lựa chọn cấu hình "Press spacebar now to invoke Hardware Profile/Last Known Good menu," cho phép Win XP sử dụng những cấu hình đặc biệt, được lưu trữ trong HKEY_LOCAL_MACHINE.
Theo sau sự kiểm tra của file NTDETECT,file NTLDR load và khởi tạo các nhân Windows NT,load các services, và bắt đầu Windows.
Khi các nhân đã được load xong, HAL(Hardware Abstraction Layer) cũng được load,nó được sử dụng để quản lý các thiết bị phần cứng.Kế đến các khóa trong registry HKEY_LOCAL_MACHINE_System cũng được load vào bộ nhớ. Windows XP sẽ quét registry để tìm tất cả các drivers bắt đầu với giá trị 0,bao gồm những drivers sẽ được load và khởi tạo vào lúc khởi động.
Sau đó các nhân sẽ được khởi tạo. Màn hình chào đón chuyển đến khung nền đen và bạn sẽ nhìn thấy thông tin về build number của Windows XP và number của bộ xử lý hệ thống.Tại đây ,hệ thống sẽ quét lại lần nữa registry và tìm tất cả các driver cần được load trong gia đoạn khởi động nhân.
Từ lúc này Windows XP bắt đầu nhiều thành phần của hệ thống và các thành phần do user cài đặt. Mỗi thành phần này đọc thông tin từ registry và thực thi nhiều công việc khác nhau.Trong giai đoạn cuối,chương trình quản lý user logon, WinLogon, bắt đầu. WinLogon cho phép người sử dụng log on và sử dụng Win Xp.
Vậy là bạn đã hiểu tại sao mỗi khi cài đặt 1 số phần mềm cũng như chỉnh sửa trong Registry đòi hỏi bạn phải khởi động lại máy rồi đó.
LeMinhDuc (I11C)- Tổng số bài gửi : 39
Join date : 26/08/2011
Thảo luận bài 2
QUẢN LÝ TIẾN TRÌNH
1. Khái niệm về tiến trình (Process) và mô hình đa tiến trình (Multiprocess).
Tiến trình là một chương trình đang xử lý, sỡ hữu một con trỏ lệnh, tập các thanh ghi và các biến. Để hoàn thành công việc của mình, một tiến trình có thể cần đến một số tài nguyên – như CPU, bộ nhớ chính, các tập tin và thiết bị nhập/xuất.
Cần phân biệt hai khái niệm chương trình và tiến trình. Một chương trình là một thực thể thụ động, chứa đựng các chỉ thị điều khiển máy tính để tiến hành một tác vụ nào đó ; khi cho thực hiện các chỉ thị này, chương trình chuyển thành tiến trình, là một thực thể hoạt động, với con trỏ lệnh xác định chỉ thị kế tiếp sẽ thi hành, kèm theo tập các tài nguyên phục vụ cho hoạt động của tiến trình.
2. Khái niệm tiểu trình (Thread) và mô hình đa tiểu trình (Multithread)
Trong hầu hết các hệ điều hành, mỗi tiến trình có một không gian địa chỉ và chỉ có một dòng xử lý. Tuy nhiên, có nhiều tình huống người sử dụng mong muốn có nhiều dòng xử lý cùng chia sẻ một không gian địa chỉ, và các dòng xử lý này hoạt động song song tương tự như các tiến trình phân biệt (ngoại trừ việc chia sẻ không gian địa chỉ).
Ví dụ : Một server quản lý tập tin thỉnh thoảng phải tự khóa để chờ các thao tác truy xuất đĩa hoàn tất.Nếu server có nhiều dòng xử lý, hệ thống có thể xử lý các yêu cầu mới trong khi một dòng xử lý bị khoá. Như vậy việc thực hiện chương trình sẽ có hiệu quả hơn. Điều này không thể đạt được bằng cách tạo hai tiến trình server riêng biệt vì cần phải chia sẻ cùng một vùng đệm, do vậy bắt buộc phải chia sẻ không gian địa chỉ.
Nguyên lý chung :
Một tiểu trình là một đơn vị xử lý cơ bản trong hệ thống . Mỗi tiểu trình xử lý tuần tự đoạn code của nó, sỡ hữu một con trỏ lệnh, tập các thanh ghi và một vùng nhớ stack riêng. Các tiểu trình chia sẻ CPU với nhau giống như cách chia sẻ giữa các tiến trình: một tiểu trình xử lý trong khi các tiểu trình khác chờ đến lượt. Một tiểu trình cũng có thể tạo lập các tiến trình con, và nhận các trạng thái khác nhau như một tiến trình thật sự. Một tiến trình có thể sỡ hữu nhiều tiểu trình.
3. Phân loại tiến trình
- Tiến trình tuần tự
- Tiến trình song song
- Tiến trình có quan hệ thông tin
-Tiến trình độc lập
-Tiến trình cha và tiến trình con
-Tiến trình đồng mức
4. Các trạng thái của tiến trình
Tại một thời điểm, một tiến trình có thể nhận một trong các trạng thái sau đây :
- Mới tạo : tiến trình đang được tạo lập.
- Running : các chỉ thị của tiến trình đang được xử lý.
- Blocked : tiến trình chờ được cấp phát một tài nguyên, hay chờ một
sự kiện xảy ra (hoàn thành nhập xuất hay nhận một tín hiệu) .
- Ready : tiến trình chờ được cấp phát CPU để xử lý.
- Kết thúc : tiến trình hoàn tất xử lý.
5. Hệ điều hành cung cấp các thao tác chủ yếu sau đây trên một tiến trình :
-Tạo lập tiến trình (create)
-Kết thúc tiến trình (destroy)
-Tạm dừng tiến trình (suspend)
-Tái kích hoạt tiến trình (resume)
-Thay đổi độ ưu tiên tiến trình
6. Cấp phát tài nguyên cho tiến trình
- Định danh tài nguyên
- Trạng thái tài nguyên : đây là các thông tin mô tả chi tiết trạng thái tài nguyên : phần nào của tài nguyên đã cấp phát cho tiến trình, phần nào còn có thể sử dụng ?
- Hàng đợi trên một tài nguyên : danh sách các tiến trình đang chờ được cấp phát tài nguyên tương ứng.
- Bộ cấp phát : là đoạn code đảm nhiệm việc cấp phát một tài nguyên đặc thù. Một số tài nguyên đòi hỏi các giải thuật đặc biệt (như CPU, bộ nhớ chính, hệ thống tập tin), trong khi những tài nguyên khác (như các thiết bị nhập/xuất) có thể cần các giải thuật cấp phát và giải phóng tổng quát hơn.
HuynhVanNhut (I11C)- Tổng số bài gửi : 12
Join date : 07/09/2011
Quá trình khởi động máy
Quá trình cài đặt và khởi động của một Hệ điều hành (OS). Hầu hết các hệ điều hành đều có tiến trình khởi động giống nhau. Bây giờ mình sẽ lấy ví dụ về sự khởi động của một HĐH điển hình.
Máy tính chỉ lưu trữ ngày giờ hệ thống, thông tin phần cứng giữa những boot session. ROM sẽ truyền những lệnh xử lý khởi động. BIOS là nơi chứa các thủ tục để kết nối cho các phần cứng(ổ đĩa, bàn phím, chuột, vv..), và OS sẽ được định vị ~> khởi chạy. CMOS là nơi chứa các dữ liệu có thể sửa được về thông tin của máy, như dạng đĩa cứng, IRQs, ...
ROM, RAM mình sẽ không nói thêm, mình xin nói một chút về BIOS, đi đôi với nó là CMOS
BIOS viết tắt của Basic Input/Output System, tạm dịch là hệ thống nhập/xuất cơ bản. BIOS giữ nhiều vai trò khác nhau nhưng vai trò quan trọng nhất là nạp hệ điều hành. BIOS được chứa sẵn (thường ở dạng nén dữ liệu) trong các con chip như là PROM, EPROM, EEPROM hay bộ nhớ flash của bo mạch chính. Khi máy tính được mở qua công tắc bật điện hay khi được nhất nút reset, thì BIOS được khởi động và chương trình này sẽ tiến hành các thử nghiệm khám nghiệm trên các ổ đĩa, bộ nhớ, bo hình, các con chip có chức năng riêng khác và các phần cứng còn lại.
Thông thường, BIOS tự giải nén vào trong bộ nhớ chính của máy tính (RAM, ..) và bắt đầu vận hành từ đây. Hầu hết các lắp đặt của BIOS ngày nay có thể thực thi cài đặt các chương trình giao diện CMOS. Bộ phận này (CMOS) là nơi lưu giữ các dữ liệu cài đặt chuyên biệt của người dùng; như thời gian, các đặc tính chi tiết của ổ đĩa, việc gán chức năng khởi động cho bộ điều khiển (controller) nào, hay ngay cả mật mã khởi động máy, ... CMOS được truy cập bởi BIOS.
Quá trình khởi động, và như slide của thầy nói là bootstrap (bẫy khởi động) của máy tính và HĐH.
BIOS là cái được khởi động đầu tiên.
BIOS khởi chạy những sector phục vụ cho việc booting, những sector này được gọi là Master Boot Record (MBR) or the Boot Block, và nó được bảo vệ
BIOS chạy một chương trình của nó được gọi là Master Boot Record Program (MBRP).
Sau đó MBRP sẽ khởi chạy Operating System Loader Program (OSLP). Hay được gọi là LILO với Linux.
OSLP sẽ khởi hoạt các thiết bị hệ thống như: CPU, bộ nhớ và I/O devices, sau đó khởi động hạt nhân (Kernel, Monitor) của OS. Nếu không tìm thấy OS nào được cài, sẽ có thông báo lỗi chưa cài OS chẳng hạn.
Tiếp tục OS sẽ chạy INIT (Initialization),chạy các file thiết lập môi trường và giao diện, chờ đợi các sự kiện khác
Các hệ thống khác nhau thì sẽ có riêng MBR khác nhau. điều đó cho phép bạn chạy nhiều OS khác nhau. Như Microsoft Windows (từ winNT trở đi) thì nó đã nạp sẵn MBR để khởi động.
Một số hình ảnh khi Boot
Màn hình khởi chạy quá trình Boot của Award
Quá trình boot của KNOPPIX (một OS nhân Linux)
Quá trính boot của SmartPhone HTC
Máy tính chỉ lưu trữ ngày giờ hệ thống, thông tin phần cứng giữa những boot session. ROM sẽ truyền những lệnh xử lý khởi động. BIOS là nơi chứa các thủ tục để kết nối cho các phần cứng(ổ đĩa, bàn phím, chuột, vv..), và OS sẽ được định vị ~> khởi chạy. CMOS là nơi chứa các dữ liệu có thể sửa được về thông tin của máy, như dạng đĩa cứng, IRQs, ...
ROM, RAM mình sẽ không nói thêm, mình xin nói một chút về BIOS, đi đôi với nó là CMOS
BIOS viết tắt của Basic Input/Output System, tạm dịch là hệ thống nhập/xuất cơ bản. BIOS giữ nhiều vai trò khác nhau nhưng vai trò quan trọng nhất là nạp hệ điều hành. BIOS được chứa sẵn (thường ở dạng nén dữ liệu) trong các con chip như là PROM, EPROM, EEPROM hay bộ nhớ flash của bo mạch chính. Khi máy tính được mở qua công tắc bật điện hay khi được nhất nút reset, thì BIOS được khởi động và chương trình này sẽ tiến hành các thử nghiệm khám nghiệm trên các ổ đĩa, bộ nhớ, bo hình, các con chip có chức năng riêng khác và các phần cứng còn lại.
Thông thường, BIOS tự giải nén vào trong bộ nhớ chính của máy tính (RAM, ..) và bắt đầu vận hành từ đây. Hầu hết các lắp đặt của BIOS ngày nay có thể thực thi cài đặt các chương trình giao diện CMOS. Bộ phận này (CMOS) là nơi lưu giữ các dữ liệu cài đặt chuyên biệt của người dùng; như thời gian, các đặc tính chi tiết của ổ đĩa, việc gán chức năng khởi động cho bộ điều khiển (controller) nào, hay ngay cả mật mã khởi động máy, ... CMOS được truy cập bởi BIOS.
Quá trình khởi động, và như slide của thầy nói là bootstrap (bẫy khởi động) của máy tính và HĐH.
BIOS là cái được khởi động đầu tiên.
BIOS khởi chạy những sector phục vụ cho việc booting, những sector này được gọi là Master Boot Record (MBR) or the Boot Block, và nó được bảo vệ
BIOS chạy một chương trình của nó được gọi là Master Boot Record Program (MBRP).
Sau đó MBRP sẽ khởi chạy Operating System Loader Program (OSLP). Hay được gọi là LILO với Linux.
OSLP sẽ khởi hoạt các thiết bị hệ thống như: CPU, bộ nhớ và I/O devices, sau đó khởi động hạt nhân (Kernel, Monitor) của OS. Nếu không tìm thấy OS nào được cài, sẽ có thông báo lỗi chưa cài OS chẳng hạn.
Tiếp tục OS sẽ chạy INIT (Initialization),chạy các file thiết lập môi trường và giao diện, chờ đợi các sự kiện khác
Các hệ thống khác nhau thì sẽ có riêng MBR khác nhau. điều đó cho phép bạn chạy nhiều OS khác nhau. Như Microsoft Windows (từ winNT trở đi) thì nó đã nạp sẵn MBR để khởi động.
Một số hình ảnh khi Boot
Màn hình khởi chạy quá trình Boot của Award
Quá trình boot của KNOPPIX (một OS nhân Linux)
Quá trính boot của SmartPhone HTC
leanhhuy (I11C)- Tổng số bài gửi : 22
Join date : 30/08/2011
Trang 5 trong tổng số 7 trang • 1, 2, 3, 4, 5, 6, 7
Trang 5 trong tổng số 7 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết