Bài 2.1. Giới thiệu ngôn ngữ lập trình C và cấu trúc chung của máy tính
Nội dung bài học
- Giới thiệu ngôn ngữ lập trình C
- Giới thiệu về máy tính
- Các thành phần phần cứng của máy tính
- Cấu trúc phân cấp dữ liệu
Giới thiệu ngôn ngữ lập trình C
- C là ngôn ngữ lập trình ngắn gọn, súc tích và hiệu năng cao.
- C phù hợp với đông đảo các đối tượng từ người mới bắt đầu, người có ít hoặc chưa có kinh nghiệm lập trình. Kể cả những người đã có kinh nghiệm lập trình.
- C thường dùng để xây dựng các phần mềm mang tính hệ thống, ví dụ như hệ điều hành.
- C là ngôn ngữ lập trình hướng cấu trúc(structured programming).
- Sau khi học C ta có thể nhanh chóng tiếp cận và thành thạo với các ngôn ngữ lập trình khác.
Giới thiệu về máy tính
- Máy tính có thể chia làm hai phần: phần cứng và phần mềm.
Phần cứng
- Là các thiết bị vật lí như bàn phím, màn hình, ổ cứng, ram, chip xử lí, bảng mạch…
Phần mềm
- Là linh hồn của máy tính. Phần mềm về bản chất là các chuỗi có thứ tự các tập lệnh gọi là chương trình máy tính.
- Chương trình phần mềm sẽ hướng dẫn các bước, thứ tự thực hiện các hành động cho phần cứng.
- Chương trình phần mềm được viết bởi các lập trình viên.
Các thành phần phần cứng của máy tính
Đơn vị logic đầu vào
- Phần này nhận thông tin bao gồm dữ liệu và chương trình máy tính từ các thiết bị đầu vào. Sau đó đặt chúng ở nơi phù hợp của các đơn vị khác chờ xử lý. Hầu hết dữ liệu đầu vào của người dùng được đưa vào máy tính thông qua thiết bị như bàn phím, chuột, màn hình cảm ứng. Các dạng đầu vào khác như nhận lệnh qua giọng nói, quét ảnh, mã code, đọc thông tin từ thiết bị nhớ thứ cấp như ổ cứng, ổ DVD, USB. Nhận video từ webcam, hoặc trực tiếp từ internet khi live stream, tải xuống. Các dạng đầu vào mới hơn có thể kể đến như dữ liệu định vị GPS, dữ liệu từ các cảm biến gia tốc, chuyển động, ánh sáng, nhiệt độ, độ ẩm…
Đơn vị logic đầu ra
- Phần này lấy thông tin đã qua xử lý từ máy tính và đặt chúng vào rất nhiều dạng thiết bị đầu ra hiện có. Nhằm đưa chúng ra sử dụng bên ngoài máy tính. Hầu hết thông tin qua xử lí được hiển thị lên màn hình kể cả màn cảm ứng, chuyển đổi thành âm thanh phát ra loa, thông tin dạng văn bản chuyển ra máy in, truyền dẫn qua internet, sử dụng để điều khiển các thiết bị khác như robot, máy cơ khí,… hoặc lưu trữ lại ở các thiết bị nhớ thứ cấp sử dụng lâu dài về sau. Điều khiển rung trong các thiết bị cầm tay, thiết bị thực tế ảo…
RAM
- Hay còn gọi là bộ nhớ truy cập nhanh, dung lượng tương đối thấp thường là 2-128GB. Giá thành đắt, tốc độ truy cập cao, ví dụ ram ddr4 có tốc độ truyền dữ liệu trong khoảng 2133-4266MB/s Phần này chứa dữ liệu đã được nhận vào từ các đơn vì đầu vào sẵn sàng phục vụ cho việc xử lí khi cần. Dữ liệu sau xử lí cũng sẽ được giữ lại cho tới khi có thể đặt chúng lên các thiết bị đầu ra. Thông tin lưu trữ trên RAM không ổn định, chúng sẽ bị mất khi tắt nguồn. RAM còn có tên khác là bộ nhớ, bộ nhớ chính, bộ nhớ truy cập ngẫu nhiên.
- Đơn vị cơ sở đo lường bộ nhớ là bit, mỗi bít chỉ có thể chứa giá trị 0 hoặc 1.
- Tiếp đó là byte: 1 byte = 8 bit
- 1 kilobyte(KB) = 1024 byte
- 1 megabyte(MB) = 1024 KB
- 1 gigabyte(GB) = 1024 MB
- 1 terabyte(TB) = 1024 GB
- 1 petabyte(PB) = 1024 TB
- 1 exabyte(EB) = 1024 PB
- 1 zettabyte(ZB) = 1024 EB
Khối ALU
- Là một phần của CPU. Phần này thực hiện các phép toán số học như cộng trừ nhân chia và ra các quyết định để so sánh hai thành phần xem chúng quan hệ với nhau như nào, có thể là lớn hơn, nhỏ hơn, tương đương hoặc không.
Khối CU
- Phần này điều phối và giám sát hoạt động của các thành phần khác trong máy tính. CU sẽ điều phối đơn vị đầu vào khi nào đọc thông tin vào RAM, ra lệnh cho khối ALU khi nào thông tin từ bộ nhớ cần được sử dụng để tính toán xử lí, ra lệnh cho đơn vị ra khi nào thì gửi thông tin từ đơn vị bộ nhớ tới một thiết bị đầu ra cụ thể.
Ngày nay một máy tính có thể có nhiều CPU và do đó chúng có thể thực hiện song song nhiều tác vụ. Chúng ta thường nghe các khái niệm như vi xử lí đa nhân: 2 nhân, 4 nhân, 8 nhân… tức là chúng được tích hợp nhiều bộ CPU trên một vi mạch tích hợp.
Bộ nhớ thứ cấp
- Đây là cái kho chứa thông tin có dung lượng lớn tùy ý, thường là cỡ vài trăm GB trở lên. Dữ liệu lưu trữ trên bộ nhớ ngoài thường ổn định và không bị mất khi mất điện. Dữ liệu chưa cần sử dụng tới thường lưu trữ ở đây. Tốc độ truy cập vào bộ nhớ thứ cấp tương đối chậm so với tốc độ truy cập vào bộ nhớ ram. Nhưng giá thành thì rẻ hơn nhiều. Ví dụ một thanh ram 4GB giá 600k nhưng số tiền đó có thể mua đc ổ HDD 500GB. Haha! Các ví dụ điển hình của bộ nhớ thứ cấp là ổ HDD, SSD, USB, DVD, …
Cấu trúc chung bộ vi xử lý
Cấu trúc phân cấp dữ liệu
Theo thứ tự tăng dần độ phức tạp và đa dạng về cấu trúc và thành phần của dữ liệu:
Các bít
- Phần tử dữ liệu nhỏ nhất trong máy tính, thể hiện giá trị 0 hoặc 1 và chỉ có thể là 0 hoặc 1.
Các kí tự
- Gồm các kí tự số, chữ cái(a-z), các kí tự đặc biệt như +*-/. Tập các kí tự này sử dụng để viết chương trình và đại diện cho các thành phần dữ liệu. Về bản chất, mỗi kí tự được biểu diễn trong máy tính bằng một tập các bit. C hỗ trợ bảng mã Unicode – chứa các kí tự để biểu đạt ngôn ngữ trên thế giới.
Các trường
- Tập các kí tự tạo thành một từ/cụm từ có nghĩa nào đó. Ví dụ như tên người, tuổi.
Các bản ghi
- Các trường liên quan một thực thể nào đó tạo thành một bản ghi. Ví dụ như bản ghi về thông tin của một sinh viên bao gồm: mã sinh viên, họ tên, địa chỉ, email, lớp, chuyên ngành, ngày sinh, điểm trung bình, số môn đã học,…
Cơ sở dữ liệu
- Đại diện cho tập các dữ liệu được tổ chức sao cho dễ dàng truy cập và quản lí. Điển hình là mô hình cơ sở dữ liệu quan hệ, trong đó dữ liệu được triển khai trong các bảng, mỗi bảng có nhiều bản ghi, mỗi bản ghi có nhiều trường. Ví dụ bảng student chứa tên, tuổi, địa chỉ, chuyên ngành, lớp, điểm trung bình. Thông tin của mỗi sinh viên trong bảng là một bản ghi, mỗi cột trong bảng là một trường. Các bảng trong cùng cơ sở dữ liệu có thể có sự liên hệ ràng buộc nào đó. Ví dụ cơ sở dữ liệu về một trường đại học có các bảng về thông tin môn học, giảng viên, lớp học, khóa học, bảng điểm…
Dữ liệu lớn
- Lượng dữ liệu khổng lồ, đa dạng được tạo và gia tăng nhanh chóng từng ngày trên toàn thế giới.
Nội dung bài học kết thúc rồi. Dài lè lưỡi đúng không nào?