System Programming4 [시스템 프로그래밍] 어셈블리어 메모리메모리는 코드와 데이터가 저장되는 공간값들을 저장한 뒤 이 값을 가리킬 주소가 필요한데, 바이트 단위의 주소 부여인텔 8086은 segment:offset 주소 결합으로 물리적 주소 지정레지스터CPU 내 위치하는 저장 공간범용 레지스터AXAH, AL수학 연산, I/O 연산, INT21BXBH, BLBase 또는 PointerCXCH, CL루프 및 반복DXDH, DL다양한 데이터, 문자 출력세그먼트 레지스터CS: 코드를 저장하는 메모리 블록DS: 데이터를 저장하는 메모리 블록EX: 비디오 등의 처리를 위해 사용SS: 루틴으로부터 return address를 저장하기 위해 프로세서에 의해 사용인덱스 레지스터SI: 문자열/배열 소스 지정DI: 문자열/배열 목적지 지정IP: 다음 명령의 주소 저장스택 레지.. 2025. 10. 21. [시스템 프로그래밍] 인텔 프로세서 구조 32비트 프로세스 실행 환경펜티엄Pentium 프로세서는 한 번의 클럭에 두 개의 명령어를 실행할 수 있는 슈퍼 스칼라 구조를 가짐내부적으로는 486과 같은 32bits 버스를 사용하지만 메모리와 연결되는 외부 데이터 버스가 64bits라 단일 버스 사이클 당 전송될 수 있는 데이터의 양이 486의 2배가 됨주소 공간64GB 물리적 주소 공간4GB의 선형 주소 공간기본 프로그램 실행 레지스터범용 레지스터 8개세그먼트 레지스터 6개EFLAGS 레지스터EIP 레지스터x87 FPU 레지스터x87 FPU 데이터 레지스터 8개x87 FPU 제어 레지스터상태 레지스터x87 FPU IP 레지스터x87 FPU 명령어 레지스터부동 소수점(단정도, 배정도) 연산 실행 환경 제공MMXTM 레지스터64비트로 패킷된 바이트, .. 2025. 10. 21. [시스템 프로그래밍] 컴퓨터 동작의 기본 개념과 명령어 해석 컴퓨터 연산 단위비트bit0 또는 1을 표현하는 최소 단위바이트byte8개의 비트를 표현하는 단위 (8 bit == 1 byte)워드word컴퓨터가 데이터를 한 번에 처리할 수 있는 단위 (레지스터에 데이터를 한 번에 옮길 수 있는 단위)컴퓨터 조직각 장치들은 시스템 버스(주소 버스, 데이터 버스, 제어 버스 등)를 이용하여 상호작용프로세서는 작업의 효율을 위해 내부에 캐시cache를 두어 최근 명령이나 데이터 저장1차 캐시제일 먼저 조사하는 캐시2차 캐시1차 캐시에 관련 내용이 없을 경우 2차 캐시 조사1차보다는 느림3차 캐시2차 캐시에도 없으면 3차 캐시 조사속도가 1차, 2차 대비 느림 그래도 없으면 메인 메모리에서 가져옴명령어 실행 순서Read Cycle: CPU가 RAM의 데이터를 읽어와서 저.. 2025. 10. 20. [시스템 프로그래밍] 개요 / 언어의 계층구조와 컴파일 과정 컴퓨터 시스템컴퓨터 시스템은 하드웨어Hardware와 소프트웨어Software로 분류 하드웨어중앙 처리 장치기억 장치입출력 장치소프트웨어시스템 소프트웨어응용 소프트웨어시스템 소프트웨어시스템 소프트웨어의 정의컴퓨터 시스템의 하드웨어 요소를 제어하고 관리하는 소프트웨어시스템 소프트웨어 종류언어 처리: 컴파일러, 어셈블러, 인터프리터 등운영체제: 프로세스 관리 등유틸리티: 로더, 드라이버, 백신, DBMS 등프로그래밍 언어의 계층구조기본적으로 컴퓨터는 기계어만을 이해하며,사람의 입장에서 알아볼 수 있는 언어를 컴퓨터 언어로 변환하는 과정이 필요(사람)자연어고급 언어기호 언어 (어셈블리어 등)기계어(기계)Translator특정 언어를 다른 언어로 바꾸는 과정컴파일러compiler소스코드를 어셈블리어로 통째로 .. 2025. 10. 20. 이전 1 다음