나 같은 프로그래머야 손쉽게

특정 메모리 번지에 값을 쓰면 하드웨어가 제어되는데

이게 하드웨어적으로 어떻게 처리되는지가 궁금해서 찾다가 든 생각


어짜피 CPU 내부 레지스터는 플립플롭이고 값이 변화하지 않는 이상 + 전기가 공급되는 이상

회로에 입력으로 쓰일수 있는 값이 지속적으로 나오고 있으니

레지스터는 하드웨어 플립플롭이고

cpu의 메모리 디코더를 통해 해당 플립플롭으로 값을 쓸수 있도록

메모리 번지와 하드웨어 어드레스 매칭을 통해 cpu에서 저장할 공간을 해당 플립플롭을 연결해주면

하드웨어 - 소프트웨어 연결이 끝! 일려나?


다만 DRAM의 경우 읽으면 다시 리프레시 하거나 해줘야 하니

이런식으로 쓰긴 힘들거 같고.. 그래픽 카드 값은 넓은 범위의 메모리를 쓰는 녀석들은

DMA 등을 통해 자기 자신의 메모리가 건드려지게 되면 내부적으로 트리거 되서 작동하도록 되어 있으려나?



결론은.. 현 구조의 CPU 에서는 레지스터는 필수불가결한 존재?


[링크 : https://en.wikipedia.org/wiki/Processor_register]

신고

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

3d sbs tab  (0) 2017.06.12
DDR3 ZQ calibration  (0) 2017.04.27
MMIO 하드웨어와 소프트웨어의 결합  (0) 2017.04.14
CMT SMT?  (0) 2017.03.06
db shading  (0) 2016.05.08
h.264 헤더  (0) 2016.02.02
Posted by 구차니

댓글을 달아 주세요