前言
-
内容及用途:学习笔记系列用于记录本人的一个学习过程,每篇文章篇幅较短,内容仅包含某一部分知识点,基础且不全面。主要用于本人日后当工具书查阅以及给和我一样刚开始学习的同学提供一个理解的角度,所以语言表达上追求通俗易懂而不是简明扼要,会用一些奇奇怪怪的例子来类比理解
(也就是废话较多),如果内容有误欢迎评论区指正。 -
记号说明:对于部分第一次出现的名词,会以“注脚”的方式在文末对其进行一个解释,注脚的内容为名词的定义或对该词的个人理解。 斜体 表示前面部分或之前的文章已经解释过的名词。 加粗 表示需要强调的内容。 标记 表示之后会用到或以后会解释的内容。
-
内容来源主要为《微处理器系统结构与嵌入式系统设计(第3版)》,章节为“2.1”。需要一定的数字逻辑电路知识。
正文
计算机系统的层次模型(软硬件实现角度)
层次 | 内容或功能 |
---|---|
系统分析层 | 数学模型、算法 |
用户程序层 | 语言编程 |
语言处理层 | 解释、编译 |
操作系统层 | ------ |
指令系统层 | 机器语言指令 |
微体系结构层 | 微程序 |
数字逻辑层 | 硬连逻辑 |
-
该层次自上而下描述了计算机系统求解问题的过程:
1、用户分析需要解决的问题后,建立对应的数学模型并设计算法。
2、用户根据算法,选择某种计算机语言(C++,Python等)来编写源程序。
3、在操作系统的控制下,编译器或解释器对用户写的代码进行编译或解释(C++为编译型语言,Python为解释型语言,具体区别不是本文重点,不做讨论)。
4、语言处理后得到机器语言描述的程序,然后由微体系结构层和数字逻辑层执行该程序。 -
该层次自下而上描述了计算机系统逐级生成的过程:
1、拟定指令系统,设计CPU 硬核 。
2、配置操作系统。
3、配置语言处理程序。
4、输入用户程序并处理执行。
总结
1、求解问题时,人的工作是提供思路,并用计算机语言描述出自己的想法。
2、计算机在求解问题的过程中的主要作用就是计算,获取机器语言描述的程序后执行。作为辅助来解决人难以做到的重复工作和庞大的计算工作,具体实现方式由“微体系结构层”和“数字逻辑层”的硬件设计决定。
3、人只能看懂高级语言,计算机只能看懂机器语言,“语言处理层”和“操作系统层”的主要作用是翻译,进行两种语言间的转换。
计算机系统的结构、组成与实现
词语解释
- 计算机体系结构(Computer Architecture):主要指程序员关心的计算机概念结构与功能特性。
- 计算机组成(Computer Organization):偏重关注物理及其中各操作单元的逻辑设计、硬件实现及互连组织技术。
- 计算机实现 :更底层的集成电路设计技术、封装技术、电源技术、冷却措施及微组装技术。
举例区分
- 体系结构:指令集 中是否有乘法指令
组成:乘法指令由专门的乘法器实现还是由加法器实现。
实现:乘法器/加法器采用的器件工艺。 - 体系结构:存储器编址方式的确定。
组成:是否采用多体交叉结构。
实现:存储器底层物理器件采用器件工艺。
备注
之后的内容更关注体系结构和组成原理,实现基本不讨论。
结束语
本文极粗略的描述了计算机软硬件在求解问题中的关系及各自的功能;对“体系结构”,“组成原理”和“实现”进行了简单的定义和比较。