Originally posted by 08520229
View Post
Announcement
Collapse
No announcement yet.
[Hỏi] Bài tập Kiến Trúc Máy Tính có lời giải.
Collapse
X
-
Originally posted by 11520549 View Posthình bài đó nè anh.[ATTACH=CONFIG]8427[/ATTACH]
Thông thường (cái này là dựa trên kinh nghiệm với mức độ hiểu biết của mình) thì thanh ghi MAR và MDR chỉ là hai thanh ghi trong tập các thanh ghi của bộ xử lý thôi ...nhưng đây là các bạn học lý thuyết nên mình không chắc.... phải có cái hình hệ thống mới thấy đượcLast edited by 08520229; 22-06-2013, 01:09.Một khẩu súng giữ hai trời Nam Bắc,
Một dấu chân in màu đất hai miền.
------------------------------------------------------
Comment
-
Originally posted by 08520229 View Postđã giải thích ở trên nhóe :3
đoạn này mình hiểu nhầm cái hệ thống --> quên nó điLast edited by 11520549; 22-06-2013, 01:54.
Comment
-
Originally posted by 11520549 View Postem làm phiền anh thêm 1 chút, bài này là không cần gán giá trị thanh ghi MDR<-- M[MAR] ạ.nếu không gán giá trị thì hệ thống làm cách nào biết được giá trị của thanh ghi MDR ạ
Giải thích sơ qua hoạt động đọc/ghi memory chú nha
Một cái memory cơ bản sẽ có
Input ports: Address, control signals(output enable, chip select, read/write)
Inout ports: Data (inout có nghĩa là cái cổng đó vừa có thể nhập, vứa có thể xuất)
Do đó quá trình đọc sẽ bao gồm 3 bước
B1 : Đưa địa chỉ đến port Address
B2 : Điều khiển Control Signals để đạt được yêu cầu mong muốn (đọc/ghi)
B3 : Đọc dữ liệu từ port Data.
Do đó Lệnh MDR= M(MAR)... thực tế là quá trình điều khiển Control Signals, để lấy DATA tương ứng với ADDRESS đưa vào
Lúc nãy mình làm theo thói quen... tức là mình sẽ làm B1 và B2 cùng một lượt (vừa đưa địa chỉ vừa điều khiển control signal) khi đó dữ liệu sẽ tự load vào MDR
Nhưng ngồi nghĩ lại... thì dùng MDR=M(MAR) như bạn thì an toàn hơn, vì vi lệnh là đơn vị lệnh nhỏ nhất cho nên nếu gộp chung lại như ở trên thì có vẻ cũng chưa ổn lắm. Với lại điều này chỉ đúng cho quá trình đọc, còn quá trình ghi thì phải có đủ MDR và MAR rồi mới điều khiển control signals được. Nên có thêm MDR=M(MAR) thì hợp lý hơn. Chỗ này bạn xem lại bài giải của thầy, ở trường hợp one-bus/two-bus thử... nếu có xài MDR <- M(MAR) thì bạn nên thêm vào cho an toàn
PS: xin lỗi bạn giải bài này ở trên nhá... bạn làm đúng ùi udency:Attached FilesLast edited by 08520229; 22-06-2013, 12:13.Một khẩu súng giữ hai trời Nam Bắc,
Một dấu chân in màu đất hai miền.
------------------------------------------------------
Comment
-
Originally posted by 08520229 View Posthì hì cảm ơn câu hỏi của bạn ...
Giải thích sơ qua hoạt động đọc/ghi memory chú nha
Một cái memory cơ bản sẽ có
Input ports: Address, control signals(output enable, chip select, read/write)
Inout ports: Data (inout có nghĩa là cái cổng đó vừa có thể nhập, vứa có thể xuất)
Do đó quá trình đọc/ghi sẽ bao gồm 3 bước
B1 : Đưa địa chỉ đến port Address
B2 : Điều khiển Control Signals để đạt được yêu cầu mong muốn (đọc/ghi)
B3 : Đọc dữ liệu từ port Data.
Do đó Lệnh MDR= M(MAR)... thực tế là quá trình điều khiển Control Signals, để lấy DATA tương ứng với ADDRESS đưa vào
Lúc nãy mình làm theo thói quen... tức là mình sẽ làm B1 và B2 cùng một lượt (vừa đưa địa chỉ vừa điều khiển control signal) khi đó dữ liệu sẽ tự load vào MDR
Nhưng ngồi nghĩ lại... thì dùng MDR=M(MAR) như bạn thì an toàn hơn, vì vi lệnh là đơn vị lệnh nhỏ nhất cho nên nếu gộp chung lại như ở trên thì có vẻ cũng chưa ổn lắm. Chỗ này bạn xem lại bài giải của thầy, ở trường hợp one-bus/two-bus thử... nếu có xài MDR <- M(MAR) thì bạn nên thêm vào cho an toàn
PS: xin lỗi bạn giải bài này ở trên nhá... bạn làm đúng ùi udency:
Comment
-
Originally posted by 08520229 View PostThằng nào đồn thế... anh mà biết được anh đập chít... dám nói giảm lương của anh xuống à :boss:
đá lên nhân tiện chiều thi ktmt hê hêBe different and always different
http://archlinuxvn.org/
http://theslinux.org
http://lab.infosec.xyz
Comment
Comment