IB CS SL Reflection Month 1—Computer Organization

From last month learning of cs, we basically focused on the computer structure, including computer architecture, secondary memory, operating and application systems, binary representation and simple logic gates. 

Computer architecture 

For the first topic computer architecture, I learned the central processing unit(CPU) and its elements, including CU which includes registers (MAR & MDR) that hold memory address for ALU, RAM and ROM (written & unwritten in primary memory) , the cache (static RAM) memory and the machine instruction cycle. Essentially, what I learn is the different functions of different parts of a computer and how they cooperate through the process of machine instruction cycle: fetch, decode, execute and store. 

Secondary Memory 

At the beginning I learn the definition of secondary memory— a relative slow memory that may be written to but is also non-volatile. Then, why secondary memory is needed for a computer—primary memory has limited capacity to hold data. At last, how it works with the primary memory and CPU—the secondary memory would first copy to primary memory and then send to the CPU, as the figure shown below. 

Operating and Application systems  

Firstly, It’s functions of an operating system. I learned the definition of operating system, a set of software that controls the computer’s hardware resources and provides services for computer programs and also the intermediary between software applications and the computer hardware. Also, I knew that functions of an operating system include peripheral communication, memory management, resource monitoring, multitasking, networking, disk access and data management and security. Secondly, I learned about the software application which is something close to our daily use: word processors, spreadsheets, database management systems, web browsers, email, computer aided design (CAD) and graphic processing software. Thirdly, I learned about common features of applications—command line interfaces & graphical user interfaces. Also, the difference between them, like CLI is easier to implement by a programmer compared to GUI. 

Computer Organization—Binary Representation

In this part I learned about different data representation and how to convert number in one system into another system. Firstly, I basically tried to know the definition of different data representation. To begin with, bit and byte (1 byte = 8 bits) is the basic element for the calculation of binary system—the basic unit of information in computer systems and can have only values: either 1 or 0. In short, binary system is just a number representation which only use 1 & 0 to represent all the numbers. It also has many variations that enable us to represent negative numbers (by using 2’s complement) and fractions. Then, decimal number systems, the one we use most frequently in life, uses ten digits from 0 to 9 to represent any number. Since base-10 is a positional system, the position of each digit within a number provides the multiplier by which that digit is multiplied, as the figure shows.  

At last, I have learned a data representation that I have never heard before—Hexadecimal number system-— a positional system that uses 16 digits (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E and F) to represent data, where A=10, B =11, c=12, D=13, E=14 and F=15. In this part, learning how to put the normal number into different data representations and being able to convert the data in different number system into normal number is important. 

This is an example of converting Hexadecimal number system into decimal number system (how to put the normal number into different data representations)

This is an example of turning decimal number system into hexadecimal number system (being able to convert the data in different number system into normal number is important)

            At last, I learned about the data representation, especially characters—strings and colors, based on different data representations.

Simple Logic Gates

 Firstly, I know that Boolean operators includes AND, OR, NOT, NAND, NOR and XOR. They can be present in truth table, Venn diagram, symbols and shapes. 

The different expressions of logic gates:

Truth table
Venn diagram
symbols and shapes

Secondly, I learned to apply the Boolean operators into different real-life examples and use truth table (or Venn diagram) to solve problems. For example, I can get a truth table from “Tania won’t go to play if is cold and raining, or if she has not done her homework,” as the figure shown below. 

Not only truth table, I also learned to combine different logic gates into a diagram that suited to the current situation. Using, the same example “Tania won’t go to play if is cold and raining, or if she has not done her homework.” I saw that both graph and tables are good expressions of problems using logic gates, while graphs have a clearer and more simple representation.

Conclusion

From this month learning, I have a better understanding of the computer science. Knowing the computer structure, I comprehend how a computer works better. I actually find that some remote definition like software application is something familiar with our daily life. For example, Word, a word processor that I use everyday, is a kind of software application. Different logic gates make the process of data better and various number systems make the data representation more flexible to different system. Also, I can apply some of the logic gates like NOR into math problems.

Leave a comment