自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Here is prician

you are what you express

  • 博客(27)
  • 收藏
  • 关注

原创 操作系统学习笔记-虚拟内存

虚拟内存是什么呢?举个例子,在学习c语言的时候我们尝试输出过一个指针的地址,其实这里打印出来的地址就是虚拟地址,也就是说我们好像从未真正的了解过计算机,从未见过他的真实地址在内存的映射,如果你对它有兴趣,不妨继续读下去。

2022-10-24 19:31:40 1385 8

原创 CSAPP:BombLab 详细解析

Bomb Lab来自《深入理解计算机系统》(CSAPP)一书的第三章的配套实验,该实验的目的是通过反汇编可执行程序,来反推出程序执行内容,进而能够正确破解”密码“,解除“炸弹”。本实验共有6个phase,对于每个phase,你需要输入一段字符串,然后让代码中explode_bomb函数不执行,这样就不会boom!

2022-09-27 19:45:14 13309 9

原创 自己动手写CPU(2)第一条ori指令

上一篇文章介绍了一下流水线思想、设计流程等,下面我们可以实操一下实现第一条ori指令。其实实现一条ori指令不难,我目前对这一条指令的理解简单来说就是,先看图对应每一个接口连线。

2022-05-03 10:18:57 2364 6

原创 CSAPP:DataLab详细解析

做题的时候看了好多博客,一点一点更深入的了解、学习。不得不说lab真的很好,学到很多。做题准备我已经在上一个博客提到了,建议写之前看一下README。

2022-03-20 20:55:00 4343 3

原创 运用位运算管理状态标志—以SDWebImage为例

在看SDWebImage图片加载库的时候,看到了一个位运算的高级使用,之前对位运算深入了解只是在datalab中,但也只是处于“学会”的阶段,本篇介绍位运算在实践中管理状态的使用,希望能打开你的思路,对你有所帮助

2024-01-17 15:49:53 433

原创 网络请求流程

从创建请求到处理数据一系列流程

2024-01-11 17:10:42 863

原创 CSAPP学习笔记-缓冲区溢出(AttackLab前言)

向程序缓冲区写入超出其长度的内容,造成缓冲区溢出,造成程序破坏以执行其他程序,达到攻击目的

2023-04-17 16:06:17 366

原创 操作系统学习笔记—并发

操作系统的主要内容分为三个部分,分别是虚拟化、并发和持久性,上篇提到了虚拟化,这篇记录一下并发。

2023-03-03 21:03:53 215

原创 iOS开发中常用到的第三方库

整理了学习iOS之后常用的第三方库,后续有其他的会继续更新希望可以帮助到你

2022-09-03 18:09:43 1148

原创 iOS:使用 Core ML 进行机器学习初探

由训练一个情感语言分类模型开始,介绍模型的训练过程和如何将模型运用于工程中

2022-09-03 12:14:14 4104 10

原创 自己动手写CPU(8)转移指令+延迟槽解决流水线控制相关

流水线中存在的三种相关:数据相关、结构相关、控制相关。其中控制相关是指流水线中的转移指令或者其他需要改写PC的指令造成的相关。这些指令改写了PC的值,所以导致后面已经进入流水线的几条指令无效。......

2022-06-27 12:17:56 2199 2

原创 自己动手写CPU(7)流水线暂停机制+乘累加累减+除法指令

流水线暂停机制因为OpenMIPS设计乘累加、乘累减、除法指令在流水线执行阶段占用多个时钟周期,因此需要暂停流水线,以等待这些多周期指令执行完毕。OpenMIPS采用的是一种改进的方法:假如位于流水线第n阶段的指令需要多个时钟周期,进而请求流水线暂停,那么需保持取指令地址PC的值不变,同时保持流水线第n阶段、第n阶段之前的各个阶段的寄存器不变,而第n阶段后面的指令继续运行。为此设计添加了CTRL模块,其作用是接收各阶段传递过来的流水线暂停请求信号,从而控制流水线各阶段的运行。 ...

2022-05-09 17:19:30 1411

原创 自己动手写CPU(6)简单算术操作指令

本博客先记录简单算术操作指令简单算术操作指令一共有15条指令分别是:add、addi、addiu、addu、sub、subu、clo、clz、slt、slti、sltiu、sltu、mul、mult、multu

2022-05-07 11:34:05 11827

原创 自己动手写CPU(5) 移动操作指令的实现

MIPS32指令集架构中定义的移动操作指令共有6条: movn、movz、mfhi、mthi、mflo、mtlo,后4条指令涉及对特殊寄存器HI、LO的读/写操作。

2022-05-06 19:45:56 730

原创 自己动手写CPU(4)解决流水线数据相关+逻辑、移位操作和空指令的实现

流水线数据相关指的是在流水线中执行的几条指令中,一条指令依赖于前面指令的执行结果

2022-05-06 17:36:13 5036 1

原创 自己动手写CPU(3)虚拟机和GNU工具链的安装不坑版+如何利用GNU交叉编译

上一篇博客介绍了实现一条ori指令,但用到的寄存器初始化文件是已经写好了的,下面我们学习如何利用CNU工具链交叉编译。绝对不坑版!!

2022-05-04 11:02:01 523

原创 自己动手写CPU(1)—理论基础

本博客内容基于《自己动手写CPU》这本书,是设计cpu的理论基础

2022-04-06 17:22:56 1009

原创 Verilog语言基础1

访问量破8k啦!好开心,会持续更新的😊1、Verilog中的模块结构Verilog模块完全定义在module与endmodule关键字之间每个模块包括四个主要部分:模块声明、端口定义、数据类型说明和逻辑功能描述

2022-03-25 16:28:24 2488

原创 处理器与MIPS简单介绍&Verilog硬件描述语言

看了CSAPP之后不得不感慨能设计出计算机的人真的很伟大,最近刚刚把链接部分看完,想多了解了解就搜了点资料。

2022-03-24 18:02:25 1049 1

原创 CSAPP环境配置&如何验证题目( macOS 新架构环境配置)

看过CSAPP后做lab巩固一下学过的东西,但因为实验环境是unix,这里不建议大家安装虚拟机,可以使用Docker的linux容器来搭建实验环境。

2022-03-20 12:28:55 2132

原创 swift基础

关于方法、关于继承、关于重写、关于单例模式

2022-01-21 11:27:22 1843

原创 我在树食中学到的

继续加油哦!

2022-01-21 11:26:20 1991

原创 git的简单使用

什么是git❓ git是目前世界上最先进的分布式版本控制系统。

2022-01-21 11:24:49 545

原创 如何导入第三方库

如何导入第三方库

2022-01-21 11:20:46 2010

原创 用swift实现天气

第一篇博客

2022-01-21 11:14:00 2815 2

原创 2021牛客暑期多校训练营1

2021牛客暑期多校训练营1A- Alice and Bob博弈题,当面临结果为(0,0)时为失败,用二维数组 a[i][j]表示其中i为第一堆石头的数量,j为第二堆石头的数量,再枚举s和k找出必胜的状态。用bool数组节省时间ios::sync_with_stdio(0);cin.tie(0);加快cin,或者直接用scanf。#include<bits/stdc++.h>using namespace std;bool a[5001][5001];int main(){.

2021-07-24 19:31:25 93

原创 湖南大学第十六届程序设计竞赛

湖南大学第十六届程序设计竞赛蒟蒻第一次写,只写了部分题目A-Triangles给出三个点的坐标,判断三个点构成的三角形是直角三角形还是钝角三角形还是锐角三角形或者不能构成三角形。其中不能构成三角形的情况就是三个点共线即斜率相等。当三角形两个边的平方和大于最长边的平方和时为锐角三角形,等于时为直角三角形,小于时为钝角三角形。#include<bits/stdc++.h>using namespace std;int main(){ int n;cin>&

2021-07-24 16:21:37 183

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除