'이론 관련/컴퓨터 관련'에 해당되는 글 28건

  1. 2018.04.24 I2c smbus slave interrupt
  2. 2018.03.19 haze / defog
  3. 2017.12.26 USB class - DFU(Device Firmware Upgrade)
  4. 2017.12.20 불 대수(bool algebra)
  5. 2017.04.27 DDR3 ZQ calibration
  6. 2017.04.14 MMIO 하드웨어와 소프트웨어의 결합
  7. 2017.03.06 CMT SMT?
  8. 2016.05.08 db shading
  9. 2016.02.02 h.264 헤더
  10. 2016.01.28 RAID6 (2)

I2C slave에서 마스터로 전송할 데이터가 생길 경우에는

폴링을 기다리거나, 마스터로 연결된 interrupt 핀이 있어야 한다.


Case 1: Slave has an interrupt pin


You need to connect this interrupt pin to master microcontroller. Every time the slave has some data, it should raise an interrupt. At that point, master will read the available data.


Case 2: Slave doesn't have an interrupt pin


Polling is the only option in this case. Master keeps reading all the slaves at regular interval and keeps comparing the received data with old one. If the data has changed, master will take appropriate action. You need to decide the interval according to your application. 

[링크 : https://electronics.stackexchange.com/questions/307630/slave-wants-to-send-data-to-master-in-i2c/307641]



다만 SMBUS에서는

slave가 mater 처럼 작동하여 호스트(0x08)에게 자신의 주소와 2바이트 정보는 던질 수 있도록 되어있다.

아니면 SMBALERT# 시그널을 통해 주의를 요청인데 이게 인터럽트 라인인 듯?

Arbitration in SMBus

Although conceptually a single-master bus, a slave device that supports the "host notify protocol" acts as a master to perform the notification. It seizes the bus and writes a 3-byte message to the reserved "SMBus Host" address (0x08), passing its address and two bytes of data. When two slaves try to notify the host at the same time, one of them will lose arbitration and need to retry.

An alternative slave notification system uses the separate SMBALERT# signal to request attention. In this case, the host performs a 1-byte read from the reserved "SMBus Alert Response Address" (0x0c), which is a kind of broadcast address. All alerting slaves respond with a data bytes containing their own address. When the slave successfully transmits its own address (winning arbitration against others) it stops raising that interrupt. In both this and the preceding case, arbitration ensures that one slave's message will be received, and the others will know they must retry.

SMBus also supports an "address resolution protocol", wherein devices return a 16-byte "universal device ID" (UDID). Multiple devices may respond; the one with the least UDID will win arbitration and be recognized. 

[링크 : http://www.microchip.com/forums/m/tm.aspx?m=795577&p=1]

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

I2c smbus slave interrupt  (0) 2018.04.24
haze / defog  (0) 2018.03.19
USB class - DFU(Device Firmware Upgrade)  (0) 2017.12.26
불 대수(bool algebra)  (0) 2017.12.20
DDR3 ZQ calibration  (0) 2017.04.27
MMIO 하드웨어와 소프트웨어의 결합  (0) 2017.04.14
Posted by 구차니

댓글을 달아 주세요

아이폰이나 아이패드에서 DFU 어쩌구 하길래 들어본적은 있는데

먼가해서 찾아본 건 아니고..


부트로더 관련해서 보다 보니(tivaware bootloader)

Three update protocols are utilized. On UART, SSI, I2C, and CAN, a custom protocol is used to communicate with the download utility to transfer the firmware image and program it into flash. When using Ethernet or USB DFU, however, different protocols are employed. On Ethernet the standard bootstrap protocol (BOOTP) is used and for USB DFU, updates are performed via the standard Device Firmware Upgrade (DFU) class. 

이런게 보여서 검색해보니..


USB HID class 처럼 

USB DFU class가 존재하는 표준으로 제공되는 클래스 이다.

[링크 : https://cscott.net/usb_dev/data/devclass/usbdfu10.pdf]


USB Device Firmware Upgrade (DFU) is an official USB device class specification of the USB Implementers Forum.

It specifies a vendor and device independent way of updating the firmware of a USB device. The idea is to have only one vendor-independent firmware update tool as part of the operating system, which can then (given a particular firmware image) be downloaded into the device. 

[링크 : http://wiki.openmoko.org/wiki/USB_DFU_-_The_USB_Device_Firmware_Upgrade_standard]


+

[링크 : http://www.usb.org/developers]

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

I2c smbus slave interrupt  (0) 2018.04.24
haze / defog  (0) 2018.03.19
USB class - DFU(Device Firmware Upgrade)  (0) 2017.12.26
불 대수(bool algebra)  (0) 2017.12.20
DDR3 ZQ calibration  (0) 2017.04.27
MMIO 하드웨어와 소프트웨어의 결합  (0) 2017.04.14
Posted by 구차니

댓글을 달아 주세요

대학교 1학년때 였나 2학년 전공가서 였나..

컴퓨터 구조 시간에 불 대수를 배웠는데

카르노 맵과 드모르간 법칙등이 이해가 안갔는데 이제야 차분히 보니 이해가 되네..

그때 공부를 제대로 했으면 FPGA를 다뤘을려나...


아무튼 OR는 논리합(logical disjunction) - 논리적 괴리/이접

AND는 논리곱(logical conjunction) - 논리접 결합/접속

이라는데 솔찍히 A+B 라고 논리합을 OR 표기하다 보니 거기서 혼동이 온듯..


논리표는 지긋지긋 하게들 봤을테고(?)

다시 한번 적자면 아래와 같고, 특이한 것은 바로 같은 입력 일때와 다른 입력일때의 차이이다.

A+B=R (OR)

 AxB=R (AND)

F+F=F

T+F=T

F+T=T

T+T=T

FxF=F

TxF=F

FxT=F

TxT=T


그리고 논리에서 T는 1로 치환되니

A+B=R (OR)

 AxB=R (AND)

F+F=F

1+F=T

F+1=T

T+T=T

FxF=F

1xF=F 는 곧 1xA=A

Fx1=F 는 곧 Ax1=A

TxT=T

(1+A)=1

(1A)=A

로 유도가 된다.


그리고 A+A'=T 이고 1이 되니 

(A+A')B는

(1)B

1xB = B 가 된다.


X+XY = X(1+Y) = X*1= X 로 유도


드모르간 법칙은 (X+Y)'= X'Y' 인데

(X+Y)'=R 

F+F=F가 F' = T

T+F=T가 T' = F

F+T=T가 T' = F

T+T=T가 T' = F

가 되고

AxB=R

FxF=F

TxF=F

FxT=F

TxT=T

와 비슷하게 TxT=T 인걸 뒤집으면 되니

A'xB'=R

F'xF'=TxT=T

T'xF'=FxT=F

F'xT'=TxF=F

T'xT'=FxF=F


유도는 좀 똥같은데

아무튼 (A+B)' = A'B' 라는 결론이 도출된다.

[링크 : http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788935304394]

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

haze / defog  (0) 2018.03.19
USB class - DFU(Device Firmware Upgrade)  (0) 2017.12.26
불 대수(bool algebra)  (0) 2017.12.20
DDR3 ZQ calibration  (0) 2017.04.27
MMIO 하드웨어와 소프트웨어의 결합  (0) 2017.04.14
CMT SMT?  (0) 2017.03.06
Posted by 구차니

댓글을 달아 주세요

on-die termination (ODT)

DQ (Data Strobe)


DDR3가 되면서 클럭이 올라가고

그러면서 임피던스 매칭이 더 중요하다는데..

ZQ는 도대체 머야 -ㅁ-???!


[링크 : http://www.easytv.co.kr/114] ZQ caliration

[링크 : http://www.easytv.co.kr/115] Dynamic ODT

[링크 : http://www.easytv.co.kr/120] RESET, 8bit prefetch


[링크 : http://www.nxp.com/files-static/training_pdf/VFTF09_AN111.pdf]

[링크 : https://www.micron.com/~/media/documents/products/technical-note/dram/tn4102.pdf]


[링크 : https://www.micron.com/~/media/documents/products/technical-note/dram/tn4605.pdf]

[링크 : http://cs.ecs.baylor.edu/~maurer/CSI5338/JEDEC79R2.pdf]



odroid c2의 DDR3 쪽 보는데 ZQ는 보이는데 설명이 많이 부실하네...

[링크 : https://dn.odroid.com/S905/DataSheet/S905_Public_Datasheet_V1.1.4.pdf]

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

USB class - DFU(Device Firmware Upgrade)  (0) 2017.12.26
불 대수(bool algebra)  (0) 2017.12.20
DDR3 ZQ calibration  (0) 2017.04.27
MMIO 하드웨어와 소프트웨어의 결합  (0) 2017.04.14
CMT SMT?  (0) 2017.03.06
db shading  (0) 2016.05.08
Posted by 구차니

댓글을 달아 주세요

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

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

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


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

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

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

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

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

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


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

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

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



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


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

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

불 대수(bool algebra)  (0) 2017.12.20
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 구차니

댓글을 달아 주세요

AMD에서 CMT를 밀었다 말아 먹고 SMT 구조로 온건가..

Cluster based Multi threading - CMT

[링크 : https://scalibq.wordpress.com/2012/02/14/the-myth-of-cmt-cluster-based-multithreading/]


Simultaneous multithreading - SMT/HT(Hyper Threading) 하드웨어 레벨의 멀티쓰레딩(슈퍼스칼라 cpu가 필수조건)


Chip-level multiprocessing - CMP 혹은.. SMP 일려나(Symmetric Multi Processing?)

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

[링크 : https://ko.wikipedia.org/wiki/동시_멀티스레딩]



---

가장 위의 링크를 요약하면..

AMD는 CMT 구조로 가기 위해서 트랜지스터 조낸 때려박았으나 CMT를 비활성화 하면

비활성화된 코어 갯수 만큼 ALU도 같이 비활성화 되지만


Intel의 SMT 구조는 SMT를 비활성화 하면 한쪽 코어에 ALU를 몰빵해주어서 더 성능이 오르는 구조

머.. 이런 의미인듯.



SMT는 불도저 에서 부터 마켓팅 용어로 꺼낸걸려나?

[링크 : https://en.wikipedia.org/wiki/Bulldozer_(microarchitecture)]

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

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
RAID6  (2) 2016.01.28
Posted by 구차니

댓글을 달아 주세요

샤딩이라길래 쉬이딩 오타인줄 알고 찾아봄


일단 원리는...

테이블별로 서버를 분할해서 접속하는 식으로 로드 밸런싱을 하거나

동일 테이블에서 레코드를 구분해서 밸런싱 하는 등의 방법..


[링크 : http://mongodb.citsoft.net/?page_id=225]

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

MMIO 하드웨어와 소프트웨어의 결합  (0) 2017.04.14
CMT SMT?  (0) 2017.03.06
db shading  (0) 2016.05.08
h.264 헤더  (0) 2016.02.02
RAID6  (2) 2016.01.28
file system snapshot  (0) 2016.01.28
Posted by 구차니

댓글을 달아 주세요



• Coded slice (regular VCL data),

• Coded data partition A, B, C (DPA, DPB, DPC),

• Instantaneous decoder refresh (IDR),

Supplemental enhancement information (SEI),

Sequence and picture parameter set (SPS, PPS),

• Picture delimiter (PD) and filler data (FD).

[링크 : http://iphome.hhi.de/wiegand/assets/pdfs/DIC_H264_07.pdf]

[링크 : http://stackoverflow.com/questions/12320604/embedding-metadata-to-h-264-encoded-file]


[링크 : http://egloos.zum.com/yajino/v/782492]

[링크 : http://mmlab.knu.ac.kr/Lecture/hci/multi_2008_2/H.264_AVC_2008_7.pdf]


SODB (String Of Data Bits)

RBSP (Raw Byte Sequence Payload)

NAL(Netwrok Abstract Layer)

[링크 : https://codesequoia.wordpress.com/2009/10/18/h-264-stream-structure/]



[링크 : http://vaplab.ee.ncu.edu.tw/~mktsai/data/h264_introduction.ppt]


format pdf

[링크 : http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-H.264-200305-S!!PDF-E&type=items]

[링크 : http://mmlab.knu.ac.kr/Lecture/hci/multi_2008_2/H.264_AVC_2008_4.pdf]

[링크 : http://iphome.hhi.de/wiegand/assets/pdfs/DIC_H264_07.pdf]

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

CMT SMT?  (0) 2017.03.06
db shading  (0) 2016.05.08
h.264 헤더  (0) 2016.02.02
RAID6  (2) 2016.01.28
file system snapshot  (0) 2016.01.28
tsl - test and set lock  (0) 2015.11.23
Posted by 구차니

댓글을 달아 주세요

raid5가 의외로 고자라니... ㄷㄷㄷ

raid5는 N-1의 공간 효율을 가지는데

CRC 하나라서 동시 디스크 2개 이상의 손상에 대해서는 복구할 방법이 없다.

그런데 정작 필드에서 복구율을 보면 raid 라고 하기 처참한 상황


아래 그래프가 맞자면 raid0이랑 별반 다름없는 상황인데

하드가 3년 정도 주기로 서버에서는 교체할테니 고장률 35%대..


[링크 http://linux.krauss.kr/doku.php/raid_신뢰성_고찰]


아무튼 이런 이유로 대세는 raid6 라고..

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

db shading  (0) 2016.05.08
h.264 헤더  (0) 2016.02.02
RAID6  (2) 2016.01.28
file system snapshot  (0) 2016.01.28
tsl - test and set lock  (0) 2015.11.23
SNTP - Simple NTP  (0) 2015.11.12
Posted by 구차니

댓글을 달아 주세요

  1. 레이드 정보 잘 보고갑니다~!

    2016.04.27 17:49 신고 [ ADDR : EDIT/ DEL : REPLY ]