FUNDAMENTAL OF COMPUTER là tài liệu Tin học đại cương cho chuyên ngành CNTT cho các trường Đại học
Đây là bản dịc tiếng Việt Full .
Hy vọng giup các bạn học tốt môn "Vạn sự khởi đầu nan của ngành IT.
171 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2766 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Fundamental of computer, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
o 4 MAR. một bộ nhớ đọc lệnh đọc có cả 4 MODUL một cách đồng thời và lien tục 4 lệnh. Chúng được gởi đến 4 bộ xử lý. Theo cách đó mỗi lệnh tìm nạp 4 lệnh lien tiếp. Mỗi lệnh thường đựơc thực hiện theo trình tự giống như nó có 4 lệnh ghi lien tiếp sẵn sàng có hiệu lực trong bộ xử lý-thời gian thực hiện nhanh hơn. Chỉ khi một nhánh lệnh gặp lệnh được tìm nạp không xác nhận hữu ích. Vì tỷ lệ nhánh lệnh trong một chương trình thì nhỏ. Phương pháp này thì có hiệu quả trong việc làm giảm tối thiểu sự không khớp tốc độ giữa bộ nhớ và bộ xử lý
Có thể nói xe kẽ với 1 cạc để giảm bớt sự không khớp tốc độ giữa cạc nhớ và bộ nhớ chính
8.3 TỪ I/O ĐẾN BỘ XỬ LÝ TRUYỀN THÔNG.
MỤC LỤC
chúng ta thấy ở hình 8.1, đó là một lối đi của khối kết nối I/O đến máy tính để kết nối chúng với bộ xử lý dùng một thiết bị bus địa chỉ, 1 bus dữ liệu và một bus điều khiển, nó điều khiển thao tác của thiết bị. VD, 1 cái đĩa mềm có bộ điều khiển để điều khiển sự chuyển động của đầu lọc, đặt vào vị trí của đầu và phát hiện các lỗi. Bộ điều khiển đựơc kết nối các bus qua khối khớp nối logic. Khớp nối logic giải mã các lệnh điều khiển đã nhận từ khối xử lý và gởi chúng đến bộ điều khiển. Nó cũng đệm dòng dữ liệu từ thiết bị đến bộ xử lý và ngược lại. Hình 8.6 minh hoạ chi tiết của một khối khớp nối. Với sự kết nối đó của I/O thiết bị đến bộ xử lý, dữ liệu từ một thiết bị được truyền đến bộ nhớ xuyên xuốt một thanh ghi trong bộ xử lý. Tuần tự của các bứơc sau đây là để truyền dữ liệu:
bước 1: bộ xử lý gởi địa chỉ cho thiết bị từ đó dữ liệu được đọc qua thiết bị bus địa chỉ và phát ra một lệnh đọc
Bứơc 2: thiết bị khớp nối logic báo nhận tín hiệu và bật “thiết bị hoạt động” mạch bập bênh không có yêu cầu nào thêm đựơc chấp nhận bởi thiết bị dài như hoạt động mạch bập bênh đựơc bố trí.
Bước 3: thíêt bị I/O đọc dữ liệu và đặt nó trong thanh ghi dữ liệu cucả khớp nối. Nó cũng bố trí sẵn sàng dữ liệu mạch bập bênh
Bước 4: bộ xử lý dò lien tiếp dữ liệu sẵn sàng mạch bập bênh và hoãn lại chờ khối mạch bập bênh đó được bố trí.
Bước 5: khi dữ liệu đựơc sẵn sàng mạch bập bênh đựơc bố trí, khối xử lý đọc dữ liệu từ khớp nối thanh ghi dữ liệu và đặc nó trong thanh ghi xử lý thích hợp. Nó gởi dữ liệu nhận tín hiệu chấp nhận đến thiết bị khớp nối và lặp lại hoạt động thiết bị mạch bập bênhBỘ NHỚ
BỘ XỬ LÝ
BD
THANH GHI
Khớp nối dữ liệu sẵ sàng. Mạch bập bênh thiết bị hoạt động mạch bập bênh
Thanh ghi dữ liệu
Thiết bị và bộ điều khiển
MAB-bus nhớ địa chỉ, DB-bus dữ liệu, DAB-bus địa chỉ thiết bị, CB-bus điều khiển, DC thiết bị điều khiển
Hình 8.6 chi tiết của bộ xử lý truyền thông I/O. phương pháp (di chuyển) thông tin đ1o được gọi là chương trình điều khiển di chuyển. Phương pháp đó, bộ xử lý hoãn lại thiết bị có thể đọc dữ liệu và như vậy không đem lại kết quả mong muốn như khối I/O chậm hơn khối xử lý 1000 lần thời gian.
Ở đó còn có phương pháp khác di chuyển dữ liệu đến khối xử lý hiệu quả hơn. Torng phương pháp đó, người lập trình đánh giá thời gian yêu cầu đọc dữ liệu từ một thiết bị dứt khoát rõ ràng. Lệnh đọc được phát ra trước thời hạn 1 số bước, nó có các yêu cầu thực tế trong sự tính toán. Bộ xử lý phải có đủ các lệnh khác để thực hiện trong khi khớp nối đẩy ra vùng đệm dữ liệu. Khi vùng đệm khớp nối đầy, và sẳng sàng gởi dữ liệu đến bộ xử lý, khớp nối gởi tín hiệu đến bộ xử lý, báo tin dữ liệu đã được sẵn sàng. Tín hiệu đó được biết như là một tín hiệu ngắt.khi bộ xử lý nhận tín hiệu ngắt, nó biết việc dữ liệu được nói là sẵn sàng. Nó chờ công việc hiện tại và di chuyển dữ liệu từ thanh ghi dữ liệu khớp nối đến thanh ghi của nó. Phương pháp đạoc dữ liệu này gọi là chương trình điều khiển di chuyển dữ liệu ngắt.
Cái bất lợi chính của phương pháp này là cần bộ xử lý phải chờ và khởi động công việc nó phải làm khi nó được ngắt, trong các cách theo thứ tự. Nếu ở đó có một số thiết bị trong hệ thống đọc và viết, sau đó mỗi thiết bị có thể bắt đầu ngắt không lệ thuộc cái gì cả. Bộ xử lý nên có khả năng nhận ra trong số chúng và đi kèm mỗi yêu cầu, dựa trên một vài kinh nghiệm ưu tiên. Bên cạnh đó, người lập trình phải có sự đánh giá tốt các nhu cầu thời gian cho việc đọc dữ liệu và xử lý để tránh xa việc không xử lý khi yêu cầu dữ liệu không sẵn sàng.
Chúng ta nhìn ở hình 8.1 đó là thiết bị I/O của máy tính, nó có con đường dữ liệu rõ ràng đến bộ nhớ. Nếu việc kết nối nào đó tồn tại, một phương pháp di chuyển dữ liệu khác sẽ thích hợp. Phương pháp đó dùng logic (luận lí học) trong bộ nhớ truy nhập khớp nối trực tiếp (khớp nối DMA) và loại trừ sự tham gia của bộ nhớ torng di chuyển dữ liệu
Bộ nhớ
Bộ xử lý
Khớp nối DMA
Mạch bập bênh sẵn sàng
Hoạt động
ff
Thanh ghi, địa chỉ, bộ nhớ
Vận chuyển dữ liệu
Thiết bị và bộ điều khiển
thiết bị địa chỉ và bus điều khiển
Hình 8.7 chi tiết của việc di chuyển dữ liệu thích hợp từ khối vào đến bộ nhớ
Cấu hình của hệ thống máy tính với việc kết nối lại cấu trúc được nêu trong hình 8.7. khớp nối DMA, cộng với thanh ghi đệm dữ liệu, mạch bập bênh hoạt động. DMA và mạch bập bênh sẵn sàng dữ liệu, có thanh ghi nhớ địa chỉ, nó giữ việc định vị trong bộ nhớ, ở đó dữ liệu được lưu trữ. Nếu số cá từ được vận chuyển từ thiết bị đến bộ nhớ, đếm các từ cũng được lưu trong bộ đếm torng DMA.
Qui trình dùng để vận chuyển dữ liệu trong DMA được diễn tả như sau:
Bước 1: khi lệnh đọc được gặp, bộ xử lí gởi thiết bị địa chỉ qua bus địa chỉ thiết bị I/O. nó được giải mã bởi bộ điều khiển I/O, và khớp nối DMA của thiết bị thích hộp được lựa chọn. Bộ xử lý cũng gởi địa chỉ trong bộ nhớ chính, ở nơi đ1o dữ liệu được lưu trữ và lệnh đọc.
Bước 2: bộ xử lý tiếp tục với lệnh kế tiếp torng chuơng trình. Nó không thêm vai trò trực tiếp trong di chuyển dữ liệu
Bước 3: tập DMA nó là mạch bập bênh hoạt động, đọc dữ liệu từ thiết bị và nhập nó vào trong thanh ghi dữ liệu
Bước 4: khi dữ liệu được ghi vào trong thanh ghi dữ liệu, mạch bập bênh dữ liệu sẵn sàng được bố trí và tín hiệu ngắt được gởi đến bộ xử lý
Bước 5: bộ xử lý hoàn thành lệnh hiện tại, việc đó được thực hiện bởi nó. Nó tiến hành bus địa chỉ và bus dữ liệu đên khớp nối DMA trong một chu kỳ là nhớ. Thanh ghi DMA di chuyển dữ liệu trong thanh ghi dữ liệu của nó đến địa chỉ đặc trưng trong thanh ghi địa chỉ của nó. Ở thủ tục đó, 1 chu kỳ nhớ được giữ bởi DMA từ bộ xử lý đến khi cho phép nó di chuyển dữ liệu từ bộ nhớ được biết như chu kỳ lấy trộm. Nhận xét điều đó, thủ tục nguyên vẹn này của di chuyển dữ liệu được giấu bởi người lập trình và được làm bởi phẩn cứng. Trong từ khác, người lập trình không cần mã hoá xử lý nguyên vẹn thanh ghi dữ liệu. Trong văn chương máy tính, thủ tục phần cứng khác, nó được che đậy từ các người lập trình, và không thể trông thấy được chúng, được biết như trong suốt của người lập trình. Chọn từ “trong suốt” trong biệt ngữ máy tính để biểu thị vị trí này không tốt, nhưng được dùng một cách phổ biến
Phương pháp di chuyển thông tin này không điều khiển chương trình. Người lập trình nên và hơn nữa là đưa lệnh đọc đầy đủ nhận sớm hơn khớp nối DMA đọc dữ liệu từ thiết bị và đặt nó vào trong bộ nhớ trước khi chương trình cần nó để xử lý
Trong thủ tục ở trên chúng ta minh hoạ một từ được di chuyển từ thiết bị I/O đến bộ nhớ bằng khớp nối DMA. Nếu một số từ được di chuyển, đếm các từ được đọc và địa chỉ torng bộ nhớ, nơi đ1o từ đầu tiên đựơc lưu trữ và gởi cho khớp nối DMA bằng bộ xử lý. Khớp nối DMA, sau khi di chuyển một từ đến bộ nhớ (như giải thích) trừ 1 đến từ đếm vá + 1từ đến địa chỉ nhớ. Sau đó nó đọc từ kế tiếp từ thiết bị và đặt nó vào trong thanh ghi dữ liệu. Sau đó ngắt bộ xử lý, nó tiến hành một chu kỳ nhờ voa bus đến khớp nối DMA để đủ từ được lưu trữ trong bộ nhớ. Thủ tục này tiếp tục đếm từ đến 0 (hết). Nếu thếit bị gắn cho khớp nối DMA là một thiết bị nhanh, sau đó một số chu kỳ nhớ cần lưu dòng dữ liệu trong bộ nhớ chính đựơc tiến hành bởi CPU, DMA. Kiểu thanh ghi dữ liệu này đựơc biết như chế độ từng khối
Thủ tục mô tả trong đoạn này là một phương pháp đọc dữ liệu từ một thiết bị. Nếu dữ liệu được viết trong khối đầu ra từ bộ nhớ, bộ xử lý gởi thiết bị địa chỉ đến, bộ điều khiển I/O chọn thiết bị. Địa chỉ bắt đầu và khối đếm từ ra được gởi tới DMA. Bây giờ DMA đọc một từ từ bộ nhớ bởi chu kỳ lấy trộm và gởi nó đến thiết bị. Sau khi tihiết bị viết dữ liệu, DMA giảm bớt từ đếm bằng 1, cộng 1 vào địa chỉ nhớ và đọc từ kế tiếp từ bộ nhớ trong chu kỳ nhờ lấy trộm từ bộ xử lý. Khối này tiếp tục tất cả các từ đựơc viết. Quan sát trường hợp này cũng vậy bộ xử lý thu thập các từ sau khi đưa ra lệnh viết và DMA viết dữ liệu xa hơn tham gia rõ ràng của bộ xử lý
Tóm lại chúng ta thấy di chuyển DMA nhanh hơn và tiện lợi hơn dùng chương trình điều khiển di chuyển dữ liệu qua thanh ghi xử lý. Giá trị thời gian xử lý không lãng phí trong di chuyển DMA. Thuận lợi này đựơc làm bởi phần cúng cung cấp thêm trong DMA và bởi bus cộng vào. Bus mới là dữ liệu và bus địa chỉ kết nối DMA với bộ nhớ và địa chỉ kết nối bộ xử lý DMA
Torng đoạn này sẽ ngạc nhiên ly do tại sao bus nhớ địa chỉ và bus dữ liệu đựơc chia bởi khớp nối DMA và bộ xử lý, nó ảnh hưởng 9d6én bộ nhớ bộ xử lý tiến hành các bus bất cứ lúc nào dữ liệu được di chuyển bởi DMA dến bộ nhớ. Tại sao nên 1 không cung cấp 2 chuỗi bus riêng rẽ đến bộ nhớ, 1 chuỗi bộ xử lý và 2 chuỗi DMA vì 2 có thể làm một cách độc lập? Lý do là giá cả. Bộ nhớ với 2 không lệ thuộc vào đường (gọi là cửa) thì đắt như nó có nội dung quyết định nếu cả hai cửa cùng viết 1 vùng. Hơn nữa như khối vào/ra có số lượng thời gian chậm, bộ xử lý có thể tiến hành bus đến DMA có 1 trong 100 chu kỳ nhớ, điều đ1o sẽ không chậm hơn khối xử lý. Như vậy, nó không có giá rõ ràng để cung cấp hai cửa độc lập đến bộ nhớ chính
8.4 CẤU TRÚC LÀM GIÁN ĐOẠN.
MỤC LỤC
Trong phần cuối, chúng ta đã giới thiệu ý tưởng của việc truyền dữ liệu từ thiết bị I/O đến bộ nhớ bằng chương trình điều khiển ngắt đoạn. Chúng ta sẽ mở rộng ý tưởng đó trong phần này.
Một tín hiệu gián đoạn là một tín hiệu được gởi bởi từ giao diện I/O đến bộ phận xử lý, khi I/O sẵn sang gởi hoặc nhận dữ liệu đến từ bộ nhớ. Bộ xử lý hiện thực các lệnh mà nó xử lý thong thạo khi nhận được tín hiệu ngắt. Sau đó nó bảo quản các thong tin cần lặp lại chương trình, nó tiếp tục thi hành và tăng tốc độ đến chương trình khác được gọi là “interrupt service rountine” (dịch vụ ngắt thong thường) để cung cấp việc đáp ứng đòi hỏi của việc đọc/ghi I/O
Dịch vụ ngắt có thể so sánh như một bà chủ nhà: khi điện thoại reo và sữa trong bếp đang đun nóng, bà ta tắt lửa, đậy nắp chảo và chạy nhanh đến nghe điện thoại. Sau khi nghe xong, bà trở lại nhà bếp lấy nắp ra khỏi chảo, mở lửa và tiếp tục công việc đang làm dở.
Quy trình thực hiện một chương trình ngắt bao gồm các bước sau:
B1: Bộ xử lý lấy tín hiệu ngắt
B2: Bộ xử lý thực hiện các tín hiệu đưa ra
B3: Bộ xử lý lưu trữ các nội dung của chương trình ngược lại và những thanh ghi trong bộ xử lý ở những vùng giữ kẽ trong bộ nhớ. Thông tin này thì đòi hỏi bộ xử lý có thể lặp lại các chương trình mà nó đã thi hành. Nó đình chỉ những chương trình hiện thời để tiến hành thực hiện.
B4:Bộ xử lý nhận tín hiệu báo đã nhận được tín hiệu ngắt ở gao diện I/O và tăng nhanh tốc độ thực hiện chương trình khác đễ lưu trữ trong bộ nhớ và thực hiện việc ngắt.
B5: chương trình ngắt tiến hành di chuyển theo yêu cầu của thông tin hay chỉ thị đưa ra từ thiếc bị I/O. Lệnh cuối trong chương trình ngắt phục hồi nội dung của tất cả các thanh ghi xử lý lien quan tới chương trình và ngược lại mà nó đã lưu trữ trong bộ nhớ bởi chương trình treo
B6: Chương trình treo được lặp lại.
Trong khi thực thi bộ xử lý cần giải quyết nhiều thứ của việc ngắt đoạn từ nhiều thiết bị I/O. Quy trình trọng yếu hay sự ưu tiên của việc ngắt sẽ không giống nhau. Bên cạnh việc ngắt, để truyền dữ liệu, thì những chương trình ngắt khác cũng phát sinh từ máy tính. VD như sự cố khẩn cấp xảy ra: mất điện, khi một thiết bị cảm biến xảy ra mất điện, nó gởi tín hiệu ngắt đến bộ xử lý. Bộ xử lý khởi đầu thủ tục kiểm tra sự cố mất điện mà nó lưu trữ những nội dung của hầu hết các thanh ghi quan trọng trong bộ nhớ để mà chương trình có thể được lặp lại khi có điện. Chương trình ngắt sinh ra bởi những sự kiện ngắt xảy ra ngoài dao diện của bộ xử lý như I/O, mất điện, điện áp cao… được gọi là “external interrupts”. (ngắt ngoài)
Có nhiều lớp ngắt khác nhau được biết như: ngắt trong hoặc cạm bẫy mà nó xảy ra khi có lỗi trong chương trình người xử dụng. Những cái lỗi thông thường mà nó dẫn đến các cái bẫy như: thử phép chia với 0, ácquy bị thừa hay thiếu, và mã hoạt động không hợp lý. Như vậy khi một cái bẫy đựơc nhận ra bởi bộ xử lý, thì nó ngắt chương trình xử dụng và những cái nhánh dẫn tới những cái bẫy thông thường mà nó thường in ra giá trị của PC và những thanh ghi khác khi những cái bẫy xảy ra và một thông điệp có thể đưa ra cho một cái bẫy. Bộ xử lý có thể tiếp tục thi hành chương trình nếu cái lổi không nghiêm trọng. Nếu lỗi nghi6em trọng và đang tiếp tục chương trình thì nó không có ý nghĩa, sau đó nó sẽ kết thúc sớm.
Dạng khác của việc ngắt được tạo ra nếu một phần cứng của máy tính phát triển các cái lỗi. Khi lỗi đựơc phát hiện ở mạch điện, bộ xử lý được thông báo về vị trí và bản chất của lỗi. Bộ xử lý tăng việc kiểm tra các lỗi mà nó giải quyết nếu nó có khả năng phù hợp (như khi mã thích hợp với lỗi đựơc dung) và thực hiện sữa chữa và bắt đầu lại chươgn trình sử dụng. Nếu nó không thể sửa lỗi thì hoạt động được dừng lại sau khi sao một thông báo ứng dụng
Việc ngắt thì cũng đựơc phát sinh bởi thời gian thực hiện của phần cứng trong máy tính. Như một cái đồng hồ đựơc dung để kiểm soát sự phân phối của bộ xử lý thời gian dùng. Như vậy thời gian ngắt thì cần giới hạn về thời gian. Để sử dụng và thoát khỏi chương trình quá cao không có số lượng giới hạn.
Nhiều chương trình ngắt từ thiết bị I/O có thể đựơc giải quyết theo cách thường. Trong phương pháp phổ biến nhất, khi việc ngắt xảy ra, thủ tục kiểm tra chương trình ngắt đặt ra trên giao diện I/O có thời gian, thông thường việc bắt đầu với thiết bị mà nó có ưu điểm cao nhất. Sau khi tìm ra thiết bị để ngắt nó, nó tăng tốc độ giải quyết (của thiết bị I/O) chương trình ứng dụng của thiết bị I/O thì đựơc gọi là “Programmed device polling”. Thếit bị giải quyết chương trình đang chạy trong khi đó phạm vi ngắt có thể duy yếu để mà trải qua thời gian không thể lâu hơn nữa, chương trình ngắt có thể được thay thế. Giải pháp này thì là một phần mềm giải quyết vấn đề. Nó thì không đắt nhưng chậm.
Trong hầu hết các phương pháp phức tạp đang dùng phần cứng đặc biệt, bộ xử lý có một thanh ghi ngắt mà nó có 1 bit để tương xứng với mổi nguồn mà nó có thể ngắt bộ xử lý. Mỗi việc ngắt một tập hợp nguồn, nó như bit “mật” trong thanh ghi này. Trong hình 8.8, chúng ta minh họa về một thanh ghi cho 4 bộ nguồn. Bộ xử lý có một thanh ghi gọi là 1 “thanh ghi ngắt mật” mà nó có 1 bit tương xứng với mỗi nguồn ngắt. Những bit trong thanh ghi này có thể là tập hợp bởi chương trình. Khi một chương trình ngắt được lấy từ bit tương xứng của nguồn ngắt là tập hợp 1. Nếu một chương trình ngắt đặc biệt (được lờ đi, bit tương xứng trong thanh ghi mật là tập 0 bởi chương trình (hình 8.8)). Những bit tương xứng của thanh ghi ngắt và thanh ghi mật là ANDed để cho các bit M1, M2, M3, M4. Nếu nhìêu hơn một chương trình ngắt thì tập hợp và thừa nhận bởi thanh ghi mật, mạch điện luận lý ưu tiên chỉ cung cấp giới hạn ưu tiên nhất. Những tia P1, P2. P3, P4 được đưa tới để mã hoá mà nó cung cấp địa chỉ, bắt đầu chương trình thực hiện ngắt của thiết bị ngắt.
8.5 ĐA CHƯƠNG TRÌNH.
MỤC LỤC
Trong phaàn 8.3 chuùng ta ñaõ ñöôïc giôùi thieäu veà duïng cuï noái thieát bò DMA vôùi moät vaøi tính naêng xöû lyù, noù laø boä xöû lyù trieån voïng ñeå I/O chòu traùch nhieäm chuyeån ñeán DMA vaø vôùi xöû lyù soá hoïc. Neáu moät hoaït ñoäng soá hoïc caàn döõ lieäu vaø neáu noù chöa ñöôïc DMA chuyeån ñeán boä nhôù, luùc ñoù boä xöû lyù seõ chôø. Theo thöù töï ñeå loaïi boû thôøi gian chôø cuûa boä xöû lyù ñoøi hoûi ngöôøi laäp trình vieân phaûi caån thaän öôùc löôïng ñuùng thôøi gian maø ñieàu naøy thì khoù vaø baát khaû thi. Maët khaùc neáu hai chöông trình ñoïc laäp ñöôïc löu tröõ trong boä nhôù, khi moät chöông trình khoâng theå laáy döõ lieäu tjì moät chöông trình khaùc coù theå ñöôïc baét ñaàu baèng boä xöû lyù. Khi chöông trình ñaàu tieân(bò treo) ñöôïc ñöa vaøo thì coù theå duøng trong boä nhôù, boä xöû lyù coù theå ngaên chaën vaø chöông trình ñaàu tieân hoaït ñoäng trôû laïi sau khi taïm ngöng chöông trình thöù hai ñieàu naøy ñöôïc noùi ñeán trong phaàn 8.9. Phöông phaùp söû duïng taøi nguyeân cuûa boä xöû lyù naøy thì ñöôïc bieát nhö laø Multiprogamming
Multiprogamming giuùp cho boä xöû lyù choàng laáp coù hieäu quaû vaø I/O hoaït ñoäng, ñieàu ñoù caàn thieát khi moät trong nhöõng chöông trình ñang chôø ñeå xuaât ra hoaëc ñöa vaøo vaø caàn phaûi tính toaùn ñuû ñeå boä xöû lyù hoaït ñoäng lieân tuïc. Neáu caû hai chöông trình caàn ñöa döõ lieäu vaøo ñuùng thôøi gian thì boä nhôù seõ trôû laïi bình thöôøng nhöng toác ñoä gheùp ñoái xöùng giöõa I/O vaø boä xöû raát quy moâ noù caàn thieát ñeå coù theå laøm vieäc ñoàng thôøi trong nhieàu chöông trình(khoaûng 4 laø ñuû) ñeå giuùp cho boä nhôù luoân luoân laøm vieäc vôùi soá quy moâ cuûa nhieàu chöông trình khaû naêng bò treo cuûa taát caû chöông trình do thieáu ñöôøng ra thì raát nhoû.
Moät maùy tính laøm vieäc ñoàng thôøi vôùi nhieàu chöông trình ñoøi hoûi moät soá duïng cuï ñaëc bieät vaø moät soá phaàn meàm ñaëc tröng. Ñaàu tieân boä nhôù chính phaûi ñuû quy moâ ñeå thích öùng vôùi taát caû chöông trình. Khi moät chöông trình bò treo thì taát caû thoâng tin seõ ñöôïc löu trong boä nhôù vaø khôûi ñoäng laïi. Ngoaøi ñieàu naøy ra noù caàn thieát ñeå ngaên chaën moät chöông trình vieát ra töø boä nhôù ñaõ ñaày baèng moät chöông trình khaùc. Theo thöù töï ñeå laøm ñieàu naøy ta coù theå phaân phoái tôùi töøng khu vöïc cuï theå trong boä nhôù chính cuûa moãi chöông trình. Vaø baûo veä noù vôùi “oå khoaù”. Caùi naøy thöôøng laø moät duïng cuï ñaët tröng vaø ñöôïc goïi laø boä nhôù chæ ñònh vaø söï baûo veä ñaët tröng.
Theo thöù töï ñeå thöïc hieän taát caû caùc chöùc naêng öu tieân cuï theå laø söï laäp trình phaûi raát caån thaän ñeå ngaên chaên, caát giöõ thoâng tin ñoái vôùi nhöõng chöông trình bò treo ñeå chuùng ta coù theå khôûi ñoäng laïi, caån thaän vôùi I/O, ETC . . . ñieàu ñoù laø caàn thieát ñeå vieát moät chöông trình goïi laø giaùm saùt hay quaûn lyù. Giaùm saùt phaûi ôû coá ñònh trong boä nhôù moät khu vöïc ñöôïc daønh rieâng vaø coù ñöôïc söï öu tieân. Giaùm saùt laø moät boä phaän ñöôïc bieát ñeán nhö laø moät heä ñieàu haønh maùy tính. Chuùng ta seõ thaûo luaän ñieàu naøy trong chöông 10.
Trong tröôøng hôïp naøy thoâng tin ñi vaøo boä nhôù ñöôïc gôûi ñeán theo ñöôøng thanh ghiboä xöû lyù ñeán khoái nhaäp xuaát .Nhö vaäy khoái nhaäp xuaát chaäm hôn 1000 laàn boä xöû lyù ñoù khoâng laø söï keát noái mong muoán
5.Trong löôïc ñoà khaùc ,khoái nhaäp xuaát ñöôïc keát noái ñeán boä nhôù qua giao dieän boä nhôù tröïc tieáp moät caùch tuaàn töï söû duïng bus döõ lieäu vaø bus ñòa chæ boä nhôù (ñòa chæ thieát bò nhaäp xuaát )
Ñòa chæ keát noái ñeán taát caû ñöôøng thoâng loä nhaäp xuaát baèng moät bus ñòa chæ boä nhôù hay thieát bò nhaäp xuaát vaø bus ñieàu khieån .Khi leänh nhaäp xuaát ñöôïc gôûi ñeán thieát bò ,döõ lieäu laäp töùc chuyeån ñoåi töø khoái nhaäp xuaát ñeán boä nhôù qua boä nhôù tröïc tieáp maø khoâng söû duïng thanh ghi xöû lyù naøo
6.Trong heä thoáng ñôn maãu tuyeán, khoái nhaäp xuaát boä xöû lyù vaø boä duøng chung moät bus heä thoáng phoå bieán .Noù cho pheùp thieát bò nhaäp xuaát ñaùnh ñòa chæ gioáng nhö caùch ñaùnh ñòa chæ boä nhôù. Quyeàn lôïi duøng chung cuûa bus chuyeån giao döõ lieäu coù theå thay theá ôû baát kyø thôøi gian cho tröôùc naøo giöõa hai cuûa ba boä phaän
7. ñeå laøm giaûm nheï toác ñoä sai leäch giöõa boä nhôù, boä xöû lyù vaø boä nhôù aån ,giöõa boä nhôù chính vaø boä xöû lyù. Boä nhôù aån laø boä nhôù nhanh, nhoû. Nhöng haàu heát chöông trình tuaàn töï, haàu heát söï tham khaûo ñöôïc trích xuaát thaønh nhöõng kyù töï nhoû keà nhau trong boä nhôù. Vò trí ñoù trong boä nhôù tham khaûo ñöôïc söû duïng trong thieát keá moät boä nhôù aûo, moät phaàn cuûa chöông trình hieän thôøi ñöôïc thi haønh töï ñoäng ñöa ñeán boä nhôù aån baèng oå cöùng,theo caùch ñoù nhöõng leänh yeâu caàu seõ ôû trong boä nhôù aån vaø toác ñoä hieäu quaû cuûa boä nhôù seõ ñöôïc taêng leân
Hôn nöõa boä nhôù aån ñeå löu tröõ söï chæ daãn(ñöôïc goïi laø boä nhôù aån chæ daãn), boä nhôù aån ñöôïc cung caáp ñeå löu tröõ döõ lieäu xöû lyù söï chæ daãn. Ñoù goïi laø boä nhôù aån döõ lieäu
Thuaät toaùn ñeå trang chính xaùc
Böôùc 1: ñòa chæ vaät lyù maùy tính L cuûa töø sau ñeå haïn cheá bôûi chöông trình
Böôùc 2: kieåm tra baûng trang ñeå thaáy L trong boä nhôù chính M
Böôùc 3: neáu L laø M thì baét ñaàu laëp laïi töø kieám ñöôïc, xöû lyù töø kieám ñöôïc keát thuùc böôùc moät. Ngöôïc laïi tieán haønh hoaõn laïi bình thöôøng vaø tieáp tuïc böôùc keá tieáp
Böôùc 4:neáu coù moät phaàn trang troáng trong M thì qua böôùc 5.Ngöôïc laïi baét ñaàu choïn phaàn trang khaùc trong M ñeå laëp laïi vò trí vaø ñeám noù töï do. Neáu F bieán ñoåi thì chuyeån trang F ñeán ñóa ngöôïc laïi qua böôùc 5
Böôùc 5: chuyeån ñoåi trang chöùa L ñeán ñóa ñeå khung chöa F trong M
Böôùc 6: caäp nhaät baûng ñöôïc vaø qua böôùc 1. Moät thanh ghi cô baûn ñöôïc söû duïng ñeå quaûn lyù trong boä nhôù hoaït ñoäng hoïc nhö 1 heä thoáng. Heä thoáng hoaït ñoäng theâm noâi dung vaøo thanh ghi cô baûn goïi laø trang ñ/c, ñeå moãi d/c boä nhôù ñöôïc phaùt ra bôûi moät chöông trình baèng caùch dòch chuyeån noù ñeán trang ñang duøng. Moät baûng d/c cuûa moãi chöông trình thì ñöôïc baûo veä bôi hoaït ñoäng heä thoáng
8.6 TÍNH NĂNG BỘ VI XỬ LÝ.
MỤC LỤC
Trong chương 5 chúng ta đã thảo luận về chức năng của bộ vi xử lý. Điều chính ở đây là giải thích một cách đơn giản về giới hạn công việc của bộ vi xử lý (BVXL). Thực sự BVXL có rất nhiều tính năng. Bao gồm hai tính năng cơ bản. Thứ nhất là một chương trình đơn đơn giản bằng cách giới thiệu một con số của sự lựa chọn một lệnh tốt nhất. Thứ 2 là giảm bộ nhớ của BVXL và trì hoãn sự giao tiếp của khối nhập/xuất.
Chúng ta sẽ miêu tả điều trên với một VD. Đề bài yêu cầu là thêm vào 9 thành phần của một vectơ αi và in tổng của chúng. Một thuật toán đơn gian để kèm như sau:
S ← 0
For I = 1to 9 do
Begin read αi; S ← S + αi; end;
Write S;
Stop
Việc sử dụng giá trị lệnh trong HYPCOM 1 chương trình để làm như trong bảng 8.1. Quan sát thấy lưu trữ 0 trong S chúng ta có thể đọc và lưu trữ trong một địa chỉ của bộ nhớ từ khối nhập. Vòng lặp 1 và 9 cũng đọc từ khối nhập
Bảng 8.1: Một ngôn ngữ chương trình máy cho HYPCOM để thêm vào
Địa chỉ mà lệnh được lưu trữ
Lệnh máy
Giải thích lệnh
Mã thao tác
Địa chỉ thao tác
000
001
002
003
004
005
006
007
008
00A
00B
00C
00D
00E
00F
010
011
012
013
A
A
A
A
1
2
6
1/3
6
1
3
6
1
3
6
9
7
B
F
090
091
092
109
090
109
090
003
092
003
005
092
005
091
092
091
012
003
090
000
Vì vậy khối nhập chậm sẽ lưu trữ vĩnh viễn trong thư mục của một thanh ghi trong BVXL. Trong công thức của bảng 8.1, lệnh trong địa chỉ ô nhớ 003 đến 011 thực thi vòng lặp. Quan sát lệnh trong 007, 008 và 009. Lệnh trong 007 làm tổng nội dung của 003. Lệnh 008 trừ 1 từ nó, và một giá trị được lưu trữ trở lại trong 003 bởi lệnh 009. Thật vậy tiếp tục lệnh trong 003 được truy lục lại nó sẽ là A108, nó sẽ sáng rõ là đọc một con số và lưu trữ nó trong 008. Quan sát địa chỉ của lệnh trong 003 và 00S đã được sữa đỗi. Như vậy địa chỉ sữa đổi là bản chất trong vectơ. Vòng lặp lại được sử dụng sữa đổi địa chỉ. Kết thúc vòng lặp lại là thực thi lệnh 00D, 00E, 00F và 010. Việc đó được làm rõ ràng bằng cách kết thúc giá trị trong chỉ thị mục lục, 9 trong thanh tổn, trừ 1, lưu trữ và kiểm tra nếu nó trở về 0. Sự chuyển giao dữ liệu trong hai bộ nhớ của BVXL diễn ra ở một nơi mà nó sẽ tránh sự sai xót, giữ tổng quát tốc độ BVXL không khớp với nhau. Bên cạnh đó, phương thức sử dụng địa chỉ sửa là tinh tế và thiên về lỗi.
Chúng ta sẽ nhìn thấy một sữa đổi trong HYPCOM mà gặp trong chương trình cặp đối tượng và giảm sự thất bại trong việc chuyển giao dữ liệu giữa I/O và bộ nhớ, giữa BVXL và bộ nhớ. Trước tiên chúng ta giới thiệu về thanh ghi trong BVXL dùng để lưu trữ kết quả trung gian suốt quá trình xử lý với việc lưu trữ chúng trong bộ nhớ. Chúng có thể sử dụng lưu trử chỉ thị mục lục và sự thay đổi yêu cầu thiết lập vùng lặp và sử dụng như là chỉ số dưới của vectơ. Lệnh chuyển giao được thay đổi bao gồm, bên cạnh địa chỉ nhớ, địa chỉ của hai thanh ghi, một hoạt động như là thanh ghi chỉ huy, thanh còn lại như là một thanh ghi chỉ thị mục lục. Bên cạnh đó, một số lệnh thêm vào được yêu cầu phải sử dụng hết trong thanh ghi.
Lệnh chuyển giao mới là:
OP
R
X
A
←HH→
←H→
←H→
←HHH→
H là hệ 16
Mã chỉ huy được phát triển thành hai hệ 16. Chúng ta có thiết lập mã cho 256 lệnh. Trường R là địa chỉ của một thanh ghi mà ở đó các thao tác phải được lưu trữ và vận dụng. Trường X là địa chỉ của một thanh ghi mà nó được sử dụng như một thanh ghi chỉ thị mục lục. A là địa chỉ trong bộ nhớ, các lệnh mới chúng ta giới thiệu là:
Lưu trữ một số trong trường A trong một thanh ghi đặc biệt:
VD
OP
R
X
A
21
2
0
009
CP-code 21 nghĩa là: lưu trữ số trong trường địa chỉ ở thanh ghi đặc biệt, Reg 2. Đây là lệnh lưu trữ 9 trong Reg2. Quan sát thấy trường địa chỉ được sử dụng như là một thao tác. Một lệnh được biết như 1 lệnh immediate. Thay vì đọc một con số qua khối nhập, lưu trữ nó trong bộ nhớ và sau đó mang nó từ một thanh ghi lệnh này đặc một con số trong thanh ghi và như vậy tiết kiệm được thời gian.
Lệnh immediate phải được phát triển cho tất cả các thao tác số học. VD: lệnh được sử dụng để thêm vào thao tác 4 nội dung của thanh ghi 2. Lệnh 233000s được sáng rõ như trử 00s từ nội dung của thanh ghi 3. Lệnh đựơc sử dụng để nhân và chia
OP
R
X
A
22
2
0
004
Nó dùng để chuyển nội dung của thanh ghi đến bộ nhớ và thiếu xót riêng lẻ. Vd: lệnh được sáng rõ “lưu trữ nội dung thanh ghi 2 trong địa chỉ 34s”. Quan sát, chúng ta đang sử dụng một thanh ghi trong thanh tổng trang sự chỉnh sửa mới. Lệnh được sáng rõ như “xoá thanh ghi 2 và nhập voà nội dung của địa chỉ 468 trong bộ nhớ của nó”. Việc di chuyển dữ liệu giữa các thanh ghi cũng sẽ được sử dụng
OP
R
X
A
06
2
0
34s
OP
R
X
A
01
2
0
468
OP
R
X
A
26
2
4
000
Lệnh được sáng rõ: “di chuyển nội dung của thanh ghi 4→thanh ghi 2”
việc sử dụng lệnh trong thanh ghi chỉ thị mục lục là đơn giản, sử dụng chỉnh sửa địa chỉ và sử dụng 1 địa chỉ ảnh hưởng
OP
R
X
A
01
2
3
468
Vd: lệnh được làm rõ như sau:
Cộng nội dung của thanh ghi 3 trong trường X (trường thanh ghi chỉ thị mục lục) trong lệnh đến địa chỉ. Tổng là địa chỉ được 8d
Chuyển nội dung của địa chỉ effective đến thanh ghi 2. Nếu nội dung của thanh ghi 3 là 11 thì địa chỉ effective sẽ là 468 +11=479. Nội dung ở địa chỉ 479 sẽ chuyển đến thanh ghi 2 bởi cái lệnh này.
Việc lập bảng chỉ mục lục có thể đựơc sử dụng với các lệnh: cộng, trừ, nhân, chia. Bảng chỉ thị lệnh có nghĩa: “thêm vào nội dung của thanh ghi 3 nội dung của địa chỉ nhớ (643+nội dung của thanh ghi 4)
OP
R
X
A
02
3
4
643
Nếu thanh ghi 4 có s trong nó thì nội dung của địa chỉ nhớ 648 sẽ đựơc thêm vào thanh ghi 3”
Một trong những cách sử dụng chính của 1 danh mục thanh ghi là để điều chỉnh dể dàng việc lặp lại và vận dụng những ký hiệu của vectơ và ma trận. Theo cách đó việc lảm giảm bớt (trừ 1) và thêm vào (cộng 1) vào danh mục thanh ghi đi đôi với 1 sự kiểm tra để xem xét, nếu danh mục đã được điều chỉnh về giá trị 0 thì rất dể sử dụng. Lấy vd, các lệnh có thể
OP
R
X
A
19
0
2
008
OP
R
X
A
20
3
2
120
được làm sáng tỏ như: “làm giảm bớt một ở thanh ghi 2 và nhảy đến 008 nếu giá trị danh mục thanh ghi là 0, ngược lại di chuyển đến lệnh kế tiếp trong chuỗi”. Lệnh có thể làm sáng tỏ “làm tăng thêm một ở thanh ghi 2 và nhảy đến 120. Nếu danh mục thanh ghi có giá trị là nội dung của thanh ghi 3”
Việc sử dụng một số đặc tính mới, chúng ta đã ghi lại được chương trình của bảng 8.1 và đã đưa nó vào trong bảng 8.2. Với cách thức trên, chương trình sẽ trở nên ngắn hơn và dễ dàng hơn để hiểu và sẽ giúp cho việc thực thi nhanh hơn.
Đặc tính quan trong khác được giới thiệu trong bộ xử lý máy tính việc sử dụng thanh ghi cơ sở trong một lệnh (chỉ thị), và một đặc tính được biết như sự lặp địa chỉ gián tiếp.
Địa chỉ của lệnh
Lệnh máy
Giải thích lệnh
OP
R
X
Địa chỉ
000
21
2
0
009
C(Reg 2)← 009.index I in Reg 2
001
21
3
0
000
C(Reg3)← 0. Reg 3 used for s
002
A
0
2
100
Mem (100+Reg (2)) ← input =ai
003
2
23
2
100
C(Reg 3) ← Mem(100 = Reg(2) + C(Reg 3) = a; +s
004
19
0
2
006
C(Reg 2) ← C(Reg 2) -1 If C(Reg 2) =0 go to 006
005
7
0
0
002
Go to 2. (repeat loop)
006
6
3
0
099
Mem (99) ← C(Reg 3) =S
007
B
0
0
099
Rint S
008
F
0
0
000
Stop
Bảng 8.2
Thanh ghi cơ sở: 3 con số trong hệ 16 torng địa chỉ của trường HYPCOM có thể đựơc sử dụng đến vị trí 4096. Bộ nhớ lớn có thể được đề địa chỉ bởi sự tăng dần của trường A. Tuy nhiên, nó không được thừa nhận như mỗi lệnh ( chỉ thị) sẽ trở thành dài hơn. Trong một lệnh được sử dụng một thanh ghi, nội dung của danh mục thanh ghi đựơc thêm trường địa chỉ trong lệnh để tạo 1 địa chỉ hiệu quả. Nếu thanh ghi đang xem chứa 8 số hệ 16 (32 bit) thì địa chỉ hiệu quả có thể lớn hơn 32 bit đưa cho một địa chỉ trống (số chỉ vị trí địa chỉ) của 22=4 Giga words (1 Giga =109 )! Đây là một địa chỉ trống khổng lồ. Danh mục thanh ghi được đưa vào cho sự thao tác các ký hiệu chính. Mục đích của việc mở rộng địa chỉ trống, thêm thanh ghi được gọi là một thanh ghi cơ sở được giới thiệu trong một vài máy tính. VD Cấu trúc lệnh HYPCOM có thể thay đổi như:
OP
R
X
A
HH→
← H →
←H→
←HHH→
Ở đó trường B được quy cho là một địa chỉ thanh ghi để được lấy như một thanh ghi cơ sở. Địa chỉ hiệu quả được tình: A+C (RegX) + C(RegB) chỉ, thanh ghi cơ sở là hệ quả trong việc xác định lại chương trình. Giả định một chương trình giữ địa chỉ từ 008-103 torng bộ nhớ, và tại thời điểm khác nó đựơc di chuyển từ 408-503. Kiểu xây dựng lại này là một yêu cầu khi có nhiều hơn một chương trình đồng thời đựơc lưu trữ trong bộ nhớ trong nhiều chương trình. Thừa nhận rằng một chương trình được viết ở thanh ghi 8 như thanh ghi cơ sở với nội dung của thanh ghi 8 đến 400, chương trình sẽ được thay đổi tất cả vị trí đến bộ nhớ lien quan đến nó giữa 408 và 503
Địa chỉ gián tiếp: trong địa chỉ gián tiếp, địa chỉ của một toán hạng được đưa vào trường A. Trong địa chỉ gián tiếp, trường A được chỉ định địa chỉ nơi mà nên tìm lấy địa chỉ của một toàn hạng. Nó có phần nào giống như đi tìm 1 tài sản trong một địa chỉ nhưng nếu lấy tại địa chỉ không có nhưng địa chỉ khác nơi mà bạn tìm được tài sản. Theo cách đó, nếu chúng ta có được một lệnh (của OP mã là 31): “di chuyển nội dung của bộ nhớ đến thanh ghi gián tiếp” nó sẽ được hiệu quả như bày tỏ vị trí thấp
Lênh:
OP
R
X
A
31
2
0
468
Reg 2 ←MEM (MEM(468))
If MEM (468) =862 then Reg 2 ← MEM(862)
Địa chỉ gián tiếp rất hiệu quả trong lập trình truy cập vào một bảng có thể thay đổi đựơc vị trí trong bộ nhớ. Nó cũng hiệu quả trong giới hạn kết thúc một thủ tục con khi một thủ tục con được gọi
8.7 MÁY ĐIỆN TOÁN CÓ BỘ CHỈ THỊ RÚT GỌN.
MỤC LỤC
Trong chöông tröôùc chung ta thaáy caùc leänh ñöôïc coäng vaøo CPU nhö theá naøo vôùi chöông trình ñôn giaûn.Nhö vaäy CPU nhanh hôn so vôùi boä nhô,noù giöõ nhieàu thao taùc trong CPU khaéc nhau trong boä nhôù.
Trong söï phaùt trieån caáu truùc cuûa CPU laø chieác maùy coù leänh nhoû nhö oå cöùng thì ñaét vaø khoù xaây döïng ..Nhieàu chöông trình nhö laøFORTRANvaø COBOL.
CPU cung cheá taïo caùc caâu leänh.Neáu caùc leänh daøi vaø ngaén thi vieâc thöïc hien nhanh vaø ñôn giaûn.
Toång soá leänh trong taäp vaø trong CPU cuûa RÍT laø:
Ruùt goïn soá caùc leänh vaø cho daøi ra
Ruùt coin söï khaùc bieät giöõa boä nhôù vaø truy suaát
Khi moät leänh ñöôïc thi haønh,goàm caùc böôùc sau:
Ruùt leänh tö boä nhôù
Maõ hoùa caùc leänh ñeå dòch
Ruùt thao tac töø moät thanh ghi
Thi haønh leänh
Löu tröõ keát quaû trong thanh ghi.
Thao taùc vaø Keát quaû löu tröõ trong thanh ghi vaãm hoùavongf troøn ñôn giaûn.Moãi böôùc ñeàu laømvaif laàn goings nhau.
8.8 BỘ NHỚ ẢO.
MỤC LỤC
Trong chương 4 chúng ta đã thấy có nhiều kiểu bộ nhớ sử dụng trong những máy tính có tốc độ khác nhau. Tốc độ giảm chúng là: thanh ghi nơii lưu trữ, bộ nhớ chính MOS, đĩa cứng, đĩa mềm và CD ROM. Trong cấu hình máy tính ngoài bộ truy xuất ngẫu nhiên còn có bộ nhớ đĩa và CD ROM. Máy tính ngày nay bộ nhớ đĩa lớn hơn nhiều bộ nhớ chính. VD: cấu hình một máy tính nhỏ, bộ nhớ chính có 32 MB và bộ nhớ đĩa 8 GB. Đĩa này thường sử dụng để lưu trữ chương trình và files dữ liệu sử dụng.
Chúng ta đã thấy trong phần cuối rằng việc sử dụng thanh ghi cơ bản cung cấp một địa chỉ bộ nhớ trống lớn. VD: chúng ta đã thấy với một địa chỉ 32 bit, nó có thể điều chỉnh 4 Giga từ. Như vậy một bộ nhớ truy xuất vật lý lớn sử dụng công nghệ CMOS thì có giá rất cao. Như vậy một bộ nhớ đãi lớn qua tay người khác thì có sẵn giá phải chăng. Vì thế nó đáng là sự khao khát nếu chúng ta có khả năng sử dụng bộ nhớ đĩa mặt dù nó là một phần của bộ nhớ chính. Thực hiện này đựơc biết là bộ nhớ ảo.
Cái mà có thể làm mất bộ nhớ ảo như một hệ thống cấp bậc của hai hệ thống bộ nhớ. Một trong chúng là giá thấp, dung lượng cao, tốc độ hệ thống chậm và cái khác là giá cao, dung lượng thấp, tốc độ hệ thống cao. Những hệ thống hai bộ nhớ thì quản lý bằng chương trình máy tính như một đường mà nó hiện ra để người dùng muốn 1 đơn giản, rộng, địa chỉ, và bộ nhớ chính. Có hai lý do chính tại sao bộ nhớ ảo sử dụng; chúng là:
cung cấp cho người dùng thuận lợi để sử dụng một địa chỉ bộ nhớ trống lớn ngoài lỗi về bộ nhớ chính vật lý giới hạn rộng
để cho phép trong một hệ thống đa chương trình, chia sẻ khoảng trống bộ nhớ một cách hiệu quả trong số người dùng kinh tế khác
để hiểu hệ thống bộ nhớ ảo chúng ta phải phân biệt giữa địa chỉ tượng trưng xuất hiện trong chương trình gọi là địa chỉ trống hợp lý L. Và địa chỉ có sẵn thực sự có trong bộ nhớ chính gọi là địa chỉ trống vật lý P. L thường rộng hơn P vì kỹ thuật bộ nhớ ảo. Thời gian tiến hành mỗi chương trình địa chỉ hợp lý l trong L thì chuyển đến 1 địa chỉ p trong P. Vì vậy cơ cấu mặt nạ địa chỉ cần có sự chuyển từ l-p
Nếu nó tìm được cái mục đích rõ mà không có trong bộ nhớ chính, tiến hành một chương trình sẽ bị hoãn lại trong khi mục thích ứng được chuyển đến bộ nhớ chính từ bộ nhớ đĩa. Để thực hiện một hệ thống bộ nhớ ảo, bộ nhớ đựơc chia thành những Fixed rộng gần nhau gọi là luồng trang. Chương trình cũng chia thành những mảng rộng giống nhau gọi là những trang.
Thời gian xử lý sử dụng địa chỉ hợp lý để hạn chế mục đến bộ nhớ. Mỗi trang địa chỉ đựơc duy trì bởi hệ thống mà có thông tin của mỗi trang trên mỗi chương trình thì trong bộ nhớ chính tại một thới điểm. Trứơc khi hạn chế một từ, thuật toán kiểm tra bảng trang để thấy nếu hạn chế từ thì trong trang của bộ nhớ chính nếu nó không có trong bộ nhớ chính của trang mặc định thì thông báo để tìm thấy. Chương trình sau khi hoãn lại tới khi trang yêu cầu được chuyển đến bộ nhớ chính từ bộ nhớ đĩa. Bảng trang thì tiếp tục được cập nhật. Trong một hệ thống đa chương trình, xử lý sẽ chuyển đến những chương trình khác trong khi một trang đựơc chuyển đến từ bộ nhớ chính. Trang chuyển xuất hiện bằng I/O giữa đĩa và bộ nhớ chíonh và điều khiển bởi lệnh DMA
Một thuật toán gọi là một trang thuật toán chính xác thì được sử dụng để trao đổi chương trình giữa bộ nhớ chính và bộ nhớ đĩa thứ hai. Nó dùng phương pháp giải thích rộng hơn trong bộ nhân như dưới đây:
SUMMARY.
MỤC LỤC
1. Caáu truùc maùy tính ñöôïc phoái hôïp giöõa thieát keá vaø ñieàu haønh cuûa toå chöùc caùc thieát bò trong maùy tính nhö thieát bò I/O (thieát bò xuaát nhaäp ), boä nhôù vaø boä xöû lyù vaø söû duïng moät caùch toái öu heä thoáng chaïy chöông trình
2. Boä xöû lyù coù theå thi haønh caùc leänh nhanh hôn boä nhôù chính 10 laàn vaø hôn caùc thieát bò xuaát nhaäp 1000 laàn . Thaùch thöùc trong thieát keá maùy tính phaûi phaùt minh ra phaàn meàm vaø phaàn cöùng vôùi muïc tieâu laøm cho taát caû caùc ñôn vò cuûa maùy tính hoaït ñoäng tích cöïc ñoàng thôøi thöïc hieän nhieàu nhieäm vuï höõu ích.
3. caùc ñôn vò rieâng leõ trong maùy tính ñöôïc keát noùi vôùi caùc Bus. Taäp hôïp nhöõng ñöôøng daây vaän chuyeån moät nhoùm caùc Bit cuøng moät luùc vaø keát noái heä thoáng ñieàu khieån ñöôïc goïi laø Bus( nhöõng thoâng tin chuyeån qua laïi giöõa caùc linh kieän thoâng qua moät maïch löôùi goïi laø caùc Bus.
4. Trong moät traät töï saép xeáp, thieát bi I/O ñöôïc keát noái vôùi boä xöû lyù bôûi moät thieát bò Bus ñòa chæ, moät Bus döõ lieäu vaø moät Bus ñieàu khieån. Trong tröôøng hôïp naøy thoâng tin ñeán vaø ñi qua boä nhôù ñöôïc gôûi qua thanh ghi boä xöû lyù tôùi thieát bò xuaát nhaäp. Ñaây khoâng phaûi laø söï keá noái mong muoán khi thieát bò xuaát, nhaäp chaäm hôn moät ngaøn laàn so vôùi boä xöû lyù.
5. Trong moät saép xeáp khaùc, thieát bò xuaát, nhaäp ñöôïc keát noái vôùi boä nhôù thoâng qua moät DMA( tröïc tray boä nhôù) khôùp noái Logic söû duïng moät Bus döõ lieäu vaø Bus ñòa chæ boä nhôù. Boä xöû lyù cuõng ñöôïc keát noái vôùi thieát bò xuaát nhaäp qua moät Bus ñòa chæ boä nhôù, Bus ñòa chæ thieát bò xuaát, nhaäp vaø Bus ñò chæ. Khi moät leänh xuaát, nhaäp ñöôïc gôûi tôùi moät thieát bò döõ lieäu seõ ñöôïc truyeàn tröïc tieáp töø thieát bò xuaát nhaäp tôùi boä nhôù qua DMA maø khoâng caàn söû duïng tôùi thanh ghi boä xöû lyù
6. Trong moät heä thoáng ñôn Bus, thieát bò xuaát, nhaäp, boä xöû lyù vaø boä nhôù duøng chung moät heä thoáng Bus coâng coäng. Ñieàu naøy cho pheùp nhöõng thieát bò xuaát nhaäp löu tröõ trong cuøng moät con ñöôøng nhö ñòa chæ boä nhôù.. ..
7. Ñeå giaûm bôùt vieäc toác ñoä giöõa boä xöû lyù vaø boä nhôù khoâng khôùp nhau, moät boä nhôù truy caäp nhanh ñöôïc ñaït giöõa boä nhôù vaø boä xöû lyù. Moât Cache laø moät boä nhôù nhoû nhöng coù toác ñoä nhanh. Khi haàu heát caùc chöông trình keá tieáp nhau thì haàu heát söï truy nhaäp seõ haïn cheá nhöõng töø keá tieáp nhoû trng boä nhôù. Vuøng truy nhaäp cuûa boä nhôù ñöôïc söû duïng noái maùy trong thieát keá cuûa moät Cache. Thaønh phaàn cuûa moät chöông trìng ñang hieän haønh seõ mang ñeán Cache hoaøn toaøn töï ñoäng bôûi phaàn cöùng. Vì vaäy haàu heát caùc leänh ñöôïc yeâu caàu seõ ôû trong moät Cache vaø vì vaäy toác ñoä cuûa boä nhôù seõ ñöôïc taêng theâm.
Ngoaøi ra moät Cache khi löu tröõ nhöõng leänh(ñöôïc goïi laø leänh Cache) nhöõng Cache khaùc cung caáp ñeå löu tröõ döõ lieäu ñeå xöû lyù baèng nhöõng leänh. Ñieàu naøy goïi laø moät cache döõ lieäu.
8. Boä nhôù xen vaøo ñöôïc söû duïng ñeå tìm kieám ñoàng thôøi moät soá töø töø moät taäp hôïp boä nhôù tieâu chuaån. Ñieàu naøy giaûm bôùt thôøi gian truy nhaâp töø.
9. Döõ lieäu töø thieát bò xuaát, nhaäp coù theå truyeàn töø boä nhôù qua moät thanh ghi boä xöû lyù baèng caùch söû duïng chöông trình ñieàu khieån ngaét, truyeàn döõ lieäu. Trong söï saép xeáp naøy, moät leäch xuaát, nhaäp ñöôïc ñöa ra bôûi boä xöû lyù tröôùc khi döõ lieäu ñöôïc yeâu caàu. Khi ñöõ lieäu ñöôïc dòch hôïp bôûi khôùp noái xuaát, nhaäp Logic, noù seõ gôûi moät tín hieäu ngaét tôùi boä xöû lyù. Boä xöû lyù seõ ñình chæ nhieäm vuï hieän taïi, nhaân döõ lieäu vaø ñaët noù vaøo trong boä nhôù.
10. Ñöôøng truyeàn DMA, vieäc ngaét seõ ñöôïc truyeàn bôûi keát noái xuaát, nhaäp tôùi boä xöû lyù khi döõ lieäu saün saøn ñeå truyeàn. Boä xöû lyù cho moät chu kyø boä nhôù, döõ lieäu vaø nhöõng Bus ñòa chæ tôùi khôùp noái DMA ñeå cho pheùp noù truyeàn döõ lieäu ñeán boä nhôù DMA. Vieäc truyeàn döõ lieäu cuûa DMA nhanh hôn vaø tieän lôïi hôn vieäc söû duïng chöông trình ñieàu khieån truyeàn döõ lieäu.
11. Khi coù nhieàu thieát bò xuaát, nhaäp trong heä thoáng, ôû ñoù coù theå coù moät soá söï ngaét. Moät heä thoáng seõ ñöôïc thieát laäp ñeå xaùc nhaän vieäc ngaét nguoàn vaø choïn ra nhöõng hoaït ñoäng thích hôïp döa treân söï öu tieân cuûa thieát bò. Phöông aùn keát hôïp cuûa phaàn meàm vaø phaàn cöùng cuõng thöôøng ñöôïc söû duïng.
12. Baãy laø moät beân trong vieäc ngaét phaùt sinh bôûi loãi cuûa ngöôøi söû duïng chöông trình nhö thöùc chi cho khoâng. Loãi phaàn cöùng khoâng theå khoâi phuïc ñöôïc cuõng baùo tröôùc nhöõng caùi baãy.
13. Xöû lyù da chöông laø moät caáu truùc söû duïng caû phaàn meàm vaø phaàn cöùng ñeå giaûi quyeát vaán ñeà toác ñoä khoâng khôùp giöõa boä xöû lyù vaø thieát bò xuaát, nhaäp trong giaûi phaùp naøy moät soá chöông trình ñoàng thôøi ñöôïc giöõ laïi trong boä nhôù. Chuùng ñöôïc xeáp ñaët chöông trình theo caùch: khi moät chöông trình thöï c hieän leäch xuaát, nhaâp thì moät chöông trình khaùc söû duïng boä xöû lyù. Nhö vaäy caû thieát bò xuaát, nhaäp vaø boä xöû lyù cuøng song song hoaït ñoäng. Söï pha troän giöõa cöôøng ñoä xuaát, nhaäp vaø cöôøng ñoä xöû lyù ñaõ ñaùp öùng moät caùc thaønh coâng vieäc thi haønh yù töôûng naøy. Ngoaøi ra söï giaùm saùt maõ hoaù moïi boä nhôù vaät lyù chính lôùn, moät oå ñóa lôùn vaø moät vuøng baûo veä boä nhôù cuõng laø ñieàu coát yeáu.
14. Boä xöû lyù ñöôïc thieát keá vôùi muïc tieâu keùp vöøa chaïy chöông trình deã daøng, vöøa ngaên caûn vieäc treã thoâng tin töø boä xöû lyù ñeán boä nhôù.
15. Döïa vaøo ñaëc tính ñaëc tröng trong boä xöû lyù ñeå ruùt goïn thoâng tin boä nhôù bao goàm moät thanh ghi vaïn naêng vaø ñòa chæ tröïc tieáp. Sau ñoù, döõ lieäu seõ söû duïng tröôøng ñòa chæ cuûa leänh.
REVIEW QUESTIONS
MỤC LỤC
Cái không tương xứng giữa tốc độ, sự khác nhau giữa các bộ phận (thiết bị) của máy vi tính là gì?
Thiết bị nhanh nhất và thiết bị có tốc độ chậm nhất của máy vi tính là gì? Thứ tự của nó, tầm quan trọng, sự khác biệt của chúng?
Định nghĩa đướng truyền (tuyến)
Tuyến sử dụng con đường kết nối I/O trong các thiết bị của bộ xử lý là gì?
Hàm nào sử dụng con đường kết nối I/O các thiết bị xử lý
Các tuyến nào sử dụng con đường kết nối bộ nhớ của bộ xử lý?
Tuyến điều khiển tự động kết nối I/O các thiết bị của bộ xử lý là gì?
DMA là gì? Cái hàm đó ra sao?
Không tra được??????????????????????????
Hãy thao tác xử lý chi tiết bộ nhớ bộ xử lý và cách giao tiếp
Bộ nhớ đệm là gì?
Cái quan trọng chính sử dụng bộ nhớ đệm?
8.13 Giải thích một số bộ nhớ đệm tốc độ cao rút ngắn thời gian truy xuât dữ liệu như thế nào?
8.14 Khái niệm chon vào bộ nhớ là gì?
8..15 Giải thích chỉ thị đựơc phân bố trong những bộ phận chương trình khác nhau trong bộ nhớ xen kẽ như thế nào?
8.17 Thiết bị điều khiển I/O là gì? Giải thích chức năng của nó.
8.18 Sự hoà hợp của thiết bị xuất và thiết bị nhập? Giải thích cơ chế hoạt động của nó
8.19 Hãy chỉ ra một quy luật tính toán dùng trong chương trình điều khiển chuyển giao I/O?
8.20 Nếu một dữ liệu được viết từ bộ nhớ đến thiết bị xuất, thiết bị xuất được làm bởi chương trình chuyển giao điều khiển qua một thanh ghi bộ nhớ như thế nào?
8.21 Tín hiệu đức quảng là gì? Giải thích tại sao một máy xử lý có thể mang lại ưu thế cho một tín hiệu đức quãng để làm giảm thời gian chờ đợi để đọc dữ liệu nhập?
8.22 Giải thích có bao nhiêu dữ liệu được đọc từ bộ nhớ đến thiết bị nhập làm việc trực tiếp với trực tri bộ nhớ
8.23 Sự lấy trộm chu kỳ là gì?
8.24 Dữ liệu được viết trên thiết bị xuất dùng giao diện trực truy bộ nhớ là như thế nào?
8.25 Thuận lợi của chương trình chuyển giao trực truy bộ nhớ cũng như chương trình điều khiển chuyển giao dữ liệu đựơc nhận biết ký tự bằng quang học là gì?
8.26 Dịch vụ ngắt được cài sẵn là gì?
8.27 Giải thích về bộ xử lý dịch vụ ngắt?
8.28 Điểm khác giữa lệnh ngoại trú và lệnh ngoại trú ngắt là gì?
8.29 Phần mềm ứng dụng bắt lỗi là gì?
Điểm khác của điều kiện bắt lỗi với khả năng xảy ra của một máy tính là gì?
8.30 Giải thích như thế nào về việc tạm ngưng nhiều khả năng quản lý bộ nhớ bởi phần mềm được lập trình sẵn?
8.31 Thiết bị kiểm soát chương trình là gì? Khi nào nó được sử dụng.
8.32 Giải thích như thế nào về sự tạm ngưng nhiều khả năng quản lý bộ nhớ của phần cứng đặc biệt?
Sự ưu tiên ngắt tạm ngưng quản lý bộ nhớ khác của phương pháp này như thế nào?
8.33 Thiết bị dừng ưu tiên trong phần mềm dừng bảo quảng gián đoạn được điều khiển như thế nào?
8.34 Đa thảo chương là gì? Phần mềm của đa thảo chương là gì?
8.35 Đặc điểm phần cứng đặc biệt cần để giúp đỡ đa thảo chương trong hệ thống máy tính là gì?
8.36 Những điều kiện sẽ được thoả mãn để đáp ứng yêu cầu khách quan của đa thảo chương.
8.37 Chức năng của một bộ giảm thị đa thảo chương là gì?
8.38 Viết một chương trình ngôn ngữ máy cho HYPCOM để cộng hai vectơ mỗi vectơ có 8 bộ phận
8.39 Giải thích sự cần thiết của việc thay đổi đĩa chỉ trong một chương trình ngôn ngữ máy
8.40 Viết lại chương trình trong bài tập 8.38 sử dụng để chỉnh sữa HYPCOM để tìm tích vô hướng của hai vectơ gồm 8 bộ phận
8.42 mục đích của địa chỉ trực tiếp là gì?
8.43 Mục đích của thanh thi chỉ số là gi?
8.44 Mục đích của việc giới thiệu một số thanh ghi đa năng trong bộ xử lý là gì?
8.45 các lệnh nào được torng việc thực hiện cho vùng lặp?
8.46 Một thang ghi sơ sở là gì?
8.47 Sự khác biệt giữa thanh ghi chỉ số và thanh ghi cơ sở là gì?
8.48 Thanh ghi cơ sở sử dụng cái gì là chủ yếu?
8.49 chương trình tái định vị là gì? Thành tích của thanh ghi cơ sở sử dụng chương trình tái định vị như thế nào?
8.50 Định địa chỉ gián tiếp là gì? Cái gì sử dụng như là địa chỉ?
8.51 Bạn hiểu thuật ngữ cấu trúc RISC (máy tính có bộ chỉ thị rút ngắn) và CISC (máy tính có bộ lệnh đầy đủ)
8.54 Bạn hiểu như thế nào về thuật ngữ sâu vô hướng của máy tính có bộ lệnh rút gọn
8.55 Định nghĩa bộ nhớ ảo?
8.56 Mục tiêu của bộ nhớ ảo tương lai trong máy tính là gì?
8.57 Sự khác biệt giữa địa chỉ luận lý và địa chỉ vật lý là gì?
8.58 Bạn hiểu như thế nào về thuật ngữ “khung trang”
8.59 Một trang của chương trình là gì?
8.60 Giải thích một thuật chuyển trang theo yêu cầu làm việc như thế nào?
8.61 Thế nào là chuyển trang theo yêu cầu
8.62 Phương pháp của một thanh ghi cơ sở trong việc cài đặt một hệ thống bộ nhớ ảo là gì?
8.63 Một trang địa chỉ băng là gì? Nó được sử dụng trong cài đặt một hệ thống bộ nhớ ảo như thế nào?
8.64 Sự khác và giống nhau của bộ nhớ ẩn và bộ nhớ ảo là gì?
CHƯƠNG 9: NGÔN NGỮ MÁY TÍNH.
9.1
9.2
9.3
9.4
9.5
9.6
SUMMARY.
REVIEW QUESTIONS.
Các file đính kèm theo tài liệu này:
- FUNDAMENTAL OF COMPUTER (Bản dịch Tiếng Việt Full).doc