Nguyên văn bởi hithere123
Xem bài viết
qua tìm hiểu một số tài liệu! điển hình là cuốn "computer organization and design 4th ed d. a. patterson and j. l. hennessy" em có những nhận định như sau:
- Sơ qua về cpu em đang design:
cpu em đang thiết kế là single-cycle 32bit( sau đó mới chuyển qua thiết kế pipeline). Các khối chính là alu, registerfile, control...cả bộ nhớ lệnh và bộ nhớ dữ liệu cũng được thiết kế( trên quartus) đi kèm để nạp lệnh và mô phỏng trên model sim.
- không biết có bác nào trong này chuyên sâu về mảng này không. Cpu tụi em thiết kế có tốc độ xử lý khoảng
1/(8000*e12)=0.125GH. ( #8000 là chu kì xung clock )
với cpu single-cycle thì mỗi chu kỳ xung clock cpu thực hiện xong một lệnh.
+ Nhận định của em( ko biết đúng không ) : Tại sao cpu single-cycle lại có tốc độ xử lý chậm như vậy?
Rõ ràng nếu ta tăng tần số của xung clock thì tốc độ xử lý sẽ tăng. Đến đây em đã tang tần số lên thì ôi thôi rồi : độ trễ của chuỗi các công logic tổng cộng là khá lớn khiến lệnh này chưa kịp thực hiện xong thì lệnh khác đã ào tới khiến không lệnh nào thực thi được.
=> Cuối cùng tốc độ xử lý của cpu single cycle thấp là do dộ trễ của chuỗi các cổng logic. Nó giới hạn tần số của xung clock đưa vào.
- pipeline là giải pháp cho trường hợp này . pipeline chia chuỗi công logic của cpu thành các tầng( thường là 4-5 tầng gì đấy )
khi phân chia tâng cho cpu, thì dộ trễ mỗi cổng là thấp hơn, kết hợp với sự phối hợp của các khối điều khiển xung clock luan phiên cho các tầng nên tốc độ xử lý lệnh sẽ tăng lên.
+ nhân định thấy khi số tầng càng nhiều thì tốc độ xử lý sẽ nhanh hơn một cách tỉ lệ. Ví dụ với pipeline 5 tầng thì tốc độ sẽ tăng lên 5 lần so với cpu single-cycle( tất nhiên phải cấp xung clock 5 lân clock ban đầu).
=> cuối cùng : làm thế nào để tăng tốc cpu hơn nữa trong tương lai:
thứ nhất : Hiển nhiên là thiết kế cpu tương đương càng ít cổng logic càng tốt , khi đó độ trễ của chuỗi cổng logic sẽ giảm nên tăng f của clock, tăng tốc độ xử lý của cpu.
thứ 2 : tâng số tầng cpu (hồi trước em nhớ đọc số liệu của con card màn hình rời của em thấy gpu của nó 12 tầng. vãi đạn) . Vì tăng số tầng thì tốc độ tăng tỉ lệ.
thứ 3 : cách gián tiếp : tăng độ dài lệnh lên nhiều bit hơn nữa. ví dụ lên 64 bit, 128 bit. khi đó tập lệnh sẽ là nhiều lệnh nhất có thể.
( ví dụ bạn thực hiện chương trình nào đó cần tới 5 lệnh 32 bit, thì trên 64 bit còn 2 lệnh, hoặc trên 128 bit chỉ còn 1 lệnh, do đó chương trình thực thi nhanh hơn )
thứ 4 : Phát triển một ngôn ngữ mới ( improve từ MIPS chẳng hạn ) mà ngôn ngữ đó cho ra kiến trúc cpu tương đương đơn giản hơn, thực thi nhanh hơn. (cái này phải thánh à nha hì hì)
thứ 5 : gián tiếp của gián tiếp : tăng dung lượng cache, ... ram, thay hdd bằng ssd...v.v
trên là những nhận định của em, chút chia sẽ. ko biết cpu mới nhất hiện nay có mấy tầng pipeline nhỉ ?
Em biết có một số bác chuyên sâu về mảng này? mong các bác chia sẽ những kiến thức của các cpu mới nhất hiện nay.
Bên ICDREC có design thành công lần đầu tiên tại việt nam của người việt nam một chú vi điều khiển microprocessor "32-bit RISC VN1632"
hàng đây: ICDREC website
Em muốn cập nhật những công nghệ mới nhất của các vi xử lý hiện nay dùng công nghệ gì ? làm sao họ gia tăng được tốc độ xử lý của cpu nhiều đến thế? rồi khái niệm 2 nhân, 4 nhân, 6 nhân là sao? .....
Thành thật khai với các bác là em muốn phát triển hướng đi mới để gia tăng tốc độ xử lý của cpu. từ đó xậy dựng kiến trúc cpu mới để đánh đấu với bọn tây các bác ạ. hì hì .
Em maĩ chém gió quá các bác nhỉ hề hề
Comment