Showing posts with label kientrucmaytinh. Show all posts
Showing posts with label kientrucmaytinh. Show all posts

7/06/2021

Tổng quan cơ sở ngành khoa học máy tính - Viện CNTT&TT (Phần 2)


Trong bài viết này mình sẽ tiếp tục giới thiệu về một số phần nhỏ trong khối cơ sở ngành khoa học máy tính tại đại học bách khoa hà nội . link bài phần 1.

Sau đây mình sẽ điểm qua một số nội dung, keyword mà bạn sẽ được học mà theo mình là nên nắm chắc, các bạn có thể google để tìm hiểu. Những kiến thức cụ thể mình sẽ nói trong seri bài viết riêng về từng môn học, hy vọng được các bạn đón nhận trong tương lai.


Khối liên quan hệ thống máy tính 


Trong môn nguyên lý hệ điều hành bạn sẽ được học về các phần

    1. Tổng quan

  • Các khái niệm : Tiến trình(process), Luồng (thread), tài nguyên của máy tính, shell, system call

  • phân loại hệ điều hành : xử lý theo lô, theo thời gian, phân tán,..

  • tính chất mà một hệ điều hành cần có: tin cậy, an toàn, tổng quát theo thời gian,..

  • Cấu trúc, thành phần hệ thống : vấn đề về quản lý tiến trình, bộ nhớ, input/ output, quản lý file

    2. Quản lý tiến trình

  • về tiến trình: bài toán điều phối(dùng hàng đợi), thao tác, hợp tác(bài toán sản xuất, tiêu thụ), truyền thông(đệm, socket)

  • về luồng

  • về điều phối CPU: khái niệm trưng dụng tài nguyên, các thuật toán điều phối (SJF, FCFS, RR, )

  • tài nguyên găng và điều độ tiến trình- khái niệm và công cụ xử lý(khóa trong, test and set, đèn báo, monitor )

  • bế tắc và xử lí bế tắc :khái niệm, 4 điều kiện, phương pháp phòng ngừa(tác động 1 trên 4 điều kiện), phòng tránh(chuỗi an toàn), nhận biết và khắc phục(chỉ ra bế tắc và xử lý)

    3. Quản lí bộ nhớ

  • Tổng quan : bộ nhớ, chương trình, liến kết địa chỉ (logic- vật lí) 

  • Chiến lược tuản lí bộ nhớ: phân chương cố định, phân chương động, phân đoạn chương trình, phân trang

  • Bộ nhớ ảo, đổi trang 

    4. Quản lí file 

  • các khải niệm tổng quan , cách tổ chức tài nguyên trên đĩa(vật lí- logic )

  • các khái niệm FAT,NTFS, EXT3,..


Tiếp đến là trong môn Kiến trúc máy tính 

    1. Giới thiệu 

  • CPI

  • time CPU

  • bài tập so sánh thời gian time CPU

    2. logic số, mạch cộng 

    3. Thanh ghi, bus

  • bus address

  • databus

  • bài tập xác định bus đánh địa chỉ tối thiểu

    4. Số học máy tính

  • bài tập : biểu diễn -77 dưới dạng 8bit ?

    5. MISP

  • yêu cầu hiểu lệnh mips

  • bài tập viết chương trình bằng mips

    6. Bộ xử lí 

  • chu trình load lệnh

  • hazard

    7. Bộ nhớ máy tính

  • sự liên quan thanh ghi- bộ nhớ chính- cache- bộ nhớ ngoài

  • tổ chức bộ nhớ cache, chiến lược thay thế bộ nhớ trong cache

  • bài tập tính số bit trên địa chỉ, nằm ở băng nhớ nào,..

    8. .. mấy chương cuối hình như không thi.

Bài cung cấp cho các bạn khá nhiều keyword và khá hoa mắt rồi, các bạn có thể ghé trang Kiến trúc máy tính hoặc Nguyên lý hệ điều hành để lấy tài liệu về tự đọc nhé, tương lai thì mình sẽ có bài chi tiết viết về những môn này (cụ thể hơn là hướng dẫn giải bài tập ) nhưng bao giờ viết thì mình chưa biết :>



2/08/2021

Kiến trúc máy tính | Tài liệu, cơ sở ngành CNTT


Kiến trúc máy tính cũng là một trong các môn cơ sở ngành quan trọng, môn học đề cập tới cơ sở về kiến trúc tập lệnh và tổ chức của máy tính, các vấn đề cơ bản trong thiết kế máy tính. Ngoài ra các bạn còn được học cơ bản về ngôn ngữ lập trình gần gũi nhất với máy tính đó là Assembly ( cụ thể là MIPS).

Học môn này cũng có khá nhiều lý thuyết nhưng khi đi thi chủ yếu là thi bài tập nên nếu học để thi các bạn có thể chú trọng hơn vào các bài tập được các thầy cho ở trên lớp. Giữa kì mỗi thầy sẽ có cách thi riêng, lớp thầy Tiến sẽ thi trắc nghiệm, lớp thầy Trung thì thi tự luận,...

Mình chia sẻ tới mọi người một số tài liệu, đề thi để mọi người xem và ôn tập môn kiến trúc máy tính.

Tài liệu môn Kiến trúc máy tính :  

Ví dụ thuật toán Booth : 

nhân X với số Y là 2 số 8 bit có dấu
X = 1010 1100
Y = 1110 0111
 0000 0000 0000 0000
+0000 0101 0110 0000
-0001 0101 1000 0000
-0000 0000 1010 1100
                
  = -2^7 + 2^6 + 2^5 + 2^2 + 2^1 + 2^0
  = -2^5 + 2^3 - 2^0
             A         Q      Q-1
          --------- --------- ---
AQ(Q-1) = 0000 0000 1110 0111 0      10 --> trừ
        - 1010 1100
          0101 0100 1110 0111 0      Dich phai so hoc
          0010 1010 0111 0011 1         11 --> dich phai so hoc
          0001 0101 0011 1001 1      11 --> dich phai so hoc
          0000 1010 1001 1100 1      01 --> cong M
        + 1010 1100
      1011 0110 1001 1100 1      dich phai so hoc
          1101 1011 0100 1110 0      00 --> dich phai so hoc
          1110 1101 1010 0111 0      10 --> tru
        - 1010 1100
          0100 0001 1010 0111 0      dich phai so hoc
          0010 0000 1101 0011 1      11 --> dich phai
          0001 0000 0110 1001 1      11 --> dich phai
      0000 1000 0011 0100 1
      --> thuat toan dung vi dich phai du 8 lan
Ket qua:  0001 0000 0011 0100 = 2100
X = 1010 1100 = -84
Y = 1110 0111 = -25

Trong quá trình học tập có thể bạn sẽ được yêu cầu sử dụng các phần mềm như Logisim để thiết kế mạc mô phỏng hay MARS để mô phỏng hợp ngữ, nếu không tải được các bạn có thể làm theo hướng dẫn trong video sau : 


Các bạn có thể tải phần mềm mô phỏng hợp ngữ tại đây : TẢI MARS 4.4.7

Chắc chắn sẽ có người thắc mắc là sao bây giờ vẫn còn đi học những cái này đúng không? Mình giải thích luôn thể vậy, chúng ta là những người kỹ sư, chúng ta không thể chỉ biết code, chúng ta không phải là những thợ code. Nhiệm vụ của người kỹ sư là phải đưa ra được giải pháp để giải quyết vấn đề, vì thế mặc dù rất ít dùng nhưng chúng ta vẫn phải học, phải biết những thứ cơ bản thiết yếu nhất. Chúng ta phải hiểu là những dòng lệnh chúng ta code sẽ được máy thực thi thế nào thì mới có thể đưa ra các giải pháp tối ưu cho những vấn đề cần giải quyết được... Chúc các bạn dành được A+ môn học này.