Skip to main content

 Chương 0. Từ bàn tính Abacus tới bộ xử lý trung tâm (Central Processing Unit hay CPU)



Trong cuốn sách này, ta sẽ cùng làm quen với hai nhân vật là cậu bé Kenny và chú chó robot Lucky, trong  cuộc hành trình khám phá trí tuệ nhân tạo trong cuốn sách nhỏ này. 

Name: Kenny
Gene: Boy
Age: 9
Hobby: Play chess and Pet
Characteristics: Smart, Curious and 

Name: Lucky
Gene: Male
Age: 4 months
Hobby: Detecting objects and swimming
Characteristic: Funny and Friendly

1. Số đếm:
Con người từ khi khởi sinh ra nhu cầu thu thập thức ăn, tài sản và quản lý các vật dụng, nhân lực thì số đếm cũng được hình thành. Việc đếm đơn giản đầu tiên có lẽ dựa trên các con số có sẵn có thể sử dụng được ngay đó là các đầu ngón tay và chân. Tuy nhiên nhanh chóng sau đó, để mô tả các con số lớn hơn thì việc sử dụng các vạch cộng dồn trở nên quá phức tạp và rắc rối. Một cách tự nhiên, bạn Kenny sẽ suy nghĩ dùng một số ký hiệu đơn giản hơn để biểu diễn cho các con số lớn hơn. Một ví dụ điển hình cho phương pháp này chính là các con số la mã I, II, V, X, L, M ... Tuy nhiên thực tế người ta không chỉ sử dụng các con số cho việc đếm mà còn mong muốn dùng nó để biểu diễn sự thay đổi tăng giảm. 
Cho nên việc dùng các ký hiệu số để biểu diễn con số cụ thể thật sự bị giới hạn. 

Để thực hiện tính toán, người ta bắt đầu quan tâm tới số, nhóm số thành các cụm cho việc tính toán cộng trừ. Thế là hệ số thập phân ra đời. Nhưng có lẽ trước đó người ta đã biết tới các hệ số đếm khác như hệ thập nhị phân ở Lã Mã, và bàn tính Abacus ra đời từ hơn 2500 năm trước lại thực hiện nhóm các con số theo cơ số 5. Lý do có lẽ xuất phát từ quan niệm của phương đông về các sự vật hiện tượng trong tự nhiên tuân theo con số ngũ hành. Người ta dùng con số 5, và số 6 để định Can và Chi cũng như lập lịch tính ngày tháng. Và hẳn  nhiên sự gần gũi của hình dạng con người với mỗi bàn tày có năm ngón mà không phải là một con số nào khác. Sự xuất hiện tự nhiên như vậy cho thấy con số 5 là con số thật sự có ý nghĩa trong quan niệm về tự nhiên của người phương đông.  

















Comments

Popular posts from this blog

Arduino Code for test Heart Rate 7 Click

Heart Rate 7 Click is the newest module from MikroE which uses VEM8080 photodetector has a wide range spectrum from 300nm - 1000nm. To control and acquisition data, AFE4404 from TI inc. is adopted. This chip permits control 3 LED channels, and sample heart rate default 100 SPS.  A 22-bit ADC permit collecting very small changed voltage from a PD sensor. In this example we config Arduino Mega  2650 as below: Pin 4 for RST PIN 5 CLK PIN 6 INT PIN 20 SDA PIN 21 SCL Config registers follow the default of AFE4404 datasheet Page 27 with some minor changes. 1. Config Internal Clock through  AFE_CONTROL2 register addr.: 0x23 value: 0x104218  // setup all dynamic power to save energy 2. Control LED2 current through AFE_LEDCNTRL register addr: 0x22 value: 0x000100 3. Read data using PROG_TG_EN signal through AFE_TIA_GAIN register addr: 0x21 value: 0x000125 Time to start and end of PROG_TG setup through two registers: AFE_PROG_TG_STC register (...
Serial Port Profile with CC2650 and CC2640R2 (part 2) Modified to transfer ADC values up to PC Step 1:  Include ACD.h library #include <ti/drivers/ADC.h>  Step 2: Insert period event in order to update ADC read values from the potentiometer #define SSSS_ICALL_EVT                         ICALL_MSG_EVENT_ID // Event_Id_31 #define SSSS_QUEUE_EVT                         UTIL_QUEUE_EVENT_ID // Event_Id_30 #define SSSS_PERIODIC_EVT                      Event_Id_00 //SOLUTION // Bitwise OR of all events to pend on #define SSSS_ALL_EVENTS                        (SSSS_ICALL_EVT        | \                                ...
Programing on Launchpad MSP432 Interrupt button Prerequisite: Hardware: Launchpad MSP432P401 IDE software: IAR/CCS/KEIL Tool: Simplelink SDK MSP432 v3.20.00.06 Description: Simple program using two buttons connected to P1.0  and P1.4 to turn on or turn off LED on P1.0 Step1. Open example of Simplelink SDK without RTOS Step2. modify the code as below Step3. Compile and debug the program /* DriverLib Includes */ #include <ti/devices/msp432p4xx/driverlib/driverlib.h> /* Standard Includes */ #include <stdint.h> #include <stdbool.h> volatile uint32_t SW1, SW2; //semaphores void VectorButtons_Init(void){   __disable_interrupt;   //DisableInterrupts();          // set the I bit during initialization   SW1 = 0; SW2 = 0;             // clear semaphores   P1->SEL0 &= ~0x12;   P1->SEL1 &= ~0x12;      P1->D...