728x90

레지스터는 데이터를 저장하고 조작하는 것을 돕는 마이크로프로세서의 메모리 영역이다.

컴퓨팅에서, 하드웨어 레지스터는 다른 종류의 '하드웨어 입출력 (I/O)'를 위한 저장공간이다. 하드웨어 레지스터는 주요 주변장치의 내부에 포함되어 있고, '메모리맵 I/O'나 '포트맵 I/O'의 의미에 따라서 컴퓨터의 '중앙 처리 장치(CPU)'를 나타낸다. 

 

특히 초기화 동안에, "환경설정"과 주기능의 시작을 포함하는 하드웨어 레지스터의 일반적인 사용은,
1. "버퍼 저장공간" (예시로 그래픽 카드 VGA 를 위한 비디오 메모리)과,
2. 하드웨어 장치에 발생되는 주요한 사건 같은 "상황 보고"가 있다. 읽어진 하드웨어 레지스터는 프로세서(Processor, Microprocessor, CPU)에 의한, "읽기"나 "저장" 명령과 접근한 그것의 메모리나 포트주소를 포함한다.
하드웨어 레지스터는 ‘워드’로 주소화되지만, 레지스터를 읽거나 쓰는데, 가끔씩 워드의 몇 비트만 사용한다.

스트로브 레지스터:
스트로브 레지스터는 데이터를 저장하지않는 하드웨어 레지스터이지만 접근할 때 동작을 triggering 수단처럼 사용된다. 신호의 수단이다.

전자 제품에서 각각의 주변 기기들을 제어하기 위해 설계된 펌웨어 또한 장치 드라이버라고 한다. 장치 드라이버의 실제 예는 소스가 공개된 '리눅스 커널 소스'에서 /driver 디렉토리 밑에 있는 것을 참조하여 볼 수 있다.



*
컴퓨터구조
컴퓨터운영체제
컴퓨터네트워크
자료구조 및 알고리즘

이 4과목은 진짜 열심히하세요. (프로그래밍 언어론. 언어문법은 기본이거니와) 이 기본기가 탄탄한 사람과 아닌 사람은 이해속도는 물론 '커뮤니케이션'에서도 엄청 차이납니다.

일단 '레지스터'가 뭔지는 알고 계시나요? 쉽게 말해서 저장소에요. 1이나 0이라는 이진데이터를 저장하죠. 한마디로 스위치처럼 레지스터의 "상태"에 따라 1과 0이라는 값을 의미합니다.

그런데 '레지스터'에 들어있는 값이 똑같은 1이라도 컴퓨터의 주 '상태'나 '시간'에 따라서 '의미'가 다르다는 뜻이에요. 그럼 같은 값인데 의미가 다르게 부여되려면 "어떤 상태일 때 1은 이러이러한 뜻이고 0은 저러저러한 뜻이다 그리고 또 다른 상태일때는 1이 비비비한 뜻이고 0은 부부부한 뜻이다"라는 정의가 미리 내려저 있어야 하잖아요. 그게 바로 제어규칙이라는 뜻입니다.

의미론적 해석. 수평 마이크로 명령 형식이라는 건 한마디로 스위치를 엄청 많이 만든다고 보시면 되요. 만약에 방안에 형광등이 6개 있고 스위치가 3개 있다면

1번 형광등만 키는 건 000
2번 형광등만 키는 건 001
3번 형광등만 키는 건 010
4번 형광등만 키는 건 011

식으로 정해놓고 필요한 걸 켤수 있죠. 하지만 011로 4번 형광등만 켜기 위해서는 011이면 4번 형광등 쪽으로면 전기를 보내고 나머지는 차단하는 로직이 필요해요. 그 로직이 돌아가는 만큼 시간이 걸리죠.

하지만 그냥 형광등 6개에 스위치 6개를 하나씩 연결해 놓으면 스위치에서는 전기선만 이었다 끊었다 하면 되죠. 그래서 수평 마이크로 명령 중간에 쓸데 없는 로직(명령어해독)이 필요없고 불필요한 부분이 빠진만큼 효율적이게 되죠. 하지만 스위치를 더 많이 설치해야되니까 자리도 많이 차지하고 돈도 당연히 더들죠.


상태, 표현, 의미

+ Recent posts