If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
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:
em 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 ạ
hì 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 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:
đoạn này mình hiểu nhầm cái hệ thống --> quên nó đi
em 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 ạ
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 được
đoạn này mình hiểu nhầm cái hệ thống --> quên nó đi
Đó là lý do anh hỏi em có cái hình hệ thống ở đó không đấy :baffle:
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 được
nhưng anh ơi cho em hỏi 1 chút là trên thanh ghi MAR vẫn được phép cộng ạ, em cứ nghĩ thanh ghi MAR chỉ để truy xuất bộ nhớ thôi chứ ạ.
đây hình ví dụ cho hệ thống three-bus đây
Theo đề: ADD R1, 100(R2) <=> R1 <- R1 + M[R2+100]
==> ta phải làm 2 việc
MAR = R2 + 100
R1 = MDR + R1
Theo cái hình hệ thống three-bus:
Ta có thể thực hiện MAR <- R2 + #100 : (cho R2 ra bus 1, #100 ra bus 2, điều khiển ALU thực hiện phép cộng và mở bus-in để đổ dữ liệu vào MAR)-> vi lệnh đầu tiên được thực thi
Tương tự : ta có thể thực hiện ngay R1 <- MDR + R1
Nhìn thì có vẻ đúng... nhưng em có cái hình tổ chức hệ thống đó không ???... chứ chỉ nói tổ chức máy tính three-bus như thế này thì không biết chính xác được đâu
nhưng anh ơi cho em hỏi 1 chút là trên thanh ghi MAR vẫn được phép cộng ạ, em cứ nghĩ thanh ghi MAR chỉ để truy xuất bộ nhớ thôi chứ ạ.
Nhìn thì có vẻ đúng... nhưng em có cái hình tổ chức hệ thống đó không ???... chứ chỉ nói tổ chức máy tính three-bus như thế này thì không biết chính xác được đâu
anh có thể chỉ hộ em bài này được không ạ,
Cho tổ chức máy tính three-bus Hãy viết các vi tác vụ trong giai đoạn thực thi lệnh ADD R1, 100(R2). Biết rằng R1=10, R2=200 và giá trị chứa trong ô nhớ 300 là 50.
em không biết làm câu này như thế nào ? mong anh và các bạn chỉ hộ
anh có thể chỉ hộ em bài này được không ạ,
Cho tổ chức máy tính three-bus Hãy viết các vi tác vụ trong giai đoạn thực thi lệnh ADD R1, 100(R2). Biết rằng R1=10, R2=200 và giá trị chứa trong ô nhớ 300 là 50.
em không biết làm câu này như thế nào ? mong anh và các bạn chỉ hộ
MediaFire is a simple to use free service that lets you put all your photos, documents, music, and video in a single place so you can access them anywhere and share them everywhere.
Leave a comment: