총 51개
-
소프트웨어 보안 CWE Top 25 보안 약점 과제2025.01.121. Use After Free (UAF) UAF는 해제된 메모리 영역을 재사용할 때 발생하는 보안 약점으로, Heap 영역에서 일어나는 문제입니다. 해제된 메모리 공간이 새로운 포인터에 할당될 경우 그 포인터가 해당 영역의 값과 주소 값을 사용할 수 있게 되어 발생합니다. 이를 악용하여 공격자가 해당 영역을 공격 코드로 덮으면 개발자가 의도치 않게 공격 코드를 실행할 수 있습니다. 2. Server-Side Request Forgery (SSRF) SSRF는 서버 측에서 피해자에게 위조된 요청을 보내도록 하는 공격입니다. 웹 서버...2025.01.12
-
어셈블러의 설계 알고리즘과 자료구조2025.05.131. 어셈블러의 설계 알고리즘 어셈블러는 두 개의 패스로 구성됩니다. 패스 1은 명령어 표를 참조하여 명령어들의 상대 주소를 결정하고, 기호표를 작성하여 기호의 재배치 여부를 결정하는 역할을 합니다. 패스 2는 명령어를 2진 코드로 대체하고 명령어의 기호를 기호표에 있는 값으로 대체하는 역할을 합니다. 2. 어셈블러의 자료구조 패스 1과 패스 2는 각각 다른 역할을 수행하므로 연관된 데이터베이스도 달라 각각의 자료구조를 갖습니다. 패스 1은 원시 프로그램, 명령어 및 지시어 표를 입력으로 받고 기호 표를 출력합니다. 패스 2는 패스...2025.05.13
-
서강대학교 23년도 마이크로프로세서응용실험 6주차 Lab06 결과레포트 (A+자료)2025.01.211. Subroutines 실험에서는 subroutine의 호출 및 복귀와 관련된 명령어들의 동작을 이해하고, stack의 활용법과 push, pop 명령어, subroutine에서의 stack의 역할을 학습했습니다. 또한 subroutine으로의 parameter 전달 방식을 이해하고, 개별적인 파일에 작성된 subroutine의 assemble, compile 및 link를 위한 directive의 역할을 이해했습니다. 2. Stacks 실험에서는 LIFO(last-in first-out) 개념을 갖는 stack 메모리 영역의 ...2025.01.21
-
서강대학교 23년도 마이크로프로세서응용실험 3주차 Lab03 결과레포트 (A+자료)2025.01.211. 메모리 소자 마이크로 컨트롤러는 메모리 소자를 내장하고 있다. 메모리 소자는 크게 ROM과 RAM으로 구분되며, 이 둘의 차이는 volatile 여부로 나뉜다. RAM에서는 CPU가 데이터를 읽거나, 쓰는 동작을 수행할 수 있다. 2. SRAM 구조 및 동작 SRAM의 경우 메모리 소자의 한 종류이다. 메모리의 동작을 위해서는 핀들을 통한 신호전달이 필요하다. /CS는 특정 메모리 소자를 선택하는 신호로, LOW일 때 메모리가 선택되어 read/write가 가능해진다. /WE는 메모리에 데이터를 쓰고자 할 때 LOW가 되어야 ...2025.01.21
-
[A+레포트] 어셈블리어의 특징과 명령어 형식을 설명하시오.2025.01.131. 어셈블리어의 개념 및 특징 어셈블리어는 컴퓨터 아키텍처에 밀접하게 연관된 저수준 프로그래밍 언어입니다. 이는 기계어 코드에 대응하는 기호적인 명령어를 사용하여 프로그래밍을 수행합니다. 어셈블리어의 가장 큰 특징은 기계어와의 1:1 대응 관계에 있습니다. 이로 인해 프로그래머는 컴퓨터의 작동 원리와 메모리 구조를 정확히 이해하고, 이를 바탕으로 최적화된 코드를 작성할 수 있습니다. 그러나 어셈블리어의 사용은 코드의 가독성이 낮고, 작성 및 유지 보수가 어렵다는 단점이 있습니다. 2. 어셈블리어의 명령어 형식과 구조 어셈블리어의 ...2025.01.13
-
방송통신대학교_프로그래밍언어론_중간과제(2023)2025.01.241. CPU의 기계어 명령어 실행 과정 컴퓨터의 CPU가 기계어 명령어를 실행하는 과정은 크게 4단계로 나눌 수 있습니다. 인출(Fetch) 단계에서 CPU는 메모리로부터 다음 실행할 명령어를 가져옵니다. 디코딩(Decode) 단계에서 CPU는 가져온 명령어가 무엇을 의미하는지 해석합니다. 실행(Execute) 단계에서 CPU는 해석한 명령어에 따라 실제 작업을 수행합니다. 저장(Store) 단계에서 명령어의 실행 결과가 있을 경우, 그 결과를 메모리에 저장합니다. 이런 과정들이 수백, 수천, 수만 번 반복되며 컴퓨터는 우리가 원하...2025.01.24
-
2023학년도 2학기 방송통신대학교 중간과제물 프로그래밍언어론2025.01.241. 메모리에 적재된 프로그램의 기계어 명령어 수행 과정 CPU는 인출, 해석, 실행의 세 가지 단계를 반복하며 명령어를 처리합니다. 인출 단계에서는 메모리(RAM)에 있는 명령어를 가져오고, 이를 해석하여 해당 명령어에 적혀있는 메모리 주소와 레지스터 값 등을 실제로 처리합니다. 2. 고급 프로그래밍 언어 구현 방법 고급 프로그래밍 언어로 작성된 프로그램을 CPU가 수행하기 위해서는 컴파일러와 인터프리터 두 가지 방법이 사용됩니다. 컴파일러는 소스코드 전체를 한 번에 기계어 코드로 번역하여 하드웨어에 전달하고, 인터프리터는 명령어...2025.01.24
-
Cortex M3의 Code, 접미사, CPSR의 플래그, 의미를 논하시오2025.01.171. Cortex-M3 아키텍처 개요 Cortex-M3는 ARM Holdings에서 개발한 32비트 RISC 마이크로프로세서 아키텍처로, 임베디드 시스템 및 실시간 응용 분야에 최적화되어 있습니다. 이 아키텍처는 저전력 소비, 높은 성능, 신뢰성, 보안 등 다양한 요구사항을 충족시킬 수 있습니다. Cortex-M3는 Harvard 아키텍처를 기반으로 하며, 단일 사이클 명령어 실행을 지원하여 효율적인 처리를 가능하게 합니다. 2. Code Code는 마이크로프로세서에서 실행되는 명령어들의 집합을 의미합니다. 이는 프로그래머가 작성한...2025.01.17
-
Cortex M3의 내부 구성도2025.01.121. Cortex-M3 프로세서 아키텍처 Cortex-M3 프로세서는 하버드 구조를 기반으로 하며, 명령어와 데이터 메모리가 분리되어 있습니다. 3단 파이프라인 구조를 채택하여 명령어를 빠르게 처리하며, Thumb-2 명령어 세트를 사용하여 코드 밀도를 높입니다. 또한, 2개의 동작 모드(Thread 모드 및 Handler 모드)를 지원하여 인터럽트 처리를 효율적으로 수행합니다. 2. Cortex-M3 프로세서의 주요 구성 요소 Cortex-M3 프로세서는 프로세서 코어, 메모리 시스템, 버스 시스템, 인터럽트 제어기, 디버그 모듈...2025.01.12
-
방통대 출석대체시험 컴퓨터구조 요약본2025.01.261. 컴퓨터 세대별 발전과정 컴퓨터 세대별 발전과정은 1세대 - 진공관(어셈블리어 일괄처리), 2세대 - 트랜지스터(고급언어 실시간처리), 3세대 - 직접회로[IC](시분할처리), 4세대 - LSI(인공지능 전문가시스템), 5세대 - VLSI(병렬처리, 자연언어처리)로 설명되어 있습니다. 2. 기본 연산회로 기본 연산회로에는 가산기(덧셈), 감산기(뺄셈), 승산기(곱셈), 제산기(나눗셈)이 포함됩니다. 3. MSI(Medium Scale Integrated circuits) MSI(Medium Scale Integrated circ...2025.01.26
