“计算机系统”版本间的差异

参考课程
 
(相同用户的200个中间修订版本未显示)
第1行: 第1行:
  
=计算机硬件体系结构=
 
  
==存储等级(Memory Hierarchy) ==
 
  
Register
+
计算的基础是指令集。通信的基础是协议集。标准是信息技术的基础。
  
Cache
+
=计算机系统=
  
RAM(Main memory)
+
计算系统(computing system)由计算硬件和计算机软件部分组成。计算机是负责信息的存储,传输与处理的基本设备。计算机硬件的核心是处理器,计算机软件主要有操作系统、数据库等。
  
SSD(Solid-state disk)
+
个人电脑(Personal Computer,简称PC)是个人使用的计算机系统。Xerox Alto是第一台个人电脑,由Xerox公司的Charles P. Thacker于1973年研发。
  
Disk (magnetic)
+
=计算机硬件=
  
 +
==基本设计原则==
  
==CPU architecture basics==
+
*设计原则:计算机硬件的组织方式,如计算、存储、通信之间的模式,应该和功用相适应。
  
===ALU (Arithmetic Logic Unit )===
+
==计算机组成(Components)==
  
Bitwise logical operations
+
计算机硬件的主要组件(Components)有中央处理器([[Central_Processing_Unit_CPU|Central Processing Unit]], CPU)、主存储器(Main Memory)、磁盘(Disk)、输入输出外设设备(IO)、传输总线设备(Bus)等等。
  
Bitwise shift operations
+
==计算机存储(Memory Hierarchy) ==
  
===SIMD (Single instruction multiple data )===
+
寄存器 Register
Each core has a SIMD unit in a CPU
+
  
SIMD execution model
+
缓存Cache
  
(a) Scalar mode: one operation produces one result.
+
主存RAM(Main memory)  
  
(b) SIMD mode: one operation produces multiple results.
+
固态盘SSD(Solid-state disk)  
  
===Intel intrinsic instructions===
+
磁盘Disk (magnetic)
1. _mm_cmpgt_epi8
+
  
2. _mm_cmplt_epi8
+
==处理器架构(CPU) ==
  
3. _mm_cmpeq_epi8
+
[[Central_Processing_Unit_CPU]]
  
4. _mm_movemask_epi8
+
=计算机软件=
  
5. _mm_and_si128
+
软件开发编程:[[Programming_Program]]
  
6. _mm_sad_epu8
+
常用软件包括:操作系统、数据库、其他工具软件。
  
7. _mm_cvtsi128_si32
+
==操作系统(OS)==
  
8. _popcnt32
+
管理计算机硬件的软件。
  
9. _mm_srli_si128
+
操作系统的向下兼容原则,或称为向后兼容(backward compatibility)。
  
 +
* Linux :
  
===Superscalar CPU (MIMD, Multiple instruction multiple data )===
+
发行版 Ubuntu Linux, CentOS Linux, 
  
Super-scalar CPUs add the possibility to issue more then one instruction per cycle. As long as these instructions are independent, each of them is dispatched into one of several parallel pipelines. Therefore, a super-scalar CPU can achieve an IPC (Instructions Per Cycle) higher than 1.
+
* Windows :
  
 +
微软公司推出的操作系统, 如Windows 10。
  
===MM (Memory Model )===
+
* Mac OS
 +
苹果公司推出的操作系统,如Leopard。
  
The resolution of a memory address
+
==数据库(DB)==
 +
数据是描述客观事物的属性的量化值,数值与数值之间有联系,又称为关系(relations)。
  
=计算机软件=
+
* 数据库(database)是管理数据的系统软件。SQL是结构化查询语言的缩写。
 +
 
 +
关系型数据库是目前数据管理中最常用的软件。
 +
 
 +
* 关系型数据库
 +
微软SQL server,oracle 数据库,MySQL等等。
 +
 
 +
* NoSQL ->NewSQL
 +
随着大数据的出现与新应用的需求,出现了一大批弱化关系型数据库的内在限制的新型的数据管理软件。
 +
 
 +
这些新型的数据管理系统被称为NoSQL或NewSQL。
 +
 
 +
==其他工具软件==
 +
办公软件office套件。
 +
 
 +
=软件工程 =
 +
 
 +
规划开发软件的项目管理,包括软件需求分析、软件设计、软件开发和实现、软件测试等环节。
 +
 
 +
[[Software_Engineering]]
 +
 
 +
==Web应用开发==
 +
 
 +
JavaScript
 +
 
 +
PHP
 +
 
 +
==移动应用开发==
 +
 
 +
===Android平台开发===
 +
开发环境 Android Studio 23+
 +
 
 +
===iOS平台开发===
 +
开发环境Xcode
 +
 
 +
Swift编程语言
  
==编程语言(Programming language) ==
+
=参考文献=
  
High level language (C++, Java, Python etc.)
+
== 编程语言 ==
  
源代码(source code)→ 预处理器(preprocessor)→ 编译器(compiler)→ 汇编程序(assembler)→ 目标代码(object code)
+
# Google C++ Style [https://google.github.io/styleguide/cppguide.html Google C++ Style]
 +
# PEP 8 - Style Guide for Python Code [https://www.python.org/dev/peps/pep-0008/ PEP_8]
 +
# David Flanagan, JavaScript: The definitive guide: Activate your web pages. " O'Reilly Media, Inc.", 2011.
 +
# Weiss, Mark Allen, Data structures and algorithm analysis in Java, Addison-Wesley Longman Publishing Co., Inc., 1998.
 +
# Bjarne Stroustrup, The C++ programming language. Pearson Education, 2013.
  
目标代码(object code) → 链接器(Linker)→ 可执行文件(executables)
+
== 计算机应用基础 ==
  
Machine code (instructions )
+
# John L. Hennessy, and David A. Patterson. Computer architecture: a quantitative approach. Elsevier, 2011.
 +
# Neil Matthew, and Richard Stones. Beginning linux programming. John Wiley & Sons, 2011.
 +
# Miguel Grinberg, Flask Web Development: Developing Web Applications with Python. O'Reilly Media, Inc., 2014.
  
==常用软件 ==
+
==软件开发==
  
操作系统(OS)
+
#Shore, James. The art of agile development. " O'Reilly Media, Inc.", 2007.
  
数据库(database)
+
=参考课程=
  
其他工具软件
+
#斯坦福大学:[https://web.stanford.edu/class/cs101/ CS101 - Introduction to Computing Principles]
 +
#CS 4 HS Summer Workshop : [http://introcomputing.org/ CS for High School]

2018年8月10日 (五) 04:50的最后版本


计算的基础是指令集。通信的基础是协议集。标准是信息技术的基础。

计算机系统

计算系统(computing system)由计算硬件和计算机软件部分组成。计算机是负责信息的存储,传输与处理的基本设备。计算机硬件的核心是处理器,计算机软件主要有操作系统、数据库等。

个人电脑(Personal Computer,简称PC)是个人使用的计算机系统。Xerox Alto是第一台个人电脑,由Xerox公司的Charles P. Thacker于1973年研发。

计算机硬件

基本设计原则

  • 设计原则:计算机硬件的组织方式,如计算、存储、通信之间的模式,应该和功用相适应。

计算机组成(Components)

计算机硬件的主要组件(Components)有中央处理器(Central Processing Unit, CPU)、主存储器(Main Memory)、磁盘(Disk)、输入输出外设设备(IO)、传输总线设备(Bus)等等。

计算机存储(Memory Hierarchy)

寄存器 Register

缓存Cache

主存RAM(Main memory)

固态盘SSD(Solid-state disk)

磁盘Disk (magnetic)

处理器架构(CPU)

Central_Processing_Unit_CPU

计算机软件

软件开发编程:Programming_Program

常用软件包括:操作系统、数据库、其他工具软件。

操作系统(OS)

管理计算机硬件的软件。

操作系统的向下兼容原则,或称为向后兼容(backward compatibility)。

  • Linux :

发行版 Ubuntu Linux, CentOS Linux,

  • Windows :

微软公司推出的操作系统, 如Windows 10。

  • Mac OS

苹果公司推出的操作系统,如Leopard。

数据库(DB)

数据是描述客观事物的属性的量化值,数值与数值之间有联系,又称为关系(relations)。

  • 数据库(database)是管理数据的系统软件。SQL是结构化查询语言的缩写。

关系型数据库是目前数据管理中最常用的软件。

  • 关系型数据库

微软SQL server,oracle 数据库,MySQL等等。

  • NoSQL ->NewSQL

随着大数据的出现与新应用的需求,出现了一大批弱化关系型数据库的内在限制的新型的数据管理软件。

这些新型的数据管理系统被称为NoSQL或NewSQL。

其他工具软件

办公软件office套件。

软件工程

规划开发软件的项目管理,包括软件需求分析、软件设计、软件开发和实现、软件测试等环节。

Software_Engineering

Web应用开发

JavaScript

PHP

移动应用开发

Android平台开发

开发环境 Android Studio 23+

iOS平台开发

开发环境Xcode

Swift编程语言

参考文献

编程语言

  1. Google C++ Style Google C++ Style
  2. PEP 8 - Style Guide for Python Code PEP_8
  3. David Flanagan, JavaScript: The definitive guide: Activate your web pages. " O'Reilly Media, Inc.", 2011.
  4. Weiss, Mark Allen, Data structures and algorithm analysis in Java, Addison-Wesley Longman Publishing Co., Inc., 1998.
  5. Bjarne Stroustrup, The C++ programming language. Pearson Education, 2013.

计算机应用基础

  1. John L. Hennessy, and David A. Patterson. Computer architecture: a quantitative approach. Elsevier, 2011.
  2. Neil Matthew, and Richard Stones. Beginning linux programming. John Wiley & Sons, 2011.
  3. Miguel Grinberg, Flask Web Development: Developing Web Applications with Python. O'Reilly Media, Inc., 2014.

软件开发

  1. Shore, James. The art of agile development. " O'Reilly Media, Inc.", 2007.

参考课程

  1. 斯坦福大学:CS101 - Introduction to Computing Principles
  2. CS 4 HS Summer Workshop : CS for High School
最后修改于2018年8月10日 (星期五) 04:50