Computer Composition Principle
计算机组成原理
==HIghLIght ==
计算机系统概论计算机基本组成冯诺依曼计算机
特点
五大部件:运算器(ALU),控制器(CU),存储器(MEM),输入输出(I/O)
指令与数据同等地位存储与存储器
使用二进制
指令由操作码和地址码组成
指令在存储器内顺序存放
以运算器为中心(现代计算以存储器为中心)
计算机工作过程存储器的基本组成
存储体:由存储单元组成(存储单元由存储原件组成,存储原件存储0和1)
存储字:存储单元中的二进制代码组合(?)
存储字长:
MAR:存储器的地址寄存器
MDR:存储器的数据寄存器
运算器的基本组成以及操作过程
ACC: 被加数,被减数,乘积高位,被除数,余数
ALU(算术逻辑单元):
MQ: 乘数,乘积低位
控制器的基本组成
CU:控制单元
IR:指令寄存器
PC:程序计数器
计算机硬件的主要技术指标
机器字长 CPU一次能处理的数据位数与ALU中的寄存器位数有关
运算速度
MIP(Million Instructions Per Second)
表示每 ...
Database Principles
数据库原理1.数据库概论数据库以及相关概念
数据(data):信息的表现形式和载体。
数据库(database):长期存储在计算机内,有组织的,统一管理的相关数据的集合。
数据库管理系统(DBMS):位于用户与操作系统逐之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立,查询,更新及各种数据控制。
数据库系统(DBS):采用数据库技术的计算机系统。
数据库技术:研究数据库结构,存储设计管理和使用的一门软件学科。
高级数据库阶段对象数据库技术
面向对象与数据库技术结合的产物
主要特征
可以完整的描述现实数据结构,以及数据之间嵌套递归的联系。
具有封装性和继承性,提高了软件的可重用性
分布式数据库系统
主要特征:
数据物理上分布在不同场地,逻辑上是一个整体 。
每个场地可以执行局部应用,也可以执行全部应用3.。 各地计算机由数据通信网络联系,本地计算机不能完成的任务可以通过通信网络获取其他场地支持。
开放数据库互联技术
用于单个应用程序访问不同的数据库
XML数据库技术
灵活
现代信息集成技术
数据仓库
连及分析处理技术
数据挖掘
数 ...
PHOTO
说走就走(南昌) 去完南昌回来之后几天。想了想,果然还是想记下来当时间胶囊。
回家那一刻我就知道了2024的寒假注定是灰色的,看到最近天气15日阴天,以及温度逐渐下降甚至出现下雪的时候,我心情是复杂的。
上学期因荒废暑假后在学期中越想越痛,于是就发誓要好好利用寒假出去逛一逛,看看不同城市的风景。看到这天气后就有点挫伤。
于是就怀着这越来越渺茫的希望,打了把又一把游戏。
时机已到!那天下午,澡后我感到十分清爽,应该是内啡肽的作用。恰巧温度回升,下午的太阳也很舒服,就是现在!出发!
然而刚到市里就开始下雨了。。。。。。我还没带伞,包里就一个没电的相机和一本书。(《杀死一只知更鸟》英文原著)
好在火车上比较舒服,看看书,打了个盹就到了。刚好看完前半部分。看到了高中时期最喜欢的一段。
我想让你见识一下什么是真正的勇敢,而不要错误地认为一个人手握枪支就是勇敢。勇敢是:当你还未开始就已知道自己会输,可你依然要去做,而且无论如何都要把它坚持到底。你很少能贏,但有时也会。杜博斯太太赢了,用她那仅仅九十八磅重的身躯。按照她的观点,她死得无怨无悔,不欠任何人,也不依赖任何东 ...
《流星之绊》
《流星之绊》 一直想看看短篇小说,想要重新体验一下过去一次性读完一本短篇的感觉(吃快餐…嘘!)。于是就立马想到了东野圭吾和村上春树。
偶然发现原来我还有很多没看过的东野圭吾的作品。其中就有这本《流星之绊》,只消半个夜晚就看毕了,关上ipad,躺在床上,他们三兄妹以及他们的故事在脑海里不断重现。
“我们三人就像流星,毫无目标地飞逝,不知将在何处燃烧殆尽。”
看完后感觉剧情挺一般的,好像这本书少了点东野圭吾的味道了。如果是换做以前的我,大概会觉得这本书挺温暖的,至少就结局来说。也许我真的已经长大了,已经不在相信书里的奇迹了或者说已经不太习惯大团圆结局了。
看的时候就觉得这个剧情很适合拍成电视剧供像我一样百无聊赖的人群观看,第二天一查,没想到真的有日剧,而且好像日剧的受众还更广一点。
流星之绊啊,我一开始其实是理解为像流星一样转瞬即逝的羁绊,后来才知道是一起约定看流星的羁绊。虽然流星易逝,但是观看流星的他们之间的羁绊却被永远铭记。
“
然而最美的流星永远是第一次映入眼帘的那颗“第一次”给人的永恒美是人们对“纯真”最后的忠诚流星雨那年也因狮子座流星雨二更而起无数渴望的眼 ...
docker容器技术
简介
docker是一个用Go语言实现的开源项目,可以让我们方便的创建和使用容器,docker将程序以及程序所有的依赖都打包到docker container,这样你的程序可以在任何环境都会有一致的表现,这里程序运行的依赖也就是容器就好比集装箱,容器所处的操作系统环境就好比货船或港口,程序的表现只和集装箱有关系(容器),和集装箱放在哪个货船或者哪个港口(操作系统)没有关系。
因此我们可以看到docker可以屏蔽环境差异,也就是说,只要你的程序打包到了docker中,那么无论运行在什么环境下程序的行为都是一致的,程序员再也无法施展表演才华了,不会再有“在我的环境上可以运行”,真正实现“build once, run everywhere”。
概念 docker 中的几个概念:
dockerfile
image
container
dockerfile Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。感觉就像makefile一样。
image Docker镜像(Docker Image)就是一个只读的模板 ...
MQTT服务器搭建(mosquitto)
MQTT服务器搭建(mosquitto)0.简介
简介
MQTT也称为”消息代理”(Broker)。
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
原理
MQTT协议原理MQTT协议实现方式实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:
(1)Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload)
(2)payload,可以理解为消息的内容,是指订阅者具体要使用的内容。
...
esp8266连接服务器(基于mosquitto的mqtt server)
Time:2024-02-09 00:39:50
还挺兴奋的,这个项目算是我自己搭建云服务器的最后一步。
idea 起因是想要自己搭建云服务器,同时还想要利用手上已经有的esp8266开发板实现对该服务器的远程控制(开关机)。
本来打算整一个备用电源给服务器供电,奈何这台服务器是普通PC,即使配置已经很低(与现代PC比较为拉胯,但是比大多数出售的服务器例如某云2核4g更加)但功耗的保守估计已经超过70w。
于是便打算使用远程开关降低平均功耗。同时进行物联网方面知识的扫盲与学习。
过程1.前期准备 首先,在已经搭建好的mqtt服务器上创建了用户user和密码passwd,同时处于安全性考虑禁止匿名访问。配置mqtt服务器的过程)
创建好测试主题(topic)test后进行测试。多平台测试收发message没问题。
2.中期打BOSS 接下来就是攻克esp8266这边的问题了。
问题一:esp8266开发环境
由于这块esp8266开发板是我在高中时期玩的,那时候的电脑早已坏掉,这台电脑的arduinoIDE 还未配置esp8266的环境。
本来打算使 ...
模拟电子技术基础
模拟电子技术基础1.半导体器件
本征半导体:纯净,具有晶体结构的半导体
N型半导体:negative,掺入5价元素,多一个电子。
P型半导体:positive,掺入3价元素,少一个电子。
PN结:将P型半导体和N型半导体制作在同一硅片上,交界处形成PN结。
空间电荷区:PN结交接处区域的复合。也称为耗尽层。
1.PN结1.PN结的伏安特性
反向击穿
齐纳击穿:在高掺杂,耗尽层宽度窄的情况下,较低的反向电压即可击穿
雪崩击穿:在低掺杂,耗尽层宽度宽的情况下,较高的反向电压可击穿
2.PN结的电容效应
势垒电容
当PN结的反向电压变化时,空间电荷区的宽度随之变化,耗尽层电荷变化,导致等效电容变化。
2.二极管1.伏安特性
同PN结的对比
单向导电性
二极管存在半导体体电阻和引线电阻(同电压下正向电压更小)
表面漏电流(反向电流更大)。漏电流(当施加反向电压时,电流仍然流过器件)
2.不同材料二极管的对比
材料
开启电压
导通电压
反向饱和电流
硅
0.5
0.6-0.8
<0/1
锗
0.1
0.1-0.3
几十
3.温度的影响 ...
常见通信协议以及通信方式
常用的通信方式1. 串行和并行通信
串行通信优缺点
优点:
1. 占用资源少(只需一根线)
缺点:
1. 传输速率慢
并行通信优缺点
优点:
1. 传输速率快
缺点:
1. 占用资源多(多根线同时使用)
2. 同步和异步通信1.概念
同步通信
同步通信: 发送端在发送串行数据的同时,提供一个时钟信号,并按照一定的约定(例如:在时钟信号的上升沿的时候,将数据发送出去)发送数据,接收端根据发送端提供的时钟信号,以及大家的约定,接收数据。如:I2C、SPI等有时钟信号的协议,都属于这种通信方式。
异步通信
异步通信: 接收方并不知道数据什么时候会到达,收发双方可以有各自自己的时钟。发送方发送的时间间隔可以不均,接收方是在数据的起始位和停止位的帮助下实现信息同步的。这种传输通常是很小的分组,比如:一个字符为一组,数据组配备起始位和结束位。所以这种传输方式的效率是比较低的,因为额外加入了很多的辅助位作为负载,常用在低速的传输中。
2. 比较
同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信时不要求接收端时钟和发送端时钟同 ...
STM32
嵌入式基本概念
嵌入式系统 嵌入式系统是一种专门设计用于执行特定任务或控制特定设备的计算机系统。它通常包括硬件和软件两个部分,被嵌入到目标设备中,以实现特定的功能。
RTOS(Real-Time OS)
一种专门设计用于嵌入式系统的操作系统。RTOS的主要特点是能够保证任务在预定的时间内得到及时处理,具有良好的实时性。
1. STM32和511. 51的优缺点1. 51 的优点
硬件层面
结构简单,8位
硬件到软件有一套按位操作系统。(进行位的操作:传送、置位、清零、测试,逻辑运算)
包含乘除法指令
软件层面
可以使用C进行编程
2. 51的缺点
硬件层面
功能少,运行速度慢
I/O高电平无输出能力
保护能力差
2.stm32的简介
由ST厂商推出的STM32系列单片机,行业的朋友都知道,这是一款性价比超高的系列单片机,应该没有之一,功能及其强大。其基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核,同时具有一流的外设:1μs的双12位ADC,4兆位/秒的UART,18兆位/ ...
《霍乱时期的爱情》
在老家整理东西的时候发现了许多在高中时代写的文字,怀念的感觉油然而生。这本书是我在高二的时候看过的。那时看完之后心情久久不得平静,就撕下一页稿纸,随手写了这点东西。
想到那时的自己还是书虫,每日不读书就浑身难受。再看看现在,好像已经有几个月没有拿起一本书像过去的我一样一有时间就打开阅读了。
最近就把过去看过的书再温习一遍吧!
《奇风岁月》
这应该是我青少年时期最喜欢的一本书了,那时推荐给了很多人看。高中时很喜欢一个up主,他一边介绍高质量游戏,一边给我们推荐他觉得好看的有意思的书。这本书就是他推荐的。
也是在整理东西的时候发现的过去写的文字。
《寂寞的游戏》
《寂寞的游戏》
其实,这本书我在2020年就看过一遍了,因为十分合拍的原因,还拍下了当时读书时的画面。当时就感受到了袁哲生先生的文字下的细腻,将一个敏感的青年通过笔墨绘于纸上。
那时,我刚刚升入高中,不曾想到进了高一的奥赛班,以为以我的适应能力能够立马就与同学打成一片,然而这个班的同学早已互相认识,只留少数几个像我一样对于新环境完全陌生的新人,不仅是交际上的原因,学业上也频频受挫。初中时的锐气与自信受到巨大的打击,于是便抓住文字这根救命稻草,以求在陌生而冷淡的环境汲取一丝慰藉。
文字,从未给过我失望,透过《寂寞的游戏》,我看到了一个像我一样的青年,借由他的经历,让我那时的无力感得到稍许减弱。
“ 我想,人天生就喜欢躲藏,
渴望消失,这是一点都不奇怪的事。 ”
“ 我就这样躲躲藏藏了许多年,直到有一天,捉迷藏的乐趣像一颗流星,眨眼就消失的无影无踪。 ”
这些细腻且真实的文字打动着我,让那时的我感动:我不是一个人,袁哲生先生也和我一样。
那时,图片中的有着斑马图案像条形码的马克杯还没碎。那是妈妈在外地别人家打工时,住在那里的姐姐托妈妈送给我的,杯子里还有一张写着 ...
css学习笔记
CSS简介
CSS:Cascading Style Sheet 层叠样式表,是一组样式设置的规则,用于控制页面的外观样式。
广泛用于页面外观美化,布局和定位。
CSS如何使用
嵌入HTML或者JSP
123456789<head> <meta charset="UTF-8"> <title>Document</title> <style> p{ color:blue; } </style></head>
外部导入(常用,更加方便,便于复制黏贴 :D)
123<head> <link rel="stylesheet" type="text/css" href="css/eg.css"> </head>
基本语法
选择器:要修饰的对象,例如HTML的各类标签
属性名:属于修饰对象的属性
属性值:修饰对象的属性的样式取值
...
《丧钟为谁而鸣》
这本书是Winston推荐的,其实我原本是想问问他给推荐几本简单易读的英文原著。回来一看,是一部长篇qwq,感觉读原著的话会有些吃力(英语水平有限: sigh :),于是就先读了翻译后的版本。看完以后久久不能释怀。
昨天深夜读完这本书,看看时间,恰好 2 : 00,合上眼,情节一幕幕复现在眼前,再过一个小时,皮拉尔就应该发现巴勃罗将罗伯托的起爆器和雷管偷走了。不知道如果巴勃罗没有偷走它们,又或者没有将它们扔下悬崖,罗伯托和巴塞尔默会不会能够活下去。巴塞尔默是那么热心肠,那么认真的令人尊敬的老人啊!不过死亡也许对他来说也是一种解脱吧。
在爱情上,我和罗伯托都是这样的人,在爱情上认为自己不会爱上别人,孑然一身,只是做着自己的事。然而他找到了小兔子玛利亚。在这样恐怖的栈帧中,能与她将往后余生的长相厮守浓缩为三天就已经十分幸运了不是吗?何必奢求永远。
“ 你在要求不可能的事,你在要求绝不可能的事。所以,如果你真像你说的那样深爱这姑娘,那最好的,就是好好爱她,用尽全力,用浓烈填补这段关系中必将缺乏的长度与跨度。你听到了?过去,人们用一生的时间来做这件事。而现在,当你找到它,你得到 ...
Linux Projects
以下项目都是我在已经完成之后补录的笔记,包括但不限于遇到的报错,问题。便于以后复现。实际上不能说是项目,仅仅是复现并且享受大佬的成果而已。开源不易,感谢大佬们开源!
ZeroTier 内网穿透1.简介 官网:ZeroTier
ZeroTier Client :
The ZeroTier client is used to connect to virtual networks previously created in the ZeroTier Central web-based UI. Endpoint connections are peer-to-peer and end-to-end encrypted. STUN and hole punching are used to establish direct connections between peers behind NAT. Direct connection route discovery is made with the help of a global network of root servers via ...
Linux Notes
A note about linux basic operation.
常用命令
文件查看类
more
123456789101112 : - 空白键 (space):代表向下翻一页; - Enter :代表向下翻『一行』; - / 字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字; - :f :立刻显示出档名以及目前显示的行数; - q :代表立刻离开 more ,不再显示该文件内容; - b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。- ``` less
:
- 空白键 :向下翻动一页;
- [pagedown]:向下翻动一页;
- [pageup] :向上翻动一页;
- **/ 字串 :向下搜寻『字串』的功能;**
- **? 字串 :向上搜寻『字串』的功能;**
- **n :重复前一个搜寻 (与 / 或?有关!)**
- **N :反向的重复前一个搜寻 (与 / 或?有关!)**
- q :离开 less 这个程序;
head:读取 ...
GIT basic
Git 以及github,gitee的使用git简介:
Git (/ɡɪt/) is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers who are collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows (thousands of parallel branches running on different computers).
What is Git?Git is a popular version control system. It was created by Lin ...
Data Structure and Algorithm
Start树哈夫曼树(最优二叉树)
哈夫曼算法:
构造 n 棵二叉树森林,每一个都是带权值的根节点。
选择权值最小的两棵树作为左右子树,其根节点的权值为左右子树权值之和。
删除这两棵树,将新的树加入森林。
重复操作到只剩下一棵树为止。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149/** 基于结构体数组的哈曼树* C++*/#include < ...
