Layer7 동아리 과제

하드웨어 1차시 과제

msh1307 2022. 6. 8. 07:12

ROM : Read Only Memory로 말그대로 읽기만 가능한 메모리를 뜻한다. 일반적으로 전원이 공급되지 않아도 데이터가 삭제되지 않고 반영구적으로 보존이 가능하기에 비휘발성(nonvolatile) 메모리라고도 한다. 일반적으로는 한번 데이터를 기록하면 더이상 수정이 불가능하기에, 바뀔 가능성이 거의 없는 BIOS같은 소프트웨어들이 이 ROM에 저장된다. 일부 특수한 종류의 ROM은 데이터를 변경하거나 쓸 수 있다. 또한 ROM이라고해서 Random Access가 안되는 것은 아니다. 실제로 대부분의 ROM은 랜덤하게 엑세스된다. 당연히 쓰기는 대부분 안된다.

ROM은 여러가지로 분류할 수 있다. MROM, PROM, EPORM, EEPROM, FLASH 등이 여기에 속한다.

FLASH같은 경우는 사실 정의에 잘 맞지 않지만 관습적으로 펌웨어가 들어간 저장장치를 ROM이라고 불러서 ROM에 속하고 메모리 셀 수명이 다하면 읽기 전용이 되서 약간의 ROM의 성격도 가지고 있다.

 

기본적인 ROM의 구조를 살펴보겠다.

Column, Row가 있는 약간 Array같은 형태를 취하고 있다. 값이 1이면 다이오드로 위에 그림처럼 연결을 해주고 0이면 안해주면 된다. address line A0, A1에 신호가 들어오면 2:4 디코더가 4개의 row중 하나를 선택한다. 여기선 2:4디코더를 예로 들었지만 이 디코더를 Address Decoder라고 부르고 이 Address Decoder를 사용해서 일종의 인덱스를 선택한다. Address Decoder의 아웃풋이 active low기 때문에 선택된 row, 즉 word line에 low가 흘러서 다이오드의 캐소드부분에 -전압이 인가된다. bit line, 즉 column은 Vcc로 인해서 다이오드 애노드쪽에 +전압이 인가된다. 그래서 0이 Output enable signal쪽으로 내려가고, inverter가 0을 1로 바꿔줘서 아웃풋이 나온다. 

선택된 row가 output lines에 반영된다. 회로는 인터넷에서 줏어왔다.

요즘엔 다이오드 대신 MOS기술을 사용한다. pull up resistor와 diode들이 MOS 트랜지스터로 교체되었다. 기본적으로 원리는 위와 비슷하다.

 

MROM - 마스크 롬(Mask ROM)으로 불리며, 제조과정에서 물리적으로 내용을 기억시켜서 사용자가 그 내용을 변경할 수 없는 롬이다. 주조과정에서 다이(반도체 네모난 조각)에 데이터가 내장되기 때문에 마스크안에 데이터가 형성되었다라고 해서 마스크 롬이라고 부른다. 제조할 때 트랜지스터에 이온을 주입해서 기록을 한다.

읽는 셀에 Word선 전위를 0V로 인가하고 Bit선에 Vcc로 전압을 인가해서 Word 선에 전류가 흐르면 1로 판단한다. 

 

 

PROM - Programmable ROM의 약자로 1회에 한해서 새로운 내용을 기록할 수 있는 ROM을 말한다. PROM programmer나 PROM burner로 기록을 한다. 일종의 blank 버전의 ROM으로 이해하면 편하다. 

하나의 특정 path를 택하고 높은 전압을 보내서 원하지 않는 퓨즈를 태워서 프로그래밍 할 수 있다. 그러다보니 1회밖에 프로그래밍을 할 수 없다. 

 

EPROM - Erasable PROM의 약자로 필요할때 기록된 데이터를 지우고 다시 기록할 수 있는 롬이다. 자외선으로 지울 수 있는 UVEPROM(Ultra-Violet Erasable PROM)과 EEPROM(Electrically Erasable PROM)으로 나뉜다. 하지만 일반적으로 전자를 많이 가리킨다. 

EEPROM - Electrically Erasable PROM의 약자로 UVEPROM이 자외선으로 지우는 반면, EEPROM은 전기적으로만 지울 수 있는 PROM으로 칩의 한 핀에 전기적 신호를 가해줌으로써 내부 데이터를 삭제할 수 있고 한번에 1바이트만 지울 수 있다. FLASH 메모리에 비하면 지우는 속도 상대적으로 많이 느리다.

 

RAM : Random Access Memory의 약자로 말그대로 랜덤하게 액세스할 수 있는 메모리를 말한다. 어느 위치에 저장된 데이터든지 액세스(읽기, 쓰기)에 걸리는 시간이 동일하다. 이는 HDD나 플로피 디스크 등과 대조되는 특징이다. HDD나 플로피 디스크는 저장된 위치에 따라 액세스하는데 걸리는 시간이 모두 다르다. 일반적으로 전원이 공급되지 않으면 데이터가 지워지기 때문에, 휘발성 메모리라고도 불린다. 

RAM은 DRAM, SRAM, FLASH, SDRAM 등으로 나눌 수 있다. 대부분은 휘발성 메모리이지만, FLASH같은 일부 비휘발성 메모리도 RAM의 범주에 들어간다.

 

DRAM - Dynamic RAM의 약자로 캐피시터에 정보의 각 비트들을 저장한다. 캐피시터에 전자의 수에 따라서 비트 0과 1을 나타낸다. 시간이 지나면서 캐피시터가 전자를 누전해서 정보를 잃게 된다. 그래서 일정시간마다 재생을 시켜줘야해서 dynamic이라는 이름이 붙었다. SRAM보다 싸고 용량이 크다. 대신 느리다. 

SRAM - Static RAM의 약자로 DRAM과 달리 전원만 공급되면 내용은 계속 보존된다. 각각의 비트들은 네 개의 트랜지스터로 이루어진 두 쌍의 인버터에 저장된다. 두 쌍의 인버터가 0과 1의 값을 안정적으로 유지한다. DRAM보다 비싸고 용량은 더 작지만, 속도는 더 빠르다. 그래서 캐시 메모리에 주로 사용된다.

SDRAM - Synchronous Dynamic RAM의 약자로 말그대로 동기식 DRAM이다. DDR SDRAM과 SDR SDRAM으로 나뉜다. 

 

FLASH : FLASH는 EEPROM의 발전된 형태로 볼 수 있다. 요즘 펌웨어를 여기에 저장을 하기 때문에 업데이트가 과거에 비해 자유로워졌다. NOR과 NAND FLASH 메모리가 존재한다. 하지만 안전성 문제로 대부분 NAND를 쓴다. SSD도 NAND FLASH 메모리로 보조 기억 장치에 해당한다. 기계적인 구동부가 없고, 오직 전기 신호로 움직인다. 

위 그림처럼 블록과 페이지 묶어서 저장한다. 

HDD : Hard Disk Drive의 약자로 보조 기억 장치에 해당한다. SSD와는 다르게 직접 기계 장치가 돌아가면서 데이터를 읽고 쓴다. 

Disk platter가 spindle이라는 모터에 의해서 돌아가고 Disk arm이 움직인다. Disk head가 Disk platter에 데이터를 쓰거나 읽는다. 

Head actuator가 arm부분을 움직이게 한다. 정확히는 actuator가 head를 좌우로 이동할 수 있게 해준다.

r/w head가 데이터를 읽거나 쓰는 역할을 한다. head가 platter위에 일정한 간격을 지나가는 동안 자기장 극성이 바뀌면 1로 인식하고 안 변하면 0으로 인식한다. 

 

'Layer7 동아리 과제' 카테고리의 다른 글

하드웨어 3, 4차시 과제  (0) 2022.06.19
하드웨어 2차시 과제  (0) 2022.06.11
웹 해킹 8차시 과제  (0) 2022.05.25
웹 해킹 7차시 과제  (0) 2022.05.22
웹 해킹 6차시 과제  (0) 2022.05.19