Table of contents
1. Information = bits + context
2. Different formats of programs
3. It is beneficial to understand how the build system works
4.2 Concurrency and parallelism
Series Article Directory
This series of blogs focuses on the core content of the computer system (2) course of Shenzhen University, and the reference bibliography "In-depth understanding of computer systems" (if you have any questions, please discuss and point out in the comment area, or contact me directly by private message).
Chapter 1 In-depth understanding of computer systems - computer system roaming
synopsis
This blog mainly introduces the core content of the computer system book, as well as the relevant knowledge of computer system roaming in the first chapter of the bibliography.
1. Content of this course
Make students understand clearly:
How Computers Build and Run Executables!
The focus is on the abstraction layers below the high-level language
1. C language programming layer
1.1 Machine-level representation and operation of data
1.2 Machine-Level Representation of Statements and Procedure Calls
2. Instruction Set Architecture (ISA) and Assembly Layer
2.1 Instruction system, machine code, assembly language
3. Microarchitecture and hardware layer
3.1 General structure of CPU
3.2 Hierarchical Storage System
4. Part of the operating system, compilation and linking
2. Computer system roaming
1. Information = bits + context
Data representation: In the computer system, "values" and "interpretation rules" can be used to represent: integers, floating point numbers, characters (strings) and machine instructions.
2. Different formats of programs
The different phases of the program, the format and the conversion commands are as follows:
.c->.i: $gcc -E -o hello.i hello.c (o is out in the preprocessing stage) ES co
Tips: This diagram will be used throughout this course.
3. It is beneficial to understand how the build system works
① Optimize program performance
② Understand and handle errors in links
③ Avoiding Security Vulnerabilities
4. Important themes
4.1 Amdahl's theorem
Introduction: When accelerating a certain part of the system, its impact on the overall performance of the system depends on the proportion and acceleration of the part of the work.
Tips: The speedup ratio is Told/Tnew, greater than 1
4.2 Concurrency and parallelism
① Leading concept
Simultaneity: multiple events happening at the same time
Concurrency: Multiple events are active within a period of time (can be interleaved, not necessarily simultaneously )
Parallelism: including simultaneity and concurrency (requires a combination of software and hardware)
② Process-level concurrency
③ Instruction set parallelism (single core can be realized, just understand)
④ Single instruction, multiple data parallelism
Summarize
The above is the summary of the core content of the whole book and the first chapter - the core knowledge of computer system roaming. In the first chapter, it mainly focuses on the introduction of the concepts in the system (information, procedures, workflow, topics, etc. of the computer system).