Thắc mắc về môn Kiến trúc máy tính?
Em mới được học môn Kiến trúc máy tính và cảm thấy nó có vẻ khác rất nhiều so với môn C ban đầu, vì nó không học lập trình mà có vẻ thiên về phần cứng. Tất nhiên là nó quan trọng nhưng theo tìm hiểu của em thì các tiền bối đi trước cho rằng nên học thật chắc, thật sâu, thật kỹ các môn như Cấu trúc dữ liệu giải thuật, môn Lập trình hướng đối tượng… và không thấy ( không biết em có nghe nhầm không ) nhắc đến môn KTMT. Phải chăng nó không quan trọng tới mức ta phải đào sâu nghiên cứu về nó mà chỉ là môn học nền tảng, chỉ cần nắm chắc các kiến thức cơ bản chứ không cần học những thứ nâng cao? Mong các anh chị cho em ý kiến.
Cứ học đi, không thừa đâu. Nó sẽ liên quan đến mạng máy tính và nguyên lý hệ điều hành sau này
Cũng nên nắm qua một tẹo để biết tập lệnh CPU là gì, chương trình được nạp lên RAM thế nào, rồi gọi các địa chỉ, offset ra làm sao (nếu lập trình assembly thì nên biết cái này) …
Môn học này: có ích cho môn network, lập trình nhúng … (biết đâu sau này bạn thiết kế CPU cho Intel, hoặc các tập lệnh cho nó thì sao)
môn kiến trúc máy tính thì phải biết mấy cái:
ví dụ về cache: ví dụ duyệt từng phần tử trong mảng 2 chiều cần 2 vòng for có 2 cách: cách 1 là vòng for ngoài là duyệt theo dòng, vòng for trong là duyệt theo cột, cách 2 ngược lại: cột rồi dòng. Cách nào tốt hơn?
ví dụ về branch predictor: tìm số lớn nhất và nhỏ nhất trong mảng n số nguyên. Có 2 cách sau đây:
rõ ràng cách 2 tốn ít so sánh hơn nên sẽ lẹ hơn. Thực tế có khi ko lẹ hơn bao nhiêu (vì branch predictor)
Giải thuật chỉ là tìm thuật toán để giải quyết vấn đề, còn áp dụng thuật toán cho máy tính chạy sao cho tối ưu là chuyện khác nữa.
Môn KTMT mình học ở KHTN không hề có những kiến thức này.
Lạ nhỉ.
vi.wikipedia.org
Kiến trúc máy tính
Trong kỹ thuật máy tính, kiến trúc máy tính là thiết kế khái niệm và cấu trúc hoạt động căn bản của một hệ thống máy tính. Nó là một bản thiết kế (blueprint) mô tả có tính chất chức năng về các yêu cầu (đặc biệt là tốc độ và các kết nối tương hỗ) và những sự thi hành thiết kế cho những bộ phận khác nhau của một máy tính - tập trung chủ yếu vào việc CPU hoạt động nội tại như thế nào và truy cập các địa chỉ trong bộ nhớ bằng cách nào. Nó cũng có thể được định nghĩa như là khoa học và nghệ thuật lự...
http://sinhvienit.net/forum/giao-trinh-kien-truc-may-tinh-va-de-trac-nghiem-kien-truc-may-tinh.3419.html
nhớ hồi đó mình cũng có học qua loa mấy cái lệnh MIPS gì đó ở môn kiến trúc máy tính này mà Nhưng mà cái quan trọng nhất nên nhớ là cache, pipelining. Sau này cache sẽ được nhắc tới mọi lúc mọi nơi.