CMOS/BIOS 관련 공부하고 있는데... 봐주실 분 계실까요?

회원   
   조회 2795   추천 0    

 



요새 컴퓨터 공부중인데... 기본적인 것부터 해보고자 시모스와 바이오스에 대해 이해하려고 합니다. 인터넷 여기저기서 짜집은 글인데... 잘 읽히는지... 이해가 안 가는 곳이나 잘못된 점, 보완사항 있을지... 읽어봐주시면 감사하겠습니다..








1줄 요약 : 씨모스나 바이오스나 결국 메모리칩이고 그곳에 각기 CMOS data, 바이오스 펌웨어가 저장되어 있다. 컴퓨터 동작의 근간이 되는 정보가 저장되어 있고 두 메모리가 긴밀히 동작하여 컴퓨터 내/외부의 하드웨어를 동작시킨다.


마더보드에 BIOS 롬(EEPROM) + BIOS 램(SRAM, Static RAM) + CMOS 칩 이렇게 세 가지 메모리 칩(혹은 플레시 매모리)이 물리적인 부품으로서 장착되어 있다.


BIOS 롬에는 BIOS 프로그램(펌웨어)이 저장되어 있다. 이 롬 칩은 EEPROM으로 배터리와 상관없이 날아가지 않는다.


BIOS 램은 BIOS 설정값을 저장하는 SRAM이다. 롬과는 별도의 물건이다. 배터리에 의존한다. 






바이오스 (Basic Input/Output System)



컴퓨터 소프트웨어의 최저층에 존재하며, 부팅 전 소프트웨어와 하드웨어(메모리, HDD, 모니터 등) 간의 설정 및 정보 전달의 매개 역할을 하는 컴퓨터의 펌웨어이다. 쉽게 말해 운영체제는 메인보드나 그래픽카드와 같은 하드웨어와 통신하기 위해 중간 매개체를 사용하는 것이 효율적이다. 그렇게 되면 운영체제는 세부적인 하드웨어의 구성이나 신호체계를 알 필요없이 중간 매개체와만 통신하면 된다. 이러한 중간 매개체 역할을 하는 것이 BIOS이며 이것은 하드웨어가 제조될 때 제조회사에서 하드웨어에 포함시켜 둔다.





바이오스는 컴퓨터 전원을 켜면 가장 먼저 돌아가는 프로그램이다. 이것은 아주 작은 용량의 메모리 형태(ROM 플래시 메모리)로 메인보드에 장착되어 있다. 롬에 저장되어 있어서 롬 바이오스라고 부른다. 롬은 읽을 수만 있고 데이터를 작성 할 수 없다는 뜻의 Read Only Memory의 줄임 말이다.




참고로, 펌웨어는 하드웨어를 작동 시키는 일종의 프로그램 같은 것인데 우리가 흔히 쓰는 애플리케이션 같은 프로그램은 아니고 컴퓨터의 하드웨어에 가장 접근되어 있는 함수들의 집합이라고 볼 수 있다. 만일 이 바이오스라는 프로그램이 없다면 우리는 컴퓨터를 사용할 수 없다.



보통 바이오스는 시스템 구동에 필요한 정보를 최초 로드하기 위한 기초 정도만 있으면 되므로 용량이 작다. 최근엔 256Mb(32MB) 플래시 메모리를 채용하는 추세이다.



전원이 처음 켜지면 바이오스는 POST(Power-On Self Test)라고 메모리나 기타 주변기기들을 체크하고 운영체제를 읽어들인다. 또한 하드디스크나 CD-ROM, 램 등이 추가되어 시스템이 변경된 경우 바이오스에서 셋업할 수 있도록 해준다.



바이오스와 하드디스크의 접점에 있는 개념으로 MBR이란 것이 있다. MS와 IBM이

개발한 기술로, 부팅 순위 1순위 저장 장치 드라이브의 최상위 파티션 첫 번째 섹터의 첫 번째 바이트부터 마지막 바이트까지 부팅 정보를 써 놓고 바이오스가 이를 읽어들여 부팅하게 만들었다. 이를 MBR(Master Boot Record)라 불렀다.



그러나 세월이 흘러 MBR의 한계가 드러나기 시작했는데, 관리 할 수 있는 섹터 제약으로 2.2TB 이상이라면 하드디스크가 인식이 되지 않는 일이 생긴다. 그래서 윈도우에서 하드를 포맷할 때, 3테라 이상이면 GPT, 이하면 MBR로 포맷하라는 얘기가 있다.




요즘 나오는 메인보드의 경우 바이오스 칩이 2개인 경우가 있는데 메인과 백업 칩이다. 메인칩의 바이오스가 손상되었을 경우 백업칩의 바이오스를 불러온다. 덕분에 바이오스가 손상되더라도 바로 벽돌이 되지 않는다. (듀얼 바이오스)





CMOS


(Complementary Metal-Oxide Semiconductor)


CMOS는 직역하자면, ‘상보적 금속 산화물 반도체’다. 이것은 집적회로의 한 종류다. 이름만 들어도 복잡해 보이는데, 이 뜻을 구체적으로 설명하는 것은 어려우므로 대강 알고 넘어가자.



이것은 광다이오드를 사용하여 집적회로를 만드는 기술부터 그 기술로 만들어진 반도체(chip)을 가리킨다. CMOS 기술은 CPU, microcontroller, static RAM 과 같은 디지털 논리 회로에 쓰인다.



컴퓨터 메인보드를 살펴보면 RTC/NVRAM(Real Time Clock/Non-Volatile RAM)이라고 불리우는 CMOS chip이 존재한다. 일종의 메모리 칩이다. 메인보드 수은 건전지(혹은 리튬) 옆에 존재하는 이 chip이 CMOS 방식으로 만들어져 있기 때문에 그냥 그렇게 불리어온 것이다. 건전지는 CMOS battery라고 하는데 시스템이 꺼진 경우에도 RTC/NVRAM의 내용을 지속적으로 유지시키기 위해 존재한다.



CMOS 메모리는 컴퓨터의 전원이 없더라도 저전력 배터리에 의해 내용을 유지할 수 있다. 일반적으로 CMOS는 바이오스 셋업 프로그램에서 사용하는 하드웨어에 대한 정보들이 저장되어 있다.


컴퓨터는 빠른 계산 능력을 갖고 있지만 추리력이나 상상력, 적응력은 없다. 그렇기 때문에 사람이 일일이 모두 지정해 주고 닦고 조이고 기름 쳐야 겨우 제 역할을 하게 되는 것이다. CMOS에 그런 ‘역할 지정’의 데이터가 저장되어 있다. 어떤 하드 디스크가 장착되어 있는지, VGA(비디오카드)카드를 사용하는지 등. 컴퓨터가 켜지면 앞에 말한대로, 바이오스가 돌아가고 바이오스는 CMOS에 저장된 그 내용을 읽어서 자신에게 어떤 주변기기들이 장착되어 있으며 어떻게 제어를 해야 할지 알게 되는 것이다.



CMOS Data는 컴퓨터의 근간이 되는 프로그램이므로 포맷하더라도 절대 리셋되지 않고 유지된다. CMOS는 컴퓨터 전원이 꺼지더라도 CMOS battery(수은이나 리튬)를 통해 저장된 데이터를 손실하지 않는다.




시모스 반도체는 다른 반도체 소자에 비해 전력의 소비가 극히 적다. 우리가 컴퓨터의 전원을 내려도 여기에 저장된 것은 지워지지 않는데, 그것은 작은 전지로 전력이 공급되기 때문이다. 배터리는 전자 계산기나 전자 시계에 들어가는 것과 비슷한 모양의 전지를 사용한다. 대개 리튬이나 수은 전지가 쓰인다.



컴퓨터를 완제품으로 구입한 사람은 이미 CMOS 셋업이 잘 되어 있을 것이다. 따라서 거의 신경을 쓰지 않는다. 하지만 하드 디스크 등을 추가로 장착하거나 아니면 컴퓨터를 자신이 조립하여 사용하는 사람들은 반드시 CMOS 설정이 필요하다.



CMOS는 기본적으로 ROM이므로 읽기만 가능하고 쓰기(

데이터 수정)는 불가능하다.




그렇다면 이제 왜 CMOS와 BIOS가 혼동되고 있는지 살펴보자. 부팅하면서 부팅 설정을 하기 위한 파란 화면에 뜨는 내용들은 실제 CMOS(RTC/NVRAM)칩에 저장되어 있다. 하지만 이러한 데이터를 설정할 수 있도록 파란화면을 뜨게 하는 프로그램(유틸리티)는 ROM BIOS에 존재한다. 따라서 컴퓨터 시스템을 부팅하면서 F1, F2, ESC, Delete(제조 회사마다 다른)들의 키를 누르게 되면 ROM BIOS에 포함된 BIOS 설정 유틸리티가 CMOS의 내용을 읽어와 설정할 수 있도록 보여주는 것이다.




짧은글 일수록 신중하게.
박문형 2022-11
일반적인 이야기입니다만 저것을 작성해야 할 이유가 있나요??

시간이 지나면 새로운 컴퓨터가 나오고 그렇게 되면 또 변화가 됩니다..

저 내용들은 절대적이지 않습니다..

그리고 대략 내용을 보면 PC 베이스를 근간으로 이루어진 내용입니다..
     
성민경 2022-11
그냥 뭐라도 좀 이해하고 싶어서요..
piloteer 2022-11
CMOS: 원래 모스펫 기반 디지털 로직 IC를 부르는 이름입니다. 근데 IBM PC쪽에서는 BIOS로 혼동되기도 합니다.  CMOS에 해당하지 않는 디지털 로직 IC로는 NMOS IC와 PMOS IC 등이 있는데, 요즘은 거의 쓰지 않습니다.

BIOS ROM: BIOS 프로그램이 저장된 롬입니다. EEPROM에 저장되어 코인 배터리와 상관이 없이 날아가지 않습니다.
BIOS RAM: BIOS 설정값을 저장하는 램입니다. 롬과는 별도의 물건입니다. 코인 배터리가 RTC와 BIOS용 SRAM을 유지하는 역할을 합니다. 단, 요즘은 아키텍쳐가 달라지면서 SRAM 대신 플래시 메모리/EEPROM에 데이터를 저장하기도 합니다. 이 메모리를 (시스템용 DRAM과 구분해서) CMOS memory 혹은 CMOS RAM이라고도 불렀는데, BIOS와 CMOS를 혼동하는 사람들이 나온 이유가 이것 때문입니다. SRAM은 일반적인 디지털 로직은 아니나 내부적으로 CMOS 구조를 가집니다. 이에 따른 혼동을 방지하기 위해 BIOS RAM이라고 적었으나, 흔히 쓰는 표기법은 아닙니다.

BIOS: BIOS ROM에 저장된 시스템 펌웨어입니다. CPU가 부팅시 가장 먼저 읽어오는 프로그램...이란 것은 사실 거짓말이긴 한데, 원래는 그랬고, 다루는 입장에선 그렇게 취급해도 무방합니다. 요즘은 컴퓨터가 복잡해져서 사실은 뭔가 더 덕지덕지 붙어있을 수 있습니다. 컴퓨터가 IBM PC로써 동작할 수 있도록 만들어주는 일종의 호환 레이어 역할을 합니다. 요즘은 EFI로 대체되어가고 있습니다.
     
성민경 2022-11
선생님, 그렇다면 마더보드에 BIOS 롬 + BIOS 램 이렇게 두 메모리 칩(혹은 플레시 매모리)이 물리적인 부품으로서 장착되어 있는 건가요?
          
핸즈 2022-11
반도체 칩으로보드에 말하신거 각각 납땜되있어요
          
piloteer 2022-11
네, 전통적으로는 그렇습니다. 요즘은 뭐 이것저것 바뀌었으니 딱 그걸로 정리가 되진 않을 수도 있는데요.. 예를 들어 백업 롬이 추가로 있는 경우도 있고...

BIOS 롬은 EEPROM, 램은 SRAM으로 별도인데 "BIOS RAM"이라고는 잘 안 부르긴 합니다. 이번엔 분류 편의상 임의로 그렇게 불렀어요.

옛날에는 BIOS설정을 직접 EEPROM이나 플래시에 저장하는 게 기술적으로 힘들었기 때문에 (가능은 하나 비쌌으므로) SRAM에 저장하는 식이 되었습니다. 당시엔 흔한 설계였는데, 뭐 구형 닌텐도 게임 카트리지같은것도 그런 구조였습니다. (EEPROM은 아니고 마스크롬이지만..)

단, IBM PC의 경우 어차피 시간 관리에 SRAM과 배터리가 필요했으니 그거랑 BIOS 저장용 램을 합쳐뒀습니다. 그래서 RTC 이야기가 나오는 것입죠. 이건 설계에 따라선 아마 꼭 그렇게 하진 않아도 될 겁니다.
댕댕이 2022-11
내용적인 부분은 저 정도면 충분하고 자세히 공부하고 싶다면
UEFI Forum에 가입하고 EDK II UEFI 프로그래밍 공부를 하시면 됩니다.
근데 우리나라에 UEFI 프로그래머 수요가 많지는 않습니다만.. 취미로 공부하기엔 나쁘지 않다 생각합니다.
     
성민경 2022-11
아아 감사합니다... 저는 프로그래머는 아니구요. 그냥 컴퓨터가 어떻게 작동하는지... 맨날 컴퓨터 만지는 사무원인데 좀 알아야 겠다 싶어서요.. 뭐부터 할까 하다가 제일 기본적인 것부터...
김준연 2022-11
원하시는 것이 시판 메인보드의 BIOS 세팅 방법에 대해 알고자 하시는 것인지요? 아니면 그 BIOS를 실제 설계하는 방법을 배우고자 하시는지요? 후자라면 댕댕이님 말씀대로 UEFI 프로그래밍을 배워보시는 것이 맞습니다. 전자라면... 이건 그냥 'BIOS란 무엇인가?'를 알려고 하는 것은 아무런 의미가 없습니다. 그냥 BIOS 메뉴에서 나오는 각 명칭의 뜻만 알면 됩니다. 비싼 메인보드는 BIOS 메뉴 자체의 세부 내용까지 자세히 '영문'으로 설명을 하고 있어서 이것만 갖고도 웬만큼은 됩니다.
박문형 2022-11
참고로 바이오스 셋업 화면 들어가면 여러가지 메뉴들이 있고 디세이블/인에이블 등으로 동작을 정의하는데

거기에 나오는 바이오스 메뉴들 해석해 달라고 하면 100% 다 해석할 수 있는 일반인은 거의 없습니다..

특히 서버쪽이 더 심해지는데 그 서버 혹은 그 시스템에서 만돌아가는 특수기능에 대한 메뉴들이 있을수 있기 때문입니다..

그리고 이 바이오스쪽은 실제 프로그래밍해서 컴파일하고 파일로 만들어서 컴퓨터에 넣는 것인지라

실재 만들고 개발한 사람이 설명해주어야 재일 확실합니다.. (바이오스 개발 인력이 어찌 보면 재일 비싼 인력입니다..)

그 설명을 알아듣는 것도 힘든 경우가 많습니다..
     
성민경 2022-11
감사합니다..
제온프로 2022-11
-- 바이오스는 주변의 장치들을 동작 시킨다는 말도 일부 맞지마는 통신 한다고 생각해야 하는 개념도 필요합니다.
    서로의 규칙 / 프로토콜에 의해서 서로 통신한다..

-- CMOS는 바이오스가 들어잇는 장치 이름이고.. 기능적인 이름은 BIOS라 칭함

-- 컴퓨터에 전원을 넣으면.. 파워가 스스로 Self Test를 가장 먼저하고..
    그 다음은..

    PC컴퓨터  ==========        PSU =>( IPMI )=> BIOS => 운영체제
    서버/워크스테이션 ====        PSU =>  IPMI  => BIOS => 운영체제
 **** HP,Dell 서버는 IPMI (iLO , iDrac )  BIOS 와 통신도 하면서 제어도 합니다.
      그러므로 더 중요한 개념이고, 시스템 기저의 컨트롤타워 인 것이죠.
     
성민경 2022-11
감사합니다... 해당 내용 추가해야겠네요...
박문형 2022-11
컴퓨터를 부품 구해서 직접 만들고 프로그램까지 설치해서 사용 가능할 때까지 만들어보세요..

컴퓨터는 돌덩어리이고 메뉴얼 대로만 움직입니다..

컴퓨터는 미국에서 온 것인지라 영어가 필수 입니다..

메뉴얼 보고 모르면 영어공부부터 하세요..
     
성민경 2022-11
충언 감사합니다..
엠브리오 2022-11
본인이 이해가 잘 안되고 궁금한 내용을  물어보셔야..

그냥 저건 일반적인 내용들 뿐인데요.


QnA
제목Page 695/5708
2015-12   1674039   백메가
2014-05   5139483   정은준1
2024-05   2656   민경열
2023-08   2656   미친감자
2019-04   2656   kakei
2019-06   2656   Frinc
2018-12   2656   시사니
2022-11   2656   미수맨
2024-02   2656   유나이티
2019-05   2656   바람곰돌
2023-08   2656   inquisitive
2020-09   2656   galaxyfamily
2021-06   2656   보탕
2019-02   2656   김은호
2023-04   2656   비오는날우산
2020-08   2657   DDDIE
2020-03   2657   캔위드
2022-11   2657   박중석
2019-06   2657   여주농민76
2023-05   2657   victor1
2021-01   2657   shipse
2019-07   2657   성기사