计算机组成原理与体系结构知识概括
计算机组成原理与体系结构
关系解释:
- 计算机系统是由硬件和软件两部分组成,《计算机组成原理》讲述的是计算机的硬件组成原理,《操作系统》讲述的是配置在计算机硬件上的第一层软件
- 计算机组成原理是讲硬件实现的,计算机系统结构是讲结构设计的
- 计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性。计算机系统的属性通常是指用机器语言编程的程序员所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O机理等,大都属于抽象的属性。由于计算机系统具有多级层次结构,因此,站在不同层次上编程的程序员所看到的计算机属性页是各不相同的。
- 计算机组成原理是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。例如,指令系统体现了机器的属性,这是属于计算机结构的问题。但指令的实现,即如何取指令、分析指令、取操作数、运算、送结果等,这些属于计算机组成的问题。例如,一台机器是否具备乘法指令的功能,这是一个结构的问题,可是,实现乘法指令采用什么方式,则是一个组成问题。
- 微机原理 只是对非计算机专业的学生开的,大部分将8086的结构以及如何工作,还有汇编语言怎麼写。
计算机组成原理 探讨计算机的各个部分怎麼实现(电路)。
计算机体系结构讲的是在计算机组成原理的基础上,如何根据不同的场景和使用情况的设计计算机,以及各种设计的优缺点。
举例:
①缓存来说,计算机组成原理讲的是缓存怎麼做的(DRAM四个晶体管构成一个单元),而计算机体系结构讲的是缓存在cpu里怎么用(多级缓存,不同级别的缓存采用不同的寻址方式),才可以达到最大性能,不同使用方法的优缺点以及在实际中根据不同情况怎么折衷。
②在计算机组成原理里讲的硬盘怎么做的,磁头读写的物理机制,而计算机体系结构讲如何设计磁盘排列才能以最低的成本使发生意外数据损失的概率达到要求
计算机组成原理
计算机的发展历史
计算机的层次与编程语言
程序翻译和程序解释
程序翻译和程序解释:
- 计算机执行的指令都是L0
- 翻译过程生成新的L0程序,解释过程不生成新的L0程序
- 解释过程由L0编写的解释器去解释L1程序
程序翻译和程序解释语言:
- 程序翻译语言:C/C++,Object-C,Golang
- 程序解释语言:Python,PHP,Javascript
- 程序+翻译语言:Java,C#
计算机的层次与编程语言
计算机层次:
-
硬件逻辑层: 门,触发器等逻辑电路组成, 属于电子工程领域
-
微程序机器层:编程语言是微指令集,微指令所组成的微程序直接交由硬件执行
-
传统机器层:编程语言是CPU指令集(机器指令),编程语言是直接和硬件相关的,不同架构的CPU使用不同的CPU指令集。
-
操作系统层:向上提供了简易的操作界面,向下对接了指令系统,管理硬件资源,操作系统层是在软件和硬件之间的适配层。
-
汇编语言层:编程语言是汇编语言,汇编语言可以直接翻译成可直接执行的机器语言,完成翻译的过程的程序就是汇编器。
-
高级语言层:编程语言为广大程序员所接受的高级语言,高级语言的种类非常多,有几百种
-
应用层:满足计算机针对某种用途而专门设计
冯诺依曼结构
冯诺依曼结构:
南北桥架构演变:
存储程序的概念:
- 数据和程序均以二进制代码形式不加区别地存放在存储器中,存放的位置由存储器的地址指定。
- 计算机在工作时能自动地从存储器中取出指令加以执行。
数学家冯·诺依曼