「小智雅汇」C|编程的一些前置知识及底层(计算机组成与汇编)了解
你知道世界上第一台通用计算机Eniac是怎样用来完成不同的任务的吗?通过插拔电缆和开闭开关完成硬布线 , 往往几个人还要忙上好一阵子 。
这样的硬布线过程可以自动化、重复利用吗?冯诺依曼(VonNeumann)提出了存储程序控制的概念 。
1冯诺依曼提出的存储程序控制概念
文章图片
2冯诺依曼机的组成
2.1硬件组成
文章图片
2.1.1程序要运行 , 需要先将可执行文件从输入设备(如磁盘) , 加载到内存 , 可执行文件执行时 , 可将一些数据输出到输出设备 。
文章图片
2.1.2程序和数据在存储器的存储:
文章图片
2.1.3控制器从存储器中取出指令 , 译码后产生控制信号:
文章图片
2.1.4控制信号控制运算器做运算:
文章图片
2.2计算机软件系统
计算机软件系统通常被分为系统软件和应用软件两大类 。 计算机软件包括程序、数据及相关的文档资料 。 各软件虽然用途不同 , 但他们的共同点是都存储在计算机存储器中 , 以某种格式编码书写的程序或数据 。
计算机系统软件能保证计算机按照用户的意愿正常运行 , 为满足用户使用计算机的各种需求 , 帮助用户管理计算机和维护资源执行用户命令、控制系统调度等任务 。 应用软件是直接面向用户需要的 , 它们可以直接帮助用户提高工作质量和效率 , 甚至可以帮助用户解决某些难题 。
文章图片
系统软件是指担负控制和协调计算机及其外部设备、支持应用软件的开发和运行的一类计算机软件 。 系统软件一般包括操作系统、语言处理程序、数据库系统和网络管理系统 。
应用软件是指为特定领域开发、并为特定目的服务的一类软件 。 应用软件一般分为两类:
一类是为特定需要开发的实用型软件 , 如会计核算软件、工程预算软件和教育辅助软件等;
另一类是为了方便用户使用计算机而提供的一种工具软件 , 如用于文字处理的Word、用于辅助设计的AutoCAD及用于系统维护的瑞星杀毒软件等 。
3计算机的层次结构与编程语言
计算机系统可以从硬件到软件抽象出不同的层次 , 每一个层次运行在各自的平台(相邻下一层)上:
文章图片
需要注意的是 , 对于PC端的开发 , 其平台是各PC端的操作系统 , 对于移动端开发 , 其平台是移动端操作系统 , 对于web端开发 , 其平台是各类型的浏览器 。
嵌入式编程是直接在硬件层面的编程 , 程序加载(固化)到可擦写ROM存储器(掉电可读) , 所谓的烧录也是通过较高电压硬性通过物理的方式改变存储单元 。 随着硬件技术的发展 , ROM与RAM的界限也已越来越模糊了 。
4计算机指令格式
计算机的设计(主要是CPU)可从指令集出发 , 设计出对应的硬件逻辑层和微代码层 , 指令集的指令格式一般可以表示为:
文章图片
I指令集与硬件逻辑层具有一一对应关系 , 根据一套需要设计的指令集设计出CPU(硬件逻辑层) , 或者说 , 一个CPU(硬件逻辑层)系列有对应的一个指令集 。
II在指令集的基础上可以设计出不同的操作系统 。
5编码与编程
指令和处理的对象都要二进制化 。
推荐阅读
- 千锋长沙■软件测试需要懂编程吗?,千锋全栈软件测试课程教程资源限时领
- 「橙旭园儿童编程」让孩子爱上数学、物理、编程的游戏课,斌叔免费直播!,周四晚8点
- 「千锋长沙」软件测试需要懂编程吗?,千锋全栈软件测试课程教程资源限时领
- 工程师■千锋全栈软件测试课程教程资源限时领,软件测试需要懂编程吗?
- 『涛咪电竞』不如他炒房挣得多个人认为那么大家如何看待JY靠炒房赚得盆满钵满呢?,LOL最有钱主播曝光?小智:摸爬滚打干了10年
- 『程序员』为什么许多程序员讨厌结对编程?
- []今日芯声 | 农村小伙自学编程发明自动炸油条机
- 自学编程1010▲计算机网络技术
- 少儿编程教育,是未来学校的重要组成部分
- 【橙旭园儿童编程】【MagO第三期】Scratch项目:快递分拣器