diff --git a/zh-cn/system/README.md b/zh-cn/system/README.md new file mode 100644 index 0000000..b6f6ea1 --- /dev/null +++ b/zh-cn/system/README.md @@ -0,0 +1,66 @@ +# 微机结构目录结构 + +>1.微型计算机概述 +>>1.1 微处理器 +>>>微处理器的发展和分类 + +>>1.2 微型计算机 + +>>1.3 微型计算机系统 +>>>微型计算机系统的主要技术指标 +>>>>(1) 字长 + +>>>>(2) 主存容量 + +>>>>(3) 指令执行时间 + +>>>>(4) 系统总线 + +>>>>(5) 外部设备 + +>>>>(6) 系统软件 + +# 操作系统结构目录 + +>1.操作系统概述 +>>1.1 进程 + +>>1.2 地址空间 + +>>1.3 文件 + +>>1.4 输入/输出 + +# 计算机硬件结构目录 + +>1.计算机硬件介绍 +>>1.1 处理器 + +>>1.2 存储器 + +>>1.3 磁盘 + +>>1.4 磁带 + +>>存储器系统 +>>>(1) 寄存器 + +>>>(2) 高速缓存 + +>>>(3) 内存 + +>>>(4) 磁盘 + +>>>(5) 磁带 + + +# 引用材料 +《微型计算机原理及应用》  西安电子科技大学出版社  王庆利 主编 + +《微机原理与接口技术》  浙江大学出版社  王晓萍 主编 + +《现代操作系统》  机械工业出版社  Andrew S.Tanenbaum 著 + +微处理器  Wiki百科  https://zh.wikipedia.org/wiki/%E5%BE%AE%E5%A4%84%E7%90%86%E5%99%A8 + +微型计算机  Wiki百科  https://zh.wikipedia.org/wiki/%E5%BE%AE%E5%9E%8B%E8%AE%A1%E7%AE%97%E6%9C%BA diff --git a/zh-cn/system/picture/01.png b/zh-cn/system/picture/01.png new file mode 100644 index 0000000..9485dbb Binary files /dev/null and b/zh-cn/system/picture/01.png differ diff --git a/zh-cn/system/picture/02.png b/zh-cn/system/picture/02.png new file mode 100644 index 0000000..1d933e0 Binary files /dev/null and b/zh-cn/system/picture/02.png differ diff --git a/zh-cn/system/picture/_vnote.json b/zh-cn/system/picture/_vnote.json new file mode 100644 index 0000000..1ccf344 --- /dev/null +++ b/zh-cn/system/picture/_vnote.json @@ -0,0 +1,8 @@ +{ + "created_time": "2018-04-08T11:32:56Z", + "files": [ + ], + "sub_directories": [ + ], + "version": "1" +} diff --git "a/zh-cn/system/picture/\345\255\230\345\202\250\345\231\250\347\263\273\347\273\237.png" "b/zh-cn/system/picture/\345\255\230\345\202\250\345\231\250\347\263\273\347\273\237.png" new file mode 100644 index 0000000..955d5ad Binary files /dev/null and "b/zh-cn/system/picture/\345\255\230\345\202\250\345\231\250\347\263\273\347\273\237.png" differ diff --git "a/zh-cn/system/picture/\347\256\241\351\201\223.png" "b/zh-cn/system/picture/\347\256\241\351\201\223.png" new file mode 100644 index 0000000..73bf37e Binary files /dev/null and "b/zh-cn/system/picture/\347\256\241\351\201\223.png" differ diff --git a/zh-cn/system/system/MircocomputerStructure.md b/zh-cn/system/system/MircocomputerStructure.md new file mode 100644 index 0000000..28d9fb6 --- /dev/null +++ b/zh-cn/system/system/MircocomputerStructure.md @@ -0,0 +1,108 @@ +### 微机结构概述 + +       微机原理主要包括了计算机体系结构、微处理指令系统、汇编语言设计以及计算机系统的各组成部分介绍等内容。在计算机发展过程中,其系统的组成越来越复杂,性能越来越强大。对用户而言功能的使用越来越容易,但对系统的研究者而言了解计算机的组成是十分重要的,这会使我们更好的利用计算机系统并完善其功能,提升其性能。 + + ![No picture!](../picture/01.png) + +       图一:微机系统的基本组成 + +>1.微型计算机概述 +>>1.1 微处理器 + +       微处理器是微型计算机进行控制和处理的核心,一般使用CPU(中央处理单元)表示微处理器。 + +       微处理器(缩写:µP或uP)主要由算术逻辑单元(ALU),控制部件和寄存器三部分组成。 + +* ALU:进行算数和逻辑运算。 + +* 控制部件:产生一定的时序控制信号,控制指令的执行。 + +* 寄存器:存放指令、操作数、中间结果、地址信息等。 + +>>>微处理器的发展和分类 + +| 名称 | 版本 | 日期 | 说明 | 典型代表 | +| ----- | ----- | ---- | ---- | -------- | +| 4位或低档8位微处理器 | 第一代 | 1971~1973年 | 指令系统简单,运算功能单一 。但价格低廉,使用方便。| Intel公司的 Intel 4004 和 Intel 8008 | +| 中高档8位微处理器 | 第二代 | 1974~1978年 |具有多种寻址方式,指令系统更加完善。并且已经具有了典型的计算机体系结构,并具有中断、直接存储器存取等控制功能。在设计上考虑了机器间兼容性、端口的标准化和通用性。软件方面的支持包括汇编、高级语操作系统。 | Intel 公司的Intel 8080, Motorola公司的MC6809,Zilog公司的Z-80 | +| 16位微处理器 | 第三代 | 1978~1983年 |指令系统十分丰富,有多种寻址方式以及数据处理形式,采用多级中断。具有完善的操作系统 | Intel 公司的Intel 8086,Motorola公司的MC68000,Zilog公司的Z-8000 | +| 32位高档微处理器 | 第四代 | 1983~1993年 |内部采用流水线控制。并行操作取指令、指令译码、内存管理、执行指令和总线访问。| Intel 公司的Intel 80386,Motorola公司的MC68020,Zilog公司的Z-80000 | +| 准64位高档微处理器 | 第五代 | 1993~1995年 | 采用了全新的体系结构,内部采用超标量流水线设计,在微处理器内部有并行工作的U、V两条流水线;Cache还采用了回写技术,节省了大量处理器时间;通过分支指令预测技术,实现动态预测和分支程序的指令流向,节省了大量处理器判别分支程序的时间 | Intel 公司的Pentium,IBM 、Motorola、Apple联合推出的Power PC;AMD公司的K5 +| 64位高档微处理器 | 第六代 | 1995~至今 | 性能优异,可以很好的适应当今时代对于多媒体,网络,通信等多方面的需求 | Intel 公司的Pentium PRO (P6)以及Pentium 4 | + + +>>1.2 微型计算机 + +       微型计算机(简称:微机,微型机)一般来说是以微处理器作为CPU的计算机,也被称作微型机。 + + ![No picture!](../picture/02.png) + +       图二:微型计算机的组成 + +       微型计算机主要由微处理器、主存储器、I/O接口、总线四部分组成。 + +* 微处理器:详见1.1微处理器部分介绍,是微型计算机执行指令,进行控制和运算处理的核心部件。 + +* 主存储器:存储部件,用来存储正在使用的程序和数据。 + +* I/O接口:微型计算机和外部设备之间通过I/O接口建立联系和数据传输。 + +* 总线:微处理器和其他部件之间的通路。可细分为:地址总线(AB,用于传输地址)、数据总线(DB,用于传输数据)、控制总线(CB,用于控制信息)。 + +>>1.3 微型计算机系统 + +       微型计算机系统可分为硬件系统和软件系统,并且在硬件系统和软件系统相互配合的条件下才能有效地工作。 + +* 硬件系统组成包括:微机、电源、辅助电路和外部设备(外部设备如键盘、鼠标、显示器等)。 + +* 软件系统包括:系统软件、数据库管理软件、各类应用程序和编译程序。 +>>>微型计算机的发展和分类 + +| 名称 | 版本 | 时间 | 说明 | +| ----- | ----- | ---- | ---- | +| 电子管计算机 | 第一代 | 1964年~20世纪50年代后期 |计算机采用晶体管为基本器件,逐步转型为工业产品 | +| 晶体管计算机 | 第二代 | 20世纪50年代中期~20世纪70年代前期 | 电子管逐渐被晶体管取代,机体缩小功耗降低,运算速度和可靠性提高,成本降低| +| 集成电路计算机 | 第三代 | 20世纪60年代中期~20世纪70年代前期 | 开始采用集成电路,体积功耗进一步下降,性能进一步提高,应用领域进一步扩大 | +| 大规模/超大规模集成电路计算机 | 第四代 | 120世纪70年代~ | 采用大规模和超大规模的集成电路作为基本器件,芯片集成度和微处理器工作速度发展迅速,计算机的应用已经十分普及 | + +>>>微型计算机系统的主要技术指标 + +       微机的发展过程中,性能是一个重要的评价因素。而其性能的优劣,主要是通过它的硬件组成、系统的结构和总线、软件配置以及外部设备等因素决定的。具体的性能我们可以参考以下的技术指标: +>>>>(1) 字长 + +    字长是指微处理器的内部一次可以并行处理二进制代码的位数,其内部寄存器的寄存器数据总线宽度和CPU内部数据总线宽度是一致的。字长越长其数据表示的精度越高,速度越快。 + +>>>>(2) 主存容量 + +    主存容量是主存储器所能够存储的二进制信息的总量,主存储容量的大小决定了微机处理信息时对于数据的容纳能力。主存储容量越大,处理信息时速度就越快,数据交换的次数也就越少。 + +    常用单位:字节(Byte);其他单位:KB、MB、GB、TB。 + +    换算关系: 1KB = 1024 B ; 1MB = 1024 KB ; 1GB = 1024 MB ; 1TB = 1024 GB 。 + +>>>>(3)指令执行时间 + +    指计算机执行一条指令所需要时间的平均值,该项数据反映了执行一条指令的速度快慢。指令执行时间的快慢取决于两个方面:微机工作的时钟频率以及指令系统的设计,CPU体系结构等。 + +    微处理器工作时钟频率可用单位位兆赫兹(MHz)或吉赫兹(GHz)。 + +    微处理器执行速度指标为MIPs(Millions of Instructions Per Second,即每秒运行多少百万条指令)。 + +>>>>(4)系统总线 + +    系统总线是微机系统中连接各个功能部件的公共数据通道。其支持的数据传输位数和时钟频率是影响整机性能的重要指标。数据传输位数越多,总线的工作时钟频率以及信息吞吐率越高,性能就越强。 + +    系统总线标准:ISA、EISA、PIC、PIC-Express等。 + +>>>>(5)外部设备 + +    计算机的输入、输出、存储都由外部设备来完成,外部设备的速度快慢、容量大小、分辨率高低等都影响着系统的整体性能。 + +>>>>(6)系统软件 + +    软件也是计算机系统的重要组成部分。硬件系统想要正常使用必须要有软件系统的支持。基本的要求如Dos、Window等操作系统。系统的功能是否强大,软件的功能是否齐全,对用户的需求支持(如多用户,多任务等)是否完善,都是微机系统性能能否得到充分利用的重要条件。 + + + + + diff --git a/zh-cn/system/system/OperatingSystem.md b/zh-cn/system/system/OperatingSystem.md new file mode 100644 index 0000000..cd25bfa --- /dev/null +++ b/zh-cn/system/system/OperatingSystem.md @@ -0,0 +1,30 @@ +# 操作系统概述 + +       操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。且多数的操作系统都会使用到诸如进程,地址空间,文件等基本的概念和抽象。接下来我们会简要分析一下其中比较重要的概念。 + + +## 进程 + +       在进程模型中,计算机上所有可运行的软件,一般也包括操作系统,被组织成若干顺寻进程,简称进程。提到进程就不能不提进程的地址空间(address space),从某个最小的存储位置 (一般为0)达到某个最大存储位置的列表。进程可以在每个地址空间中进行读写。在地址空间中,可以存放可执行程序,以及程序的数据和堆栈。与进程相关的还有资源集,一般包括寄存器(含有堆栈指针和程序计数器)、打开文件和有关进程的清单、突出的报警,以及程序运行所需要的其他信息。 + +## 地址空间 + +       每台计算机上都需要有一些主存,用来保存正在执行的程序。 + +       在一些简单的操作系统中,如果有一个程序正在执行,那么如果想要执行另一个程序那么原来的程序就会被移出内存。在较为复杂的操作系统中虽然可以同时运行多个程序,但也会有一种保护机制的存在来避免他们之间相互干扰(这种形式虽然一般都为硬件形式,但其由操作系统掌控)。以上涉及了对计算机主存的管理保护,但还有一个很重要的内容就是管理进程的地址空间。一般而言,一个进程拥有的最大地址空间小于主存,通过这种方式我们可以保证进程可以有足够的地址空间,并且内存也可以容纳下进程。 + +## 文件 + +       文件系统是计算机操作系统的另一个重要的概念。操作系统的一个很重要的功能就是隐藏磁盘和其他I/O设备的细节特性,并且提供给用户以及开发人员一个清晰,易用的文件模型。为了提供保存文件的地方,大部分操作系统都支持目录的概念,目录项可以是文件或者目录,这样就产生了层次结构——文件系统。 + +       进程和文件层次都可以组成树状结构,但进程的结构一般不超过三层,文件的树状结构则会更多。且文件的目录层次可以存在非常久,但进程树的层次结构一般最多存在几分钟。 + +       在UNIX中还有一个特殊文件的概念,其目的为了使I/O设备看起来像文件一样。这样就可以使I/O设备就像系统读写文件一样操作。有两类特殊文件:块特殊文件和字符特殊文件。 + +       关于管道,是一种虚文件,可以链接两个进程。具体理解如下图所示: + +![No picture!](../picture/管道.png) + +## 输入/输出 + +       所有计算机用来湖区输入和产生输出的物理设备(如键盘,显示器......)。这些设备的管理仍旧依靠操作系统,在操作系统中一般都包括一个I/O子系统来管理I/O设备。某些I/O软件是设备是独立的,可以应用在其他的I/O设备上。I/O软件的其中一部分,如驱动程序则是为某些特定的I/O设备设计的, diff --git a/zh-cn/system/system/hardware.md b/zh-cn/system/system/hardware.md new file mode 100644 index 0000000..e3d0e3c --- /dev/null +++ b/zh-cn/system/system/hardware.md @@ -0,0 +1,30 @@ +# 计算机硬件介绍 + +    操作系统与运行该操作系统的计算机硬件联系密切。操作系统扩展了计算机指令集并管理计算机的资源。从概念上来讲,一台简单的个人计算机可以抽象分为CPU、存储器、视频控制器、键盘控制器、USB控制器、硬盘控制器。 + + +## 处理器 + +    计算机的“大脑”,即CPU,它从内存中取出命令并执行之。在每个CPU基本周期中。首先从内存中取出指令,解码以确定其类型和操作数,接着执行之,然后取指、解码并执行下一条指令。按照这一方式,程序被执行完成。
+    每个CPU都有其一套可执行的专门指令集。所有的CPU内都有一些用来保存的关键变量和临时数据的寄存器。通常在指令集中提供一些指令,用以将一个字从内存调入寄存器,以及将一个字从寄存器存入内存。
+    除此之外,多数计算机还有一些对程序员可见的专门寄存器,如程序计数器,它保存了将要取出的下一条指令的内存空间。在指令取出之后,程序计数器就被更新以便指向后面的指令。
+    另一个寄存器是堆栈指针,它指向内存的顶端。该栈含有已经进入但还没有退出的每个过程的一个框架。在一个过程中的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量。 + + +## 存储器 + +    在任何一种计算机中的第二种主要部件都是存储器。存储器系统采用一种分层次的结构,如下图。顶层的存储器速度较高,容量较小。
+![No picture!](../picture/存储器系统.png)
+    存储器系统的顶层是CPU中的寄存器,它们用与CPU相同的材料制成,所以和CPU一样快。其典型的存储容量是,在32位CPU中为32*32位,而在64位CPU中为64*64位。在这两种情形下,其存储容量都小于1KB.程序必须在软件中管理这些寄存器。
+    下一层是高速缓存,它多数由硬件控制。主存被分割成高速缓存行。最常用的高速缓存行放置在CPU内部或者非常接近CPU的高速缓存中。当某个程序需要读取一个存储字时,高速缓存硬件检查总线把访问请求送往主存。
+    再往下一层是主存,这是存储器系统的主力。主存通常称为随即访问存储器。过去使用很小的可磁化的铁磁体制作主存。目前,存储器的容量在几百兆字节到若干吉字节之间,并且其容量正在迅速增长。所有不能在高速缓存中得到满足的访问请求都会转往主存。 + + +## 磁盘 + +    下一个层次是磁盘(硬盘)。在一个磁盘中有一个或多个金属盘片,从边缘开始有一个机械臂悬横在盘面上。信息写在磁盘上的一系列同心圆上。在任意一个给定臂的位置,每个磁头可以读取一段环形区域,称为磁道。把一个给定臂的位置上的所有磁道合并起来,组成了一个柱面。另外,很多计算机支持一种著名的虚拟内存机制,这种机制使得期望运行大于物理内存的程序成为可能,其方法是将程序放在磁盘上,而将主存作为一种缓存,用来保存最频繁使用的部分程序。这种机制需要快速地映像内存地址,以便把程序生成的地址转换为有关字节在RAM上的物理地址。这种映像由CPU中的一个部件,称为存储器管理单元来完成。 + + +## 磁带 + +    在存储器体系中的最后一层是磁带。这种介质经常用于磁盘的备份,并且可以保存非常大的量的数据集。在访问磁带前,首先要把磁带装到磁带机上,然后,磁带可能还需要向前绕转以便读取所请求的数据块。磁带的最大特点是每个二进制位的成本极其便宜,并且是可移动的,这对于为了必须离线存储的备份磁带而言,是非常重要的。