程序员基层知识程序与cpu【更新1】
我是一个小白,但我通过学习我慢慢的懂了一些事。分享出来有错误的望大咖指导。
我们要很明确的明白我们学的是编程而不是编程语言,编程语言只是工具用来方便我们做很多编程有关的事。
- 首先我在学习的过程中,第一节课让我明白的东西(程序与cpu的关系)
- 在说程序与cpu关系之前,我们要明白第一点cpu是什么?cpu就是中央处理器。是负责我们整体计算机的控制
- 那么我们要更深层的理解第一点,是怎么的一种结构可以使得它能实现对整体电脑的呢?
- 这个问题很好解决,是由寄存器,控制器,运算器,时钟来构建cpu的内部环境的。
- 那么为什么这样的体系可以实现控制呢?嗯寄存器主要是负责短暂的存储值的东西,也可以这么说存储大部分的数据。控制器的功能嘛就是负责寄存器内部读取与写出等等功能。运算器的功能可以这么理解是一个逻辑运算的单元,可以协助控制器,寄存器等作用。时钟的作用很有意思哦,cpu不是死的吗?有了时钟的作用大大让它活起来了,它指的是频率,扯淡下哈,ghz是什么,哈哈是不是很熟。好了回答下;一个ghz相当于每秒处理十万亿次的运算。
- 说了这么多关于cpu的组成主要是要理解cpu是怎么运作的。那么我们说下什么是程序,程序是我们拿着一段数据如何来计算一个先后顺序。或者这么说将一些指令有序排列并让它按规矩走。程序包含两样数据与算法
- 好说了这么多,回答最核心的问题:程序与cpu的关系
- 代码>exe>加载>cpu
- 我们写一大堆有效的代码通过一些家伙转换成exe也可以是别的,然后们双击它就可以执行了。
- 主要的有一点:我们做的东西其实就是如何转换成程序,让电脑懂并让它执行所以这就是我理解的程序与cpu如果有错望大咖来指
说了这么多有没发现一个问题,我们为什么要写代码,然后转换成exe,exe又是什么?
简单的提一下我们电脑语言有哪些。两种高级语言和低级语言,而高级语言有c语言啊,c++,java,等等我们人类能懂的东西。那么低级语言是什么呢?就是计算机能懂的语言,比如0和1。这些知识是为了更好的去理解二进制问题,好了各位小伙伴们今天我就分享到这里,下一更我会把我学到的东西分享出来。写这样的东西目的1当复习和分享出来如果有错的指出让我纠正,2呢和自学语言的小伙伴们一起成长。
程序员基层知识程序与cpu【更新1】的更多相关文章
- 一个优秀windows C++程序员的知识体系[转]
转自:一个优秀windows C++程序员的知识体系 思考一个优秀windows C++ 程序员该有哪些知识,可最终发现什么知识都不能少, 看下图: 除了上面知识,程序员还要不断学习, 保持对新知识的 ...
- 每个程序员都应该了解的 CPU 高速缓存
每个程序员都应该了解的 CPU 高速缓存 英文原文:Memory part 2: CPU caches 来源:oschina [编者按:这是Ulrich Drepper写“程序员都该知道存储器”的第二 ...
- 科技爱好者周刊(第 174 期):全能程序员 vs 特长程序员
这里记录每周值得分享的科技内容,周五发布. 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容. 周刊讨论区的帖子<谁在招人?>,提供大量程 ...
- Spring MVC 程序首页的设置 - 一号门-程序员的工作,程序员的生活(java,python,delphi实战)
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- 出错的方法有可能是JDK,也可能是程序员写的程序,无论谁写的,抛出一定用throw
应对未检查异常就是养成良好的检查习惯. 已检查异常是不可避免的,对于已检查异常必须实现定义好应对的方法. 已检查异常肯定跨越出了虚拟机的范围.(比如“未找到文件”) 如何处理已检查异常(对于所有的已检 ...
- 一个优秀windows C++程序员的知识体系
思考一个优秀windows C++ 程序员该有哪些知识,可最终发现什么知识都不能少, 看下图: 除了上面知识,程序员还要不断学习, 保持对新知识的热情. 转自http://www.cppblog.co ...
- 转:一个优秀windows C++程序员的知识体系
转自:http://www.cppblog.com/weiym/archive/2012/06/10/178287.html.根据自身的经历,觉得作者总结的很好. 思考一个优秀windows C++ ...
- 转:10年程序员谈.Net程序员的职业规划
从事Dotnet程序开发工作近10年了,从开始的月薪3k的小程序员菜鸟,到现在年薪60w的项目总经理,从战战兢兢的去各个公司应聘,到现在开始面试那些战战兢兢的小程序员,回想起这近十年来的经验,看着还是 ...
- 10年程序员谈.Net程序员的职业规划(图/文)
原文地址:http://bbs.csdn.net/topics/390736769 从事Dotnet程序开发工作近10年了,从开始的月薪3k的小程序员菜鸟,到现在年薪60w的项目总经理,从战战兢兢的去 ...
随机推荐
- 十二、针对单个工程来配置jdk版本
转载自:https://jingyan.baidu.com/article/9f63fb91427b06c8400f0e98.html 首先小编这里的eclipse工作空间默认的jdk版本是jdk1. ...
- js学习之原生js实现懒加载
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- iOS.mach_msg_trap()
mach_msg_trap() 1. mach_msg() mach_msg_trap() " > The Debugger window shows the calling stac ...
- Anacond win10安装与介绍
Anacond的介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项. 因为包含了大量的科学包,Anaconda 的下载文件比较大( ...
- Python json.dumps 自定义序列化操作
def login_ajax(request): if request.method == "GET": return render(request, 'login_ajax.ht ...
- 安卓adb工具的安装方法
adb是Android的一个很重要的调试工具,熟练掌握后可实现很多功能,比如有些手机的解锁.ROOT就会用到adb工具.可很多朋友都说不会安装,今天就从最开始的安装方法说起. adb工具其实不用安装, ...
- 解决初次安装PyCharm后 No Python interpreter selected的问题
原文链接:https://liuzhichao.com/p/1543.html PyCharm 是由JetBrains打造的一款 Python IDE.具有智能代码编辑器,能理解 Python 的特性 ...
- H5新特性——--第三方绘图工具库 echarts(canvas)---SVG绘图
今天学习的内容 3.1:h5新特性---第三方绘图工具库 echarts(canvas) 百度 echarts;d3;two.js;.... 3.2:h5新特性---SVG绘图 3.2:h5新特性-- ...
- clion中配置glfw和glew
clion中只能用cmake文件配置 最开始不清楚cmake语法走了不少弯路 如果遇到symbol(s) not found for architecture x86_64错误,百分百是cmake没配 ...
- Python从入门到精通之Forth!
Python基本数据类型之列表 补充:range()方法 python2: range 立即创建 xrange for循环的时候才一个一个创建 Python3: range for循环的 ...