일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 루돌프의반란
- 삼성기출
- 코드트리
- 3Dreconstruction
- Calibration
- PQ
- ARM
- 마이크로프로세서
- ICER
- 소프티어
- 이진탐색
- 포탑부수기
- 백준
- dfs
- 수영대회결승전
- BFS
- DP
- 마법의숲탐색
- 왕실의기사대결
- DenseDepth
- 조합
- 구현
- ros
- 순서대로방문하기
- 코드트리빵
- 시뮬레이션
- 나무박멸
- 슈퍼컴퓨터클러스터
- 싸움땅
- 토끼와 경주
- Today
- Total
목록EE 학부과목 (17)
from palette import colorful_colors

1. GPIO의 ODR 비트 조절하기 예시: GPIOA의 ODR의 8번 비트를 1로 켜기 C 언어: GPIOA->ODR |= 1UL ODR의 bit8을 1로 만든다 ARM 어셈블리어: GPIOA_BASE EQU 0x48000000; GPIOA의 BASE 주소는 0x48000000이다. GPIO_ODR EQU 0x14; ODR은 GPIO BASE에서 0x14만큼 떨어져 있으므로 LDR r7, = GPIOA_BASE LDR r1, [r7, #GPIO_ODR]; r1에 GPIOA의 ODR에 있는 값을 불러온다 ORR r1, r1, #2_100000000; 8번 비트를 1로 만든다 STR r1, [r7, #GPIO_ODR]; GPIOA의 ODR에 다시 변경한 값을 저장한다. 2. GPIO OUTPUT 예시: G..

Arm 명령어에 대해 알고 싶다면 아래 링크 클릭 https://colorful-palette.tistory.com/48 예시1: Register indirect addressing mode (원하는 주소에서 값을 넣고 포인터를 상승시키는 예시) → 0x12456주소에 25를 넣고 포인터 상승시키기 #include int main(){ char * ourPointer; ourPointer = (char*) 0x12456 // ourPointer를 1byte char형을 가리키는 포인터로 선언했다. *ourPointer = 25 ourPointer ++ return 0; } LDR R2, = 0x12456 MOV R0, #25 STRB R0, [R2] ADD R2, R2, #1 예시2: 주어진 배열에서 M..

해당 포스팅은 RISC계열 명령어중 ARM 명령어들을 정리한 포스팅입니다. 1. 기본 명령어(move, load, store) MOV Rm or Op2 : register값(Rm) 혹은 immediate value (Op2) 값을 레지스터로 복사 예시: MOV R2 #25 ; 25를 R2 레지스터에 넣는다 MOV R2 #0x87 ; 16진수 87을 R2 레지스터에 넣는다 LDR Rd [Rx] : (Rx레지스터의 값)에 해당하는 주소에 있는 값을 Rd로 불러온다. STR Rx [Rd]: Rx값을 (Rd레지스터 값)에 해당하는 메모리 주소에 저장한다. 1-2. 추가적인 load, store instruction: LDRB / LDRH Rd [Rx] : (Rx레지스터의 값)에 해당하는 주소에서 1byte / ..

일부글씨가 안 보이거나 헷갈리는 부분이 있으면 말씀해주세요 (보라색 글씨는 참고사항이라서 패스해도 됩니다) 127을 바이어스해서(더해서) 저장한다는 사실 잊지말기!

경북대학교 ㅂㅇㅈ 교수님의 필기자료입니다. MIPS 구조에 대해 설명하시기 때문에 ㅅㄷㄱ교수님의 프로젝트 내용과 겹치는 부분이 많아 3학년 1학기 논리회로설계 → 3학년 2학기 컴퓨터 구조를 들으시는 것을 추천드립니다 파일 용량 한계가 20MB라 나눠서 업로드했습니다. 다만 글씨체가... 도움이 되면 좋겠습니다 ㅠ

counter.v 파일 `timescale 1ns/1ns module counter (rst, on, clk, count, in, out0609); input rst, on, clk; output reg [3:0] count; reg [6:0]tmp; input in; output reg [6:0] out0609; always@(posedge clk) begin if(rst == 0) begin count = 0; out0609 = 0; end else if (on) begin//on이 1일때 가동 if(count == 6) begin count

ff.v 파일 //positive edge FF의 예시 module flipflop1 (d, clk, q); input d, clk; output reg q; always @ (posedge clk)//클럭이 rise edge일때 동작 begin//always@(negedge clk)으로 적는다면 falling edge일때 동작 q

add, sub, mux, div, mux41 모듈을 각각 구현하고 최종적으로 alu16 모듈에 합친 파일. add, sub, mux, div, mix41이 alu16의 하위 모듈에 해당한다. module add(out, a, b);//adder 모듈 input [15:0] a, b; output [15:0] out; assign out = a + b; endmodule module sub(out, a, b); //subtractor 모듈 input [15:0] a, b; output [15:0] out; assign out = a - b; endmodule module mul(out, a, b);//multiplyer 모듈 input [15:0] a, b; output [15:0] out; assign..