본문 바로가기

Computer Architecture46

페이지 테이블과 주소 변환(Address Translation) - 가상 메모리 시리즈 모아 보기-https://microelectronics.tistory.com/99 페이지 테이블 (Page Table)페이지 테이블이란?페이지 테이블은 가상 주소(virtual address, VA)를 물리 주소(physical address, PA)로 매핑하는 데 사용되는 데이터 구조이다. 가상 메모리 시스템에서 프로그램이 사용하는 가상 주소를 물리 메모리로 변환하여 실제 데이터를 접근할 수 있도록 돕는다. 페이지 테이블은 가상 주소와 물리 주소 간의 매핑을 기록한 항목으로 구성되며, 이를 페이지 테이블 엔트리(Page Table Entry, PTE)라고 부른다.왜 페이지라고 불리는가?가상 주소 공간이 크기 때문에, 각 가상 주소마다 하나의 엔트리를 할당하면 페이지 테이블의 크기.. 2024. 10. 25.
Virtual Memory(가상 메모리)의 동작 방식 - 가상 메모리 시리즈 모아 보기-https://microelectronics.tistory.com/99 가상 메모리의 동작 방식가상 메모리는 프로그램이 보는 가상 주소(virtual address, VA)와 실제 컴퓨터에 설치된 물리 메모리(RAM)가 사용하는 물리 주소(physical address, PA) 간의 매핑을 제공하는 방식으로 동작한다. 가상 메모리는 컴퓨터 시스템에서 메모리를 효율적으로 관리하고, 제한된 물리 메모리를 초과하는 데이터도 디스크와의 연동을 통해 처리할 수 있도록 돕는다.가상 주소와 물리 주소:가상 주소(VA)는 프로그램이 사용하는 주소이다. 물리 주소(PA)는 실제로 하드웨어에서 사용하는 주소로, 이는 시스템에 설치된 RAM 용량에 따라 달라진다. 예를 들어, 2GB의 RA.. 2024. 10. 24.
Virtual Memory(가상 메모리)는 무엇이고 왜 사용되는가? - 가상 메모리 시리즈 모아 보기-https://microelectronics.tistory.com/99 Physical Memory와 관련된 세 가지 문제현대 컴퓨터 시스템에서는 가상 메모리를 통해 여러 프로그램이 한정된 물리 메모리를 효과적으로 사용할 수 있다.그런데 가상 메모리 도입 이전에는 프로그램 실행 중에 발생할 수 있는 여러 가지 문제가 있었다. 이번 게시글을 통해 가상메모리를 사용하지 않을 경우 발생할 문제와 이를 가상메모리로 어떻게 극복하는지에 대해 알아보자.1. 메모리 부족 문제물리 메모리가 부족한 경우, 프로그램이 실제 메모리를 초과하여 액세스하려 할 때를 생각해보자.예를 들어, 컴퓨터에 1GB의 물리 메모리만 있는 상황에서 4GB를 사용하는 프로그램을 실행하면 메모리 부족으로 프로그.. 2024. 10. 23.
[RISC-V] 컴퓨터구조 - Addressing Mode & Instruction Format 사전 참고 1. [RISC-V] 컴퓨터구조 - Instructions 개요 https://microelectronics.tistory.com/38 2. [RISC-V] 컴퓨터구조 - Instruction to Machine Code https://microelectronics.tistory.com/39 3. [RISC-V] 컴퓨터구조 - Procedure call 과 스택포인터 https://microelectronics.tistory.com/402.9 Communicating with PeopleASCII 코드를 통해 1바이트 숫자로 문자를 표현할 수 있게 되었다. 따라서 당연히 바이트를 추출하는 명령어도 존재해야 한다.당연하게 byte load 시 오른쪽 기준으로 load 된다. 2.10 RISC-V.. 2024. 3. 12.
[RISC-V] 컴퓨터구조 - Procedure call과 스택포인터 사전 참고 1. [RISC-V] 컴퓨터구조 - Instructions 개요 https://microelectronics.tistory.com/38 2. [RISC-V] 컴퓨터구조 - Instruction to Machine Code https://microelectronics.tistory.com/39 2.8 Supporting Procedure in Computer Hardware procedure (절차)/ 함수 를 실행하기 위해서 프로그램은 반드시 아래 6가지 단계를 밟아야 한다. procedure 가 접근할 수 있는 곳에 파라미터(매개변수)를 둔다 procedure 을 제어,전달한다. procedure 에 필요한 storage resource 를 획득한다. 해당하는 task 를 수행한다. proc.. 2024. 3. 11.
[RISC-V] 컴퓨터구조 - Instruction to Machine Code 사전 참고 1. [RISC-V] 컴퓨터구조 - Instructions 개요 https://microelectronics.tistory.com/38 2.5 Representing Instructions in the Computer 이전 게시글에서 살펴본 명령어가 하드웨어적으로 인식이 되기위해서는 정해진 규칙에 맞게 이진수로 변환이 되어야 한다. 아래는 설명에 들어가기전 어셈블리어를 머신코드로 변환한 간단한 예시이다. 이 미리 정해놓은 규격, 레이아웃을 instruction format 이라고 한다. instruction format 에 맞게 명령어를 이진수로 변환시키면 그것이 바로 machine code 가 되는 것이다. RISC-V Fields R-type Instructions - Instruction.. 2024. 3. 11.
[RISC-V] 컴퓨터구조 - Instructions 개요 2.1 Introduction 컴퓨터에 명령을 하기위해서, 'instruction (명령어)' 라고 불리는 컴퓨터 언어를 사용해야 한다. 해당 명령어들의 집합을 instruction set 이라고 한다. Instruction Set Architecture (ISA) 란 instruction set 이 해당 하드웨어에 적용될 수 있도록 구조와 인터페이스를 설계한 것을 의미한다. 또한 하드웨어의 레지스터 구조, 명령어의 실행방식등도 정의한다. 따라서 컴파일러나 어셈블러가 이 ISA 를 토대로 설계되어 사람이 작성한 고수준언어(C, C++)가 하드웨어에 효율적으로 매핑될 수 있도록 한다. 정리하면, 컴파일러는 사람이 작성한 C나 C++ 같은 코드를 어셈블리어로 변환하는데, 이 어셈블리어가 아래의 표와 같은 I.. 2024. 3. 9.
입출력작업 - programmed i/o, interrupt driven i/o, DMA 초안 :  2023.04.18 입출력장치 (I/O Device)입출력장치 (키보드, 마우스, 저장자치) 들은 각자 저마다의 컨트롤러를 통해 CPU 와 연결된다. (시스템 버스와 연결된다)물론 각 장치의 컨트롤러들은 장치에 특화된 기능을 수행하기도 하지만, 본 게시글에서는 CPU 와 입출력장치 간의 중개역할에 대해서만 언급한다.위와 같은 관점에서 컨트롤러는 아래와 같이 3종류의 레지스터로 간략히 표현할 수 있다.데이터 레지스터 : CPU 와 입출력장치 간에 주고받는 데이터가 담기는 레지스터. 데이터 버퍼링을 하며, 상대적으로 느린 I/O 장치와 CPU 의 전송률 차이를 완화한다.상태 레지스터 : 입출력 장치가 입출력 작업을 할 준비가 되었는지, 완료되었는지, 오류가 없는지 등의 상태 정보를 저장한다.제어 .. 2023. 4. 19.
캐시 메모리(Cache Memory)의 쓰기 동작 초안 :  2023.04.12 2023.04.10 - [Computer Architecture] - 캐시 메모리(Cache Memory)의 원리2023.04.11 - [Computer Architecture] - 캐시 메모리(Cache Memory)의 구조 및 동작 과정 - 12023.04.12 - [Computer Architecture] - 캐시 메모리(Cache Memory)의 구조 및 동작 과정 - 2 지금까지는 내용은 모두 메모리를 read 할 때 캐시가 어떻게 동작하는지에 관한 것이었다. 프로세서는 메인 메모리에 값을 저장하려고 할 때, 캐시메모리에도 저장하고 메인 메모리에도 기록한다. 그런데 결과 값을 저장할 때마다 캐시와 메인 메모리 모두에 저장을 한다면, 메인 메모리의 늦은 access .. 2023. 4. 12.