计算机编程需要学哪些基础知识,学编程需要掌握哪些基础知识

随着互联网的不断发展,越来越多的人都在学习计算机编程开发技术,而今天我们就一起来了解一下,学编程需要掌握哪些基础知识。

00a722c280cf3baf4bde32a4132ba1c4.png

1、CPU架构

你需要了解CPU架构,理解运算单元、记忆单元、控制单元是如何既各司其职又相互配合完成工作的。

你需要了解CPU如何读取数据,CPU如何执行任务。

你需要了解数据总线,地址总线和控制总线的区别和作用。

你需要了解指令周期:取指、译指、执行、写回。

你需要了解CPUPipeline,超标量流水线,乱序执行。

你需要了解多CPU、多核心、逻辑核、超线程、多线程、协程这些概念。

2、汇编基础

虽然写汇编的场景越来越少,但读懂汇编依然很有必要,理解高级语言的程序是怎么转化为汇编语言有助于我们编写高质量高性能的代码。

对于汇编,至少需要了解几种寻址模式,了解数据操作、分支、传送、控制跳转指令。

理解C语言的ifelse、while/dowhile/for、switchcase、函数调用是怎么翻译成汇编代码。

理解ebp+esp寄存器在函数调用过程中是如何构建和撤销栈帧的。

理解函数参数和返回值是怎么传递的。

3、异常和系统调用

异常会导致控制流突变,异常控制流发生在计算机系统的各个层次,异常可以分为四类:

中断(interrupt):中断是异步发生的,来自处理器外部IO设备信号,中断处理程序分上下部。

陷阱(trap):陷阱是有意的异常,是执行一条指令的结果,系统调用是通过陷阱实现的,陷阱在用户程序和内核之间提供一个像过程调用一样的接口:系统调用。

故障(fault):故障由错误情况引起,它有可能被故障处理程序修复,故障发生,处理器将控制转移到故障处理程序,缺页(PageFault)是的故障实例。

终止(abort):终止是不可恢复的致命错误导致的结果,通常是硬件错误,会终止程序的执行。

【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值